我正在尝试在PHP中使用mail函数。在一个页面上,我有这样的形式:
<form action="sending.php" method="POST">
subject of the e-mail: <input type="text" name="subject" size="40" /><br>
recipient's e-mail: <input type="text" name="to" size="40" />
<input type="submit" name="send" value="send" />
</form>
指向其他页面。 if条件不起作用。即使我将表单的字段留空,输出也会返回正消息。
<?php
if(isset($_POST["to"], $_POST["subject"]))
{
$to=$_POST["to"];
$subject=$_POST["subject"];;
$message='hello';
mail($to, $subject, $message);
echo "The data have been sent to the e-mail address you typed in.";
}
else
{
echo "I think you forgot to type in an e-mail address and/or a subject.";
}
?>
你能建议如何解决这个问题吗?谢谢!
答案 0 :(得分:0)
尝试检查通过http发布的字符串的length
。
如果字符串需要具有电子邮件格式,则可能需要执行更复杂的检查。在javascript和PHP中找到一些用于验证电子邮件的函数并不难,寻找一些并使用最适合您的技能/代码的函数:)
答案 1 :(得分:0)
isset()
为true。您可以使用empty()
代替
if (!empty($_POST['to']) && !empty($_POST['subject']))
答案 2 :(得分:0)
如果输入元素中有name
,则始终将其传递到action
页面。你应该这样检查。
if($_POST['subject'] != "" && $_POST['to'] != ""){
//send message
}else{
//dont send message
}