javascript - 登录未执行

标签 javascript php jquery html

我已经创建了一个登录页面,但无法正常工作。 我的 HTML 是:

   <form name="form" class="login-form" method="POST"> 
      <input type="text" placeholder="username" name="userID" id="userID"/>
      <input type="password" placeholder="password" id="password" name="password"/>
      <input type="button" id="login" name="login" value="login" onclick="redirect()"></input>

我的 JS 是:

        <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script>
         <script type="text/javascript">
        $(document).ready(function redirect(){
        $("#login").click(function(){
        var user = $('#userID').val(); 
        var passwrd = $('#password').val();
        if (user === '' || passwrd === ''){
        alert("Please Fill Required Fields");
        } 
else{
        <?php confirm();?>
        var userID="<?php echo $username?>";
        var pwd="<?php echo $pwd?>";
        if(userID===user && pwd===passwrd)
        {
        window.location.href = 'http://localhost/Annapoorna/Welcome_Page.php';
        }
        else
      {
         alert("Please enter correct username and password!");
      }
        }
    });
});
</script>

PHP 是:

 <?php
      function confirm(){
        try{
        $username="";
        $pwd="";
        $pword="";
        $servername = "localhost";
        $conusername = "root";
        $conpassword = "";
        $dbname = "annapoorna";
        $dsn='mysql:dbname='.$dbname.';host='.$servername;
        $conn = new PDO($dsn, $conusername, $conpassword);
        $get_pass=$_POST(['password']);
         if(!empty($get_pass))
         {
        $sqlselect='Select * from users where password=:pass';
        $sth=$conn->prepare($sqlselect);
        $sth->execute(array(':pass'=>$get_pass));
        foreach ($sth->fetchAll() as $row) {
        $username=$row['username'];
        $pwd=$row['password'];
        }
        }
        } 
catch(PDOException $e){
    echo "Error: " . $e->getMessage();
     }}
   ?>     

它仅适用于在针对“:pass”的查询中输入的静态密码值。为什么它不能动态工作? 所以我认为问题在于从前端获取数据。 祈祷,告诉我什么恶魔在我的代码上盘旋。

最佳答案

你可以这样使用

<form name="form" class="login-form" method="POST"> 
      <input type="text" placeholder="username" name="userID" id="userID"/>
      <input type="password" placeholder="password" id="password" name="password"/>
      <input type="button" id="login" name="login" value="login" onclick="redirect()"></input>
</form>
<script type="text/javascript">
$(document).ready(function redirect(){
    $("#login").click(function(){
        var user = $('#userID').val(); 
        var passwrd = $('#password').val();
        if (user === '' || passwrd === ''){
            alert("Please Fill Required Fields");
        } 
        else {
            $.ajax({
                url: "validate.php",
                type: "post",
                data : {
                    username: user,
                    password: passwrd
                },
                success: function(data){
                    alert(data);
                    if(data=="ok"){
                        window.location.href="http://localhost/Annapoorna/Welcome_Page.php";
                    }
                }
            });
        }
    });
});
</script>

和validate.php文件

<?php
$servername = "localhost";
$conusername = "root";
$conpassword = "";
$dbname = "annapoorna";
$dsn='mysql:dbname='.$dbname.';host='.$servername;
$conn = new PDO($dsn, $conusername, $conpassword);

$username=$_POST['username'];
$password=$_POST['password'];       

$sqlselect="Select * from users where username='".$username."' and password='".$password."'";
$sth=$conn->prepare($sqlselect);
$sth->execute();

$status="";
foreach ($sth->fetchAll() as $row) {
    $status="ok";
}
echo $status;
?>

关于javascript - 登录未执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37537778/

相关文章:

php - 我应该找到缺少网站首页的解决方法吗?

javascript - 如何使用 html5 event.dataTransfer 传输整个元素?

javascript - 从 JS 脚本创建一个可嵌入的 "widget"

javascript - 如何在nodejs中使用客户端js代码

javascript - 如何使用对象 MVC 5 C# 的 Javascript 列表填充 razor DropDownListFor

php - 网址 $_GET 将不起作用

php - fatal error : call to undefined excuteQuery() processmaker at class. pmScript.php(208)

javascript - jquery xml解析问题

javascript - Angular 自定义验证器不反射(reflect) View 中的更改

javascript - React - 如何处理多个部分的网站?如何扩展 react 应用程序?