我是PHP新手,我创建了一个登录表单和主页。我遵循了教程中所说的相同的方法,但是尽管我提供了正确的凭据,但我仍然收到“错误的详细信息”的错误。
//登录页面
**Login.php**
<?php
session_start();
include_once 'database1.php';
if(isset($_SESSION['user'])!="")
{
header("Location: index1.php");
}
if(isset($_POST['login']))
{
$email = mysql_real_escape_string($_POST['email']);
$pass = mysql_real_escape_string($_POST['password']);
$result=mysql_query("SELECT * FROM users WHERE email='$email'");
$row=mysql_fetch_array($result);
if($row['password']==md5($pass))
{
$_SESSION['user'] = $row['number'];
header("Location: index1.php");
?>
<script> alert ('haii'); </script>
<?php
}
else
{
?>
<script>alert('wrong details');</script>
<?php
}
}
?>
<html>
<body>
<form method="post" >
<label><center>EMAIL</center> <input type="text" name="email" placeholder="Your Email" required /> </label> </br>
<label>PASSWORD <input type="password" name="password" placeholder="Your Password" required /></label> </br>
<button type="submit" name="login">login</button> </br>
</br>
</form>
</html>//索引页
**index1.php**
<?php
session_start();
include_once 'database1.php';
if(!isset($_SESSION['user']))
{
header("Location: login.php");
}
$result=mysql_query("SELECT * FROM users WHERE number=".$_SESSION['user']);
$userRow=mysql_fetch_array($result);
?>
<html>
<body>
<p> welcome </p>
</body>
</html>发布于 2016-04-03 14:02:10
通常,md5字符串有32个字符。
echo md5(77); // Result: 28dd2c7955ce926456240b2ff0100bde但在您的示例中,数据库返回20个字符的截断md5字符串。
28dd2c7955ce92645624问题是您的数据库密码字段长度只有20个字符。请更改您的表,并将密码字段长度设置为32个字符,以便它可以保存完整且正确的md5字符串。
发布于 2016-04-01 23:25:48
session_start();
include_once 'database1.php';
if(isset($_SESSION['user'])!="") {
header("Location: index1.php");
}
if(isset($_POST['login'])){
$email = mysql_real_escape_string($_POST['email']);
$pass = mysql_real_escape_string($_POST['password']);
$result=mysql_query("SELECT * FROM users WHERE email='$email'");
$row=mysql_fetch_array($result);
if($row['password']==md5($pass)) {
$_SESSION['user'] = $row['number'];
echo "<script>alert('logged in');</script>"
header("Location: index1.php");
}
else {
echo "<script>alert('wrong credentials');</script>"
}
} https://stackoverflow.com/questions/36358858
复制相似问题