Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/243.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript PHP表单中的多次登录不起作用_Javascript_Php_Mysql_Html - Fatal编程技术网

Javascript 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']; $

当密码错误时,我的代码的其他部分工作正常。但是,当密码正确时,它不会进入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'];
    $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
}