登录don';在PHP中登录后,不要重定向到管理索引页面
大家好,下面的代码不起作用,将我重定向到管理索引页面。 请注意,数据库连接已成功建立,当我在登录页面上输入数据时,成功登录后它不会将我指向adminindex页面,而是将页面刷新到同一页面“test.php”,并打印“该信息不正确”的失败消息登录don';在PHP中登录后,不要重定向到管理索引页面,php,mysqli,Php,Mysqli,大家好,下面的代码不起作用,将我重定向到管理索引页面。 请注意,数据库连接已成功建立,当我在登录页面上输入数据时,成功登录后它不会将我指向adminindex页面,而是将页面刷新到同一页面“test.php”,并打印“该信息不正确”的失败消息 <?php session_start(); if (isset($_POST['email']) && isset($_POST['password']) && isset($_POST['pincode'])
<?php
session_start();
if (isset($_POST['email']) && isset($_POST['password']) &&
isset($_POST['pincode'])) {
$email=$_POST['email'];
$pass=$_POST['password'];
$pin=$_POST['pincode'];
include('db_conx.php');
$sql = "SELECT admin_id FROM admin WHERE email='$email' AND password='$pass'
AND pincode='$pin' LIMIT 1";
$query=mysqli_query($dbc,$sql);
$line = mysqli_num_rows($query);
if ($line == 1){
while($row=mysqli_fetch_array($query)){
$id = $row['admin_id'];
}
$_SESSION['admin_id']=$id;
$_SESSION['email']=$email;
$_SESSION['pincode']=$pin;
header("Location: adminindex.php");
exit();
}else {
echo 'That information is incorrect, try again <a href="index.php">Click Here</a>';
exit();
}
}
?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head></head>
<body>
<h1>Welcome to Admin page login</h1>
<br>
<form id="form1" name="form1" method="post" action="test.php">
Email:<br />
<input name="email" type="text" id="email" size="40" />
<br /><br />
Password:<br />
<input name="password" type="password" id="password" size="40" />
<br>
<br /><br />
Pincode :<br />
<input name="pincode" type="number" id="pincode" size="40" />
<br>
<input type="submit" name="button" id="button" value="Log In" />
</form>
</body>
</html>
欢迎登录管理员页面
电子邮件:
密码:
Pincode:
在您的源代码中,在第一个“打印行数”之前是否有空格,我猜它的为0
,如4所述(仔细查看您的查询后)-看起来您的查询应该总是只返回1条记录-唯一的情况当然是如果查询失败或没有按照您在本例中的预期运行。您可以接受SQL注入。请参数化查询。不要存储纯文本密码,对其进行散列。感谢@FillardMillmore,查询仅在输出时返回,在其中,它应该是基于输入的正确管理,仍然不起作用,我知道我的代码是开放的SQL注入,但它是作为一个测试,因为我想进一步,然后这个,但我甚至不能通过这个阶段。