PHP登录/注册错误
好的,我的大学讲师已经问过我用PHP创建一个登录系统。 现在我读了关于PHP看到我不熟悉它。 我使用这个代码并自己编码。
<?php
session_start();
$username = $_POST ['username'];
$password = $_POST ['password'];
if ($username&&$password) {
$connect = mysql_connect("localhost","root","") or die("Couldn't Connect");
mysql_select_db("phplogin") or die ("Couldn't find Database");
$query = mysql_query("SELECT * FROM users WHERE username='$username'")'
$numrows = mysql_num_rows ($query);
if ($numrows!=0) {
while ($row = mysql_fetch_assoc()) {
$dbusername = $row['username'];
$dbpassword = $row['password'];
}
if ( ($username==$dbusername) && ($password==$dbpassword) ) {
echo "you are in,<a href ='member.php'> Click here</a> to enter member page";
$_SESSION['username']=$dbusername;
} else {
echo "Incorrect password";
} else {
die ("That user does not exist");
}
echo $numrows;
} else {
die("Please enter a username and password")
}
?>
这是我正在使用的Index.php。 我的登录页面很简单,有2个字段:用户名和密码,带有登录和注册按钮。 一旦我从我的数据库中获得的字段中输入详细信息,就会将其显示在页面的顶部。
点击此处进入会员页面“; $ _SESSION ['username'] = $ dbusername;} else echo”不正确的密码“;} else die(”This user does not exist“); echo $ numrows;} else die(”Please输入用户名和密码“)?>
我的注册页面也有问题,其中有4个字段必须填写:用户名,电子邮件,密码和确认密码,以及注册按钮以“注册”为用户。
<?php //Register process $submit = $_POST['submit'];
//表单数据$ name = strip_tags($ _POST ['name']); $ username = strip_tags($ _POST ['username']); $ password = md5(strip_tags($ _POST ['password'])); $ confirmpassword = strip_tags($ _POST ['confirmpassword']); $ date = date(“Ymd”);
如果($ submit){
如果($ username && $ password && $ confirmpassword){//加密密码$ password = md5($ password); $ confirmpassword = md5($ confirmpassword); if($ password == $ confirmpassword){//检查字符长度if(strlen($ username)> 25 || strlen($ name)> 25){echo“用户名或名称长度太长”; } else {//检查密码长度if(strlen($ password)> 20 || strlen($ password)<5){echo“password必须在5到20个字符之间”; } else {//注册用户}}}其他回显“您的密码不匹配!”;
} else echo "Please fill in <b>all</b> feidls!"; } ?>
您的全名:选择一个用户名:选择一个密码:确认您的密码:
但是,即使在细化字段之前,这些大量的代码都会在页面的顶部出现。
25 || strlen($ name)> 25){echo“用户名或者姓名的长度太长”; } else {//检查密码长度if(strlen($ password)> 20 || strlen($ password)<5){echo“password必须在5到20个字符之间”; } else {//注册用户}}}其他回显“您的密码不匹配!”; }其他回声“请填写所有feidls!”; }?>
有人能告诉我我在这里做错了什么吗? 我使用Xamppp来创建我的数据库。
您需要在单独的行中包含内联注释和可执行代码。
你有这个:
//check character length if (strlen ($username) >25 || strlen ...
这是评论说, if声明。 它需要是这样的:
//check character length
if (strlen ($username) >25 || strlen ...
你这样做了几次: //Register process $submit = $_POST['submit']; - $ submit永远不会被定义,因为它在注释中。
干得好。 我心情很好。 我甚至添加了关闭</td>和<body>标记,因为这些标记也缺失了:
<?php
//Register process
$submit = $_POST['submit'];
//form data
$name = strip_tags($_POST['name']);
$username = strip_tags($_POST['username']);
$password = md5(strip_tags($_POST['password']));
$confirmpassword = strip_tags($_POST['confirmpassword']);
$date = date("Y-m-d");
if ($submit) {
if ($username && $password && $confirmpassword) { //encrypt password
$password = md5($password);
$confirmpassword = md5($confirmpassword);
if ($password == $confirmpassword) {
//check character length
if (strlen($username) > 25 || strlen($name) > 25) {
echo "length of Username or Name is too long";
} else {
//checks password length
if (strlen($password) > 20 || strlen($password) < 5) {
echo "password must be between 5 and 20 characters";
} else {
//registers user
}
}
} else {
echo "Your passwords to not match!";
}
} else {
echo "Please fill in <b>all</b> feidls!";
}
} // end if submit
?>
<html>
<body>
<form action='register.php' method='POST'>
<table>
<tr>
<td> Your full Name:</td>
<td><input type='text' name='name'></td>
</tr>
<tr>
<td> Choose a Username:</td>
<td><input type='text' name='username'></td>
</tr>
<tr>
<td> Choose a Password:</td>
<td><input type='password' name='password'></td>
</tr>
<tr>
<td> Confirm your Password:</td>
<td><input type='password' name='confirmpassword'></td>
</tr>
</table>
<p><input type="button" onclick="window.location.href='member.php'" value="Register"></p>
</form>
</body>
</html>
实际上,它看起来像你要求它重定向到form.html,但已经输出了一些信息给浏览器。 这会导致错误。 在输出任何内容之前,您需要尝试重定向。 所以你应该在输出之前调用有效的。
链接地址: http://www.djcxy.com/p/69229.html上一篇: PHP login/Register errors
下一篇: php
