帮助!我有一些麻烦,获取一些条件语句到我的PHP脚本的表单。只有在_POST填入时才将内容发送到变量
这是HTML的要点:
<input type="text" name="address1" id="address1" class="required" />
<input type="text" name="address2" id="address2" />
<input type="text" name="city" id="city" />
<input type="text" name="postcode" id="postcode" class="required" />
,而PHP的看起来有点像这样:
$address1 = $_REQUEST["address1"] ;
$address2 = $_REQUEST["address2"] ;
$city = $_REQUEST["city"] ;
$postcode = $_REQUEST["postcode"] ;
$message =
"address: $address1, " .
"$address2, " .
"$city, " .
"$postcode" .
$sent = mail($to, $subject, $message, 'From:' . $email_address) ;
我已经有了 '地址1' 和 '邮政编码',所以一些jQuery验证他们不是一个问题,因为他们总是会返回一个值。如果“地址2”和“城市”未填写(也许填表人没有第二行到他们的地址,或者没有按照他们的想法放入城市 - 正确 - 邮政编码是足够的在找到他们的地址时),他们仍然在电子邮件上返回一个值('没有')。
我想要发生的是对于留空的表单输入,根本没有电子邮件。换句话说,如果$ address2变量是空的,不要给我发送“空格”。例如,如果这一切都完成我得到这个,这是伟大的:
地址:1测试大街,伦敦西区,测试城市,AB1 23C
如果有一个领域缺少我会得到这一点,这是一个有点乱:
地址:1测试街,试验城市,AB1 23C
,但我想这一点,因为它的漂亮整洁:
地址:1测试街,测试城,AB1 23C
我一直试图让我的头围绕isset函数,但没有任何运气。我也尝试了一个基本的'如果'的声明,但似乎无法得到任何地方。我必须承认,php不是我的强项,我花了很多时间在这方面没有成功。非常感激你的帮助!
非常感谢,
马丁。
您的代码似乎易受电子邮件标头注入的影响。另外:''我在'address1'和'postcode'上有一些jQuery验证,所以它们不是问题,因为它们总是会返回一个值。“”你不能相信客户端验证按照你的意愿工作如果他们愿意,用户可以绕过它或制作自己的表格。 – Hammerite 2011-04-06 12:13:09
如果您使用客户端来首先显示表单,则可以绕过它。 – 2011-04-06 13:10:43