我正在尝试在PHP中使用IF AND语句来测试
$testemail
varable等于1,即PHP脚本中的有效电子邮件。如果电子邮件好,我会: 谢谢,1 //(这是正确的)并发送电子邮件
如果电子邮件不好我会得到: 谢谢,0。//(这是不对的),电子邮件仍在尝试使用错误的电子邮件地址发送。
因为脚本正在输出0或1,所以我确定它已经测试了电子邮件并正确地判断它是好还是坏(因此'0'
和'1'
)但是脚本永远不会去其他声明。我似乎无法获得IF AND声明。我尝试过"1"
和'1'
。
非常困惑。提前谢谢。
if(!filter_var($emailtmp, FILTER_VALIDATE_EMAIL))
{
$testemail = "0";
}
else
{
$testemail = "1";
}
global $testemail;
var_dump($testemail);
if (isset($_POST['submit']) && ($testemail = 1) )
{
//Everything is good, proceed
sendEmail(preg_replace(array('/<td>.*href="\?remove.*<\/td>/i', '/<th.*
<\/th>/i'), '', $_SESSION['SHOPPING_CART_HTML']));
$result_message = "Thank You. $testemail ";
}
elseif (isset($_POST['submit']))
{
//Missing Required Information
$result_message = "You must use a Valid email addresse, $testemail ";
}
答案 0 :(得分:4)
($testemail = 1)
应该是
($testemail === 1)
只有($testemail = 1)
只是将testemail的值设置为1(出于if的目的,自成功以来为真)。 ==
或者更好,但更准确的===
是您想要检查左侧&amp;正确的价值观匹配。
答案 1 :(得分:1)
问题是您将值1分配给$testemail
而不是比较它。