我是一名新程序员,我尝试了很多不同的方法来验证我的代码,但显然我做得完全错误。如有任何帮助,我们将不胜感激。我仍在验证这个名字。这个版本显然没有意义,但我无论如何都无法让它发挥作用。
<?php
require_once ('includes/classes/database.php');
require_once('includes/classes/user.php');
require_once('includes/header.php');
// if user submits a new registration
if (isset($_POST['name'],$_POST['email'],$_POST['pwd'],$_POST['pwd2']))
{
if(strlen(trim($_POST['name'])) <= 20)
{
return (true);
return $name;
}
else
{
return (false);
}
// validate input fields
//$name = $_POST['name'];
$email = $_POST['email'];
$password = $_POST['pwd'];
$password2 = $_POST['pwd2'];
// if error fall through and redisplay page with errors
// if no errors update database and redirect to homepage
if ($uc->add_member($name, $email, $password) === FALSE)
{
echo "System Error. damn if I know what to do";
}
else
{
header("location: homepage.php");
}
}
?>
if(strlen(trim($_POST['name'])) <= 20)
{
return (true);
return $name;
}
else
{
return (false);
}
一旦函数命中return
语句,PHP就会结束该函数。这将使其返回TRUE
或FALSE
,具体取决于名称的长度。在此之后,程序的其余部分将不会运行。
此外,不能有两个这样的返回语句。
return (true);
return $name;
将返回TRUE
,而return $name
将不会运行。
if (strlen(trim($_POST['name']))<=20)
{
return (true); }
else
{
return (false);
}
只要把退货名称写出来就行了。然后它就会起作用。
这是一个奇怪的代码。
正如其他人指出的那样,双重回报的做法行不通。
此外,===false部分是可疑的,您是否检查它的评估结果是false,或者实际上是false,===可能太多了,===很可能会完成任务。您还没有发布任何来自该类的代码,以便我们检查===在这种情况下是否正常。
对它进行一些更改,并尝试发布关于实际问题的实际问题,而不是"这不太正确,你能调试整个脚本吗?"。