【发布时间】:2013-12-05 23:03:34
【问题描述】:
我在 php 中有一个 isset 检查,使用 if 语句检查各种函数是否返回 false。问题是,它不会在第一次错误返回后退出。
我确定我缺少 php 语法中的一些基本内容。
<?php
$name = $_POST['name'];
$email = $_POST['email'];
$email2 = $_POST['email2'];
function nameCheck($name)
{
if (strlen($name)<1 || strlen($name)>40)
{
return false;
}
else
{
return true;
}
}
function emailCheck($email)
{
$regex = "/^[*\w]{1,25}+@[*\w]{1,20}+\.[*\w]{1,10}$/";
if (preg_match($regex, $email))
{
return true;
}
}
function emailMatch($email, $email2)
{
if ($email === $email2)
{
return true;
}
else
{
return false;
}
}
if (isset($_POST['submit']))
{
if (!nameCheck($name))
{
echo '<script type="text/javascript"> alert("Fail name!")</script>';
return false;
}
elseif (!emailCheck($email))
{
echo '<script type="text/javascript"> alert("Fail email check!")</script>';
return false;
}
elseif (!emailMatch($email,$email2))
{
echo '<script type="text/javascript"> alert("Fail email match!")</script>';
return false;
}
else
{
mail ("email@email.com", "this", "message");
echo '<script type="text/javascript"> alert("Success!")</script>';
}
}
?>
我正在使用警告框向代码发送文本。 不仅会显示每个警报框,甚至会显示成功的警报框! 我究竟做错了什么?交易
这只是我为了考试而玩的代码,我实际上不需要在网站上使用它,所以只是练习。
【问题讨论】:
-
return truel;是错字吗? -
另外——如果你的主代码中有一个
return——它应该做什么?它没有返回的调用函数。 -
您是否只想在您的某个函数返回 false 时停止执行代码?在这种情况下,您需要将那些
return调用与die切换:if (! nameCheck) { die('<script...'); }应该这样做。 -
我会添加一个答案 - 还有更多空间:D
标签: php if-statement return isset