2017-06-14 62 views
0

所以这是我的第一篇文章,所以请原谅我的质量。无法让PHP FILTER_VALIDATE_EMAIL工作

我一直在努力寻找如何使此代码工作

<?php 
$email = isset($_POST["email"]); 
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) { 
?> 
//html 
<?php } ?> 

它总是得到“不正确的电子邮件格式”消息,即使它是一个正确的电子邮件地址。

任何想法? 谢谢。

+0

硬编码的电子邮件,并检查天气它的工作或没有'' – Sundar

+0

还可以使用这个注释来检查你的输入参数'<?php var_dump($ _ POST);有时候你可能拼错了输入参数名称 – Sundar

回答

3

你的问题是这样的一行:

$email = isset($_POST["email"]); 

isset()函数返回TRUE或FALSE,并且您存储该布尔结果在$电子邮件变量,这显然不是一个电子邮件。你大概意思是这样的:

$email = $_POST["email"] ?? '<value if not set>'; //php7 only 

或...

$email = isset($_POST["email"]) ? $_POST["email"] : '<value if not set>'; 
+0

你的第二个命题对我来说完美无缺!非常感谢。我刚刚开始使用php,但我不知道它是一个布尔值,我没有正确阅读 - “无论如何,再次感谢 –

+0

不用担心,如果我的答案解决了您的问题,请单击两个投票按钮下的绿色复选标记以标记为 – Enstage

+0

哈哈我必须等待一分钟它不会接受 –