gpt4 book ai didi

php - 个人服务器无法登录

转载 作者:行者123 更新时间:2023-11-29 12:34:17 25 4
gpt4 key购买 nike

当我尝试登录时,显示“密码不正确”错误。但我知道它是正确的,因为它在我的服务器上。下面是与服务器上的登录机制交互的注册表单

这是我的代码

<table width="300" border="0" align="center" cellpadding="0" cellspacing="1">
<tr>
<td>
<form name="form1" method="post" action=
"%3C?php%20echo%20$_SERVER['PHP_SELF'];%20?%3E" id="form1">
<table width="100%" border="0" cellpadding="3" cellspacing="1">
<tr>
<td colspan="3"><strong>Member Login</strong></td>
</tr>

<tr>
<td width="78">Username</td>

<td width="6">:</td>

<td width="294"><input name="myusername" type="text" id=
"myusername" /></td>
</tr>

<tr>
<td>Password</td>

<td>:</td>

<td><input name="mypassword" type="password" id="mypassword" /></td>
</tr>

<tr>
<td>&nbsp;</td>

<td>&nbsp;</td>

<td><input type="submit" name="Submit" value="Login" /></td>
</tr>

<tr>
<td>&nbsp;</td>

<td>&nbsp;</td>

<td>
<?php include( 'config.php'); // makes sure they filled it in if (isset($_POST[ 'Submit'])){ $username=$ _POST[ 'myusername']; $password=$ _POST[ 'mypassword']; $md5_pw=m d5($password); if($username==" " || $password=="" ) { echo( 'You did not fill in a required field.'); } else{ $query=m ysql_query( "SELECT *FROM admin
WHERE user_name = '$username' ")or die(mysql_error()); $query2=m ysql_num_rows($query); if ($query2==0 ) { echo( "That user does not exist in our database. <a href=signup.php>Click Here to Register</a>"); } while($result=m ysql_fetch_array( $query )){ if($md5_pw !=$ result[ 'password']) { echo ( "incorrect password"); } else { session_start(); header( "Location: home.php"); } } } } ?></td>
</tr>
</table>
</form>
</td>
</tr>
</table>
</body>
</html>

您能帮我找出错误吗?

最佳答案

因为即使输入的密码正确并且生成该消息的代码如下,您总是收到密码不正确消息

if($md5_pw != $result['password'])
{
echo ("incorrect password");
}

很明显,$md5_pw$result['password'] 的值有些不同。您可以通过添加 echo 'md5: '.$md5_pw;echo 'password in database: '.$result['password']; 来检查值,如下

echo 'md5: '.$md5_pw;
echo 'password in database: '.$result['password'];

if($md5_pw != $result['password'])
{
echo ("incorrect password");
}

根据您的评论,$result['password'] 始终短两个字符,因此解决方案是更改数据库中 password 列的长度。

关于php - 个人服务器无法登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27032487/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com