gpt4 book ai didi

php - 不使用 PHP 和 Ajax 使用 session 登录另一个页面

转载 作者:行者123 更新时间:2023-11-29 15:37:19 25 4
gpt4 key购买 nike

我正在使用 PHPAjax 使用 session 变量登录另一个页面。当我点击提交按钮时,没有任何反应。

HTML 代码如下,命名为 login.php:

<?php 

require_once "dbconnection.php";
// Initialize the session
session_start();

// Check if the user is already logged in, if yes then redirect him to welcome page
if(isset($_SESSION["loggedin"]) && $_SESSION["loggedin"] === true){
header("location: index.php");
exit;
}
?>

<div id='info'> </div>
<form method="POST" class="form-signin" name="mylogin" id="mylogin">
<div class="account-logo">
<img src="assets/img/logo-dark.png" alt="">
</div>
<div class="form-group">
<label>Email</label>
<input type="email" id="email" name="email" autofocus="" class="form-control">
</div>
<div class="form-group">
<label>Password</label>
<input type="password" name="password" id="password" class="form-control">
</div>
<div class="form-group text-right">
<a href="forgot-password.php">Forgot your password?</a>
</div>
<div class="form-group text-center">
<input type="button" value="login" id="login" name="login"
class="btn btn-primary account-btn" >
</div>
<div class="text-center register-link">
Don’t have an account? <a href="register.php">Register Now</a>
</div>
</form>

在同一页面中Ajax查询是:

<script>

$(document).ready(function (){
$('#mylogin').validate({
rules: {
password:{
required:true;

},
email:{
required:true;
email:true
}
},
messages: {
password:{
required:"Requered"

},
email:"Requered"
},

submitHandler : subform
})

function subform() {

var email = $('#email').val();
var password = $('#password').val();

var data = {

"email": email,
"password": password

$.ajax({
type: "POST",
url: "auth/logging.php", // Url to which the request is send
data: data,

// Type of request to be send, called as method
beforeSend:function () {
$('#info').fadeOut();
$('#login').html('Sending ....');
},

success: function(resp){
if(resp=="ok"){
$('#login').html('Login');
setTimeout('window.location.href="index.php";',4000);

}else{

$('#info').fadeIn(1000,function(){
$('#info').html("<div class='alert alert-danger'>" +resp+ "</div>");
$('#login').html('Login');


})
}

}
})
}
})

</script>

我的logging.php将是:

    <?php



session_start();
require_once "dbconnection.php";

if (isset($_POST['email'])) {

$email = trim($_POST["email"]);
$pass = trim($_POST["password"]);
$password = md5($pass);

$query = $mysqli->prepare("SELECT * FROM users WHERE email=?");
$query->bind_param("d",$email);
$query->execute();
$query->bind_result($id,$user,$myemail,$mypass);
$query->fetch();
if($mypass==$password){
echo 'ok';
$_SESSION['id'] = $id;
$_SESSION['user'] = $user;


}else{


echo 'emai & pass wrog';
}

?>

如有任何帮助,我们将不胜感激。

最佳答案

应该是s而不是d。它代表字符串。

$query->bind_param("s",$email);

此外,您永远不应该使用 MD5 作为密码。使用password_hash()

关于php - 不使用 PHP 和 Ajax 使用 session 登录另一个页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58109492/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com