Javascript PHP与ajax(如果其他方面不起作用)和md5()?

Javascript PHP与ajax(如果其他方面不起作用)和md5()?,javascript,php,if-statement,Javascript,Php,If Statement,当我执行javascript时,这段代码说明为什么just else语句可以工作,但如果不能工作,并且当我使用md5($\u POST['password'])时无法登录??但当不使用md5时,一切都正常 请帮帮我:) 这是我的数据库 这是我的javascript <script type="text/javascript"> $(document).ready(function() { $("form#form_login").submit(functio

当我执行javascript时,这段代码说明为什么just else语句可以工作,但如果不能工作,并且当我使用md5($\u POST['password'])时无法登录??但当不使用md5时,一切都正常

请帮帮我:)

这是我的数据库

这是我的javascript

<script type="text/javascript">
    $(document).ready(function() {
        $("form#form_login").submit(function(event){ 
            event.preventDefault();
            var formData = new FormData($(this)[0]);
            $.ajax({
                type:'POST',
                url :'../assets/js/utama/login.data.php',
                data:formData,
                async:false,
                cache:false,
                contentType:false,
                processData:false,
                success:function(data){ 
                    if(data == "success")
                    {
                        window.location = '../index.php?hal=home';
                    }else{
                        alert('error');
                    }
                }
            });
        });
        return false;
    });
    </script>

$(文档).ready(函数(){
$(“表单#表单登录”).submit(函数(事件){
event.preventDefault();
var formData=新formData($(此)[0]);
$.ajax({
类型:'POST',
url:“../assets/js/utama/login.data.php”,
数据:formData,
async:false,
cache:false,
contentType:false,
processData:false,
成功:函数(数据){
如果(数据=“成功”)
{
window.location='../index.php?hal=home';
}否则{
警报(“错误”);
}
}
});
});
返回false;
});
这是我的php文件

<?php
session_start();
if(isset($_POST['email'])){
    include "../../../konten/koneksi.php";
    $email = $_POST['email'];
    $pass  = md5($_POST['password'])
    $sql_login = "select * from user where email_user ='$email ' AND password_user='$pass'";
    $run_login = mysql_query($sql_login);
    $data = mysql_fetch_array($run_login);
    if(isset($data['email_user'])){
        $_SESSION['email_user'] = $data['email_user'];
        $_SESSION['status'] = $data['status'];
    }else{
        echo "alert('errorr')";
    }
}
?>

是的,它总是会进入其他部分,因为您没有从php文件中获得eco成功,那么它怎么会进入成功!!!??
将php脚本更改为

<?php
session_start();
if(isset($_POST['email'])){
    include "../../../konten/koneksi.php";
    $email = $_POST['email'];
    $pass  = md5($_POST['password']);
    $sql_login = "select * from user where email_user ='$email ' AND password_user='$pass'";
    $run_login = mysql_query($sql_login);
    $data = mysql_fetch_array($run_login);
    if(isset($data['email_user'])){
        $_SESSION['email_user'] = $data['email_user'];
        $_SESSION['status'] = $data['status'];
        echo "success";
    }else{
        echo "error";
    }
}
?>

在您的代码中,在select查询中,$email后面有空格,并且在执行if条件时,您还需要回显成功。即兴编写php代码,如下所示:

<?php
    session_start();
    if(isset($_POST['email'])){
        include "../../../konten/koneksi.php";
        $email = $_POST['email'];
        $pass  = md5($_POST['password']);
        $sql_login = "select * from user where email_user ='".$email."' AND password_user='".$pass."'";
        $run_login = mysql_query($sql_login);
        $data = mysql_fetch_array($run_login);
        if(isset($data['email_user'])){
            $_SESSION['email_user'] = $data['email_user'];
            $_SESSION['status'] = $data['status'];
           echo "success";
        }else{
            echo "alert('errorr')";
        }
    }
    ?>
  • 您需要
    在PHP脚本响应中回显“success”
  • 分号(;)缺少
    md5($_POST['password'])

请确保数据库中的所有“密码用户”列都包含md5字符串。因此,您必须在用户注册时存储md5作为密码。数据库中有一个非md5条目用于用户“reza”。所以对于这个用户,
md5($\u POST['password'])
在数据库中不匹配


echo'success'。

您是在谈论Jquery IF语句还是PHP IF语句?请不要使用MD5作为密码。密码\u散列/password\u验证当您回显$data['email\u user']时会发生什么。此外,您容易受到SQL注入的攻击,需要修复。mysql_*函数已弃用,您需要使用PDO或mysqli_*@mkaatman。请您解释一下为什么不使用MD5作为密码?
$email = $_POST['email'];
$pass  = md5($_POST['password']);
$sql_login = "select * from user where email_user ='$email' AND password_user='$pass'";
$run_login = mysql_query($sql_login);
$data = mysql_fetch_array($run_login);
if(isset($data['email_user'])){
    $_SESSION['email_user'] = $data['email_user'];
    $_SESSION['status'] = $data['status'];
    echo "success";
}else{
    echo "error";
}