Javascript PHP表单中的多次登录不起作用
当密码错误时,我的代码的其他部分工作正常。但是,当密码正确时,它不会进入admin.php页面。它只是停留在同一页上 有人知道为什么会这样吗Javascript PHP表单中的多次登录不起作用,javascript,php,mysql,html,Javascript,Php,Mysql,Html,当密码错误时,我的代码的其他部分工作正常。但是,当密码正确时,它不会进入admin.php页面。它只是停留在同一页上 有人知道为什么会这样吗 <?php session_start(); error_reporting(E_ALL); // to see if there is error in code include "connect_to_mysql.php"; if(isset($_POST['log'])){ $user = $_POST['user']; $
<?php
session_start();
error_reporting(E_ALL); // to see if there is error in code
include "connect_to_mysql.php";
if(isset($_POST['log'])){
$user = $_POST['user'];
$pass = md5($_POST['pass']);
$sql = mysql_query("select * from login where user= '$user' AND pass='$pass' LIMIT 3 ") or die( mysql_error());
$data = mysql_fetch_array($sql);
$UserName = $data['user'];
$Password = $data['pass'];
$type = $data['type'];
$name = $data['name'];
if($user==$UserName && $pass==$Password){
session_start();
$_SESSION['name']=$name;
if($type=='admin'){
header("location: admin.php");
}else if($type=='vender1'){
header("location: vender1.php");
}
}
}
?>
我无法测试您的代码。但是,我给你一个使用mysqli的示例。希望对你有所帮助
if(isset($_POST["btnLogin"]))
{
if(trim($_POST["txtEmail"])!=null && trim($_POST["txtPassword"])!=null)
{
$sql=$mysqli->prepare("select * from usermaster where email=?");
$sql->bind_param("s",$_POST["txtEmail"]);
$sql->execute();
$sql->bind_result($id,$email,$password,$usertype,$registerdate,$status);
if($sql->fetch()>0 && $_POST["txtPassword"]==$password)
{
$_SESSION["userId"]=$id;
$_SESSION["userName"]=$email;
$_SESSION["userType"]=$usertype;
if(strToLower($usertype)=="admin")
{
header("location:admin/manage_users.php");
}
else
{
header("location:client/edit_user.php");
}
}
else
{
$msg="Invalid Username and Password";
}
}
else
{
$msg="Enter email and password";
}
}
你好,迪普·辛格
试试这个
对于散列函数,请使用SHA1或此类加密方法
$sql=mysql_query("select * from login where user= '".$user."' AND pass='".$pass."'") or die(mysql_error());
不需要在查询中给出限制,因为用户名和密码必须是唯一的,所以我们总是只得到一条记录
不需要再次检查用户名和密码,因为我们在query right中写入了条件,只需检查行数或其他选项即可
if(mysql_num_rows($sql) > 0 )
{
// store data in session
// some actions
}
else
{
// some actions
}
希望,能帮助你。祝你好运['}有错误吗?例如:“标题已在第行发送…”。如果不检查$type
的值。顺便说一句,你的代码根本不保存,不要使用md5
进行密码散列,它很容易解密。也不要使用mysql
,它不再受支持。改为使用pdo
或mysqli
。这样,你的代码就不会受到密码散列的影响,好像你错过了发布密码一样php中的右括号code@LuthandoLoot我想他的意思是,如果这条语句if($user==$UserName&&$pass==$Password),他将停留在index.php
上
为false,您的代码没有任何作用,只需在此处输入一条else
语句,然后将代码发送到dt。amanjotkaur@gmail.com如果你的问题没有解决,我会检查一下@deepsingh@Amarjot检查你的电子邮件地址你可以给我你的数据库脚本来吧。我会发送数据库的详细信息,然后给我结构的截图重新
if(mysql_num_rows($sql) > 0 )
{
// store data in session
// some actions
}
else
{
// some actions
}