我正在为我建立的表格而苦苦挣扎,需要你们那些善良的人帮助。我已经尝试了一些技术,使用我对数组的非常基本的知识以及内爆和空函数,但我仍然被卡住......
这是HTML的基本版本:
<input type="radio" name="os_used" class="radio" value="windows" />
<input type="radio" name="os_used" class="radio" value="mac" />
<input type="radio" name="os_used" class="radio" value="other" />
<input type="text" name="os_name" class="text" />
这是使用上述HTML的PHP:
$os_used = $_REQUEST["os_used"] ;
$os_name = $_REQUEST["os_name"] ;
$message = "operating system: $os_used ($os_name)" ;
然后将该邮件发送到我的电子邮件地址。
在表单上,如果选择了名为“other”的输入,则会出现“os_name”文本框,提示用户指定他们使用的操作系统。然后,在我提交表单后发送的电子邮件中返回。唯一的问题是,99%的情况下,'other_os'将不会被选中,我会在电子邮件中找到它:'operating system:mac()'或'operating system:windows()'。因此,如果选择“其他”单选按钮,我只想显示括号,返回类似“操作系统:其他(linux)”的内容,如果'mac'或'windows',则括号不会出现地选择。
所以我的想法是括号必须在$ os_name变量的任一侧连接并设置为一个变量本身只会出现在$ os_name在表单上输入任何类型值的条件下。我很难过!
感谢您的时间,
马丁。
答案 0 :(得分:2)
尝试以下代码。
$os_used = $_REQUEST["os_used"] ;
$os_name = $_REQUEST["os_name"] ;
if ($os_name) {
$message = "operating system: other ($os_name)";
} else {
$message = "operating system: $os_used";
}
答案 1 :(得分:1)
()=括号。 [] =括号。 一个重要的区别。
$message = "Operating System: $os_used ";
if ($os_name!="") $message.="($os_name)";
答案 2 :(得分:1)
你实际上想要检查它不仅仅是空格,你可以使用trim()。
$formatted_os = trim($os_name)? '('.$os_name.')' : '';
在您提交$_REQUEST['os_name']
之后和创建消息之前,请坚持下去。可选择代替使用第二个变量$formatted_os
,您可以覆盖$os_name
。