我已经创建了一个AJAX登录系统,我通过ajax $ .post请求将数据发送到login.php并且它成功运行。但是我想在login.php中设置cookie我的不行,为什么我的代码如下所示为Login.php for ajax request
<?php
include ($_SERVER['DOCUMENT_ROOT'] . '/datastore/sqlconnect.php');
$email = $_POST['email'];
$password = CryptoLib::g_encode($_POST['password']);
$query = mysqli_query($con, "SELECT f_name, password from `tablename` WHERE email='$email'");
$data = mysqli_fetch_array($query);
$pass = $data['password'];
if($password == $pass)
{
$cookiedata = CryptoLib::g_encode($data['f_name']);
setcookie('client',$cookiedata);
echo 'success';
}
else
{
echo 'failed';
}
?>
我的登录页面
<script type="text/javascript">
$(document).ready( function() {
$("#sidebarform").submit( function() {
$("#loginbtn").attr("disabled", "disabled");
$("#loginbtn").attr("value", "Logging in...");
event.preventDefault();
$.post('ajaxhandlers/login.php',
$("#sidebarform").serialize(),function( result ) {
if( result == 'success' ) {
$("#msg").html("Logged in Successfully");
window.location="index.php";
}
else {
$("#msg").html("Invalid Username or Password");
$("#loginbtn").attr("value", "Login");
$("#loginbtn").removeAttr("disabled");
}
});
});
});
</script>
答案 0 :(得分:1)
使用此(或其他^^)jQuery Cookie插件:
https://github.com/carhartl/jquery-cookie
创建Cookie:
$.cookie('the_cookie', 'the_value', { expires: 7, path: '/' });
阅读Cookie:
$.cookie('the_cookie'); // => "the_value"
$.cookie('not_existing'); // => undefined
祝你好运。
答案 1 :(得分:0)
它为Guys工作。问题是我设置cookie的脚本位于文件夹中。所以我这样做是为了解决setcookie(“客户”,'数据',0,'/');
它就像一个魅力。 :)感谢所有人的支持