【发布时间】:2012-07-07 21:35:54
【问题描述】:
我正在为我的网站构建一个 PHP 登录和注册系统。如果表单字段为空,则编码要求使用 $errors[] 并用于检查输入用户名是否存在于数据库中。即使我没有输入任何信息,我也没有收到任何错误。
login.php
<?php
include 'cic/initalize.php';
if (user_exists('cassey') === true) {
echo 'exists';
}
die();
if (empty($_POST) === false) {
$username = $_POST['username'];
$password = $_POST['password'];
if (empty($username) === true || empty($password) === true) {
$errors[] = 'Please provide your username and password.';
} else if (user_exists($username) === false) {
$errors[] = 'We can\'t find the username entered, please enter a valid
username or register to continue';
}
}
?>
clients.php(用户)
<?php
function user_exists($username) {
$username = sanitize($username);
return (mysql_result(mysql_query("SELECT userId FROM clients WHERE
username = '$username'"), 0) === 1) ? true : false;
}
?>
调用 login.php 的代码
<div class="widget">
<h2>Login | Register</h2>
</div><!--End widget class tag-->
<div class="inside">
<form action="login.php" method="post">
<ul id="logIn">
<li>
Username:<br/>
<input type="text" name="username"/>
</li>
<li>
Password:<br/>
<input type="password" name="password"/>
</li>
<li>
<input type="submit" value="Login"/>
</li>
<li>
<a href="register.php">Register</a>
</li>
</ul>
</form>
</div><!--End inside class tag-->
【问题讨论】:
-
请出示调用
login.php的代码 -
我只知道非常基本的 PHP,但你不是在 'die()' 之前缺少一个 'else' 吗?
-
实际上,我认为'die'属于块内。
-
@Jon,我添加了调用 login.php 的编码 Alexandre & Ron,我不认为 die();是问题所在,我尝试了多种方法都产生相同的结果......空白页。我相信问题出在查询中,但我不确定我做错了什么。
-
需要在begin中添加:$errors = Array();
标签: php error-handling return