Closed. This question is
off-topic。它目前不接受答案。
想改进这个问题吗?
Update the question所以堆栈溢出的值小于aa>。
6年前关闭。
我是学php的新手。我很少有“php&mysql easysteps”和“Larry Ullman的php和mysql”这两本书。这些书对学习php和mysql有很大帮助,但我遇到了一个似乎无法解决的问题。
我正在创建一个带有论坛页面的网站,我认为有一个登录和注册页面是一个好主意,我使用了easysteps的书,这一切都是正确的,直到我添加了login_tools.php脚本,我已经查看了stackoverflow和其他一些网站上的常见问题,并找到了这行代码
or die("Error: ".mysqli_error($dbc));
作为回报:
Parse error: syntax error, unexpected 'else' (T_ELSE) in C:\Abyss Web Server\htdocs\login_tools.php on line 37
这是完整的php脚本:
function load($page='login.php')
{
$url='http://'.$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']);
$url=rtrim($url,'/\\');
$url.='/'.$page;
header("location:$url");
exit();
}
function validate($dbc,$user_name='', $pwd='')
{
$errors=array();
if(empty($user_name))
{
$errors[]='Enter your username.';
}
else
{
$un=mysqli_real_escape_string($dbc,trim($user_name));
}
if(empty($pwd))
{
$errors[]='Enter your password.';
}
else
{
$p=mysqli_real_escape_string($dbc,trim($pwd));
}
if(empty($errors))
{
$q="SELECT users_id,FROM users WHERE users_name='$un' AND pass=SHA1('$p')";
$r = mysqli_query($dbc,$q)
or die("Error: ".mysqli_error($dbc));
if(mysqli_num_rows($r)==1);
{
$row=mysqli_fetch_array($r,MYSQLI_ASSOC);
return array(true,$row);
}
else
{
$errors[]='Username and password not found.';
}
}
return array(false,$errors);
}
你的PHP格式不正确。
if(empty($errors))
{
$q="SELECT users_id,FROM users WHERE users_name='$un' AND pass=SHA1('$p')";
$r = mysqli_query($dbc,$q) or die("Error: ".mysqli_error($dbc));
if(mysqli_num_rows($r)==1); <------ You have a semi colon here
{
$row=mysqli_fetch_array($r,MYSQLI_ASSOC);
return array(true,$row);
}
else {$errors[]='Username and password not found.';}
}
在编写代码时考虑使用IDE。它们会自动检测这样的语法错误。
我是一名优秀的程序员,十分优秀!