php邮件功能和if条件

时间:2014-05-21 17:41:57

标签: php email

我正在尝试在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.";
}
?>

你能建议如何解决这个问题吗?谢谢!

3 个答案:

答案 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
}