问候大家! 我需要将我的网站上传到Azure Web应用程序服务 在我这样做之前,我已经在localhost上进行了测试,并且运行良好。 但是上传后,我遇到了服务器服务器端无法在浏览器上设置cookie的麻烦。 那就是我使用cookie的帐户系统。 以下是我的index.php内容
<script>
function userlogin(){
var user_name = $('#user_name').val();
var user_password = $('#user_password').val();
if(user_name=="" && user_password==""){
$('#error_msg').text('請輸入帳號密碼');
return false;
}
if(user_name==""){
$('#error_msg').text('請輸入帳號');
$('#user_name').focus();
return false;
}else if(user_password==""){
$('#error_msg').text('請輸入密碼');
$('#user_password').focus();
return false;
};
$.ajax({
url:"login_chk.php",
data:"&user_name="+user_name+"&user_password="+user_password,
type : "POST",
beforeSend:function(){
$('#loading_div').show();
},
success:function(msg){
if(msg =="success"){
//alert(msg);
$('#error_msg').hide();
document.location.href="bucket_dashboard.php";
}else
{
$('#error_msg').show();
$('#error_msg').html('沒有此用戶或密碼不正確');
//alert(msg);
}
},
error:function(xhr){
alert('查詢發生錯誤,請洽經銷商');
},
complete:function(){
$('#loading_div').hide();
//$('#user_login').hide();
}
});
};
</script>
它是login_chk.php
header('Content-type: text/html; charset=utf-8');
include_once("db.php");
$user=htmlspecialchars($_POST["user_name"]);
$pw=htmlspecialchars($_POST["user_password"]);
$pw1=hash('sha256', $pw);
$SQL = "
SELECT
user_data.user_account,
user_data.user_passwd,
user_data.group_no,
user_group.group_id,
user_group.group_name
FROM
user_data,user_group
WHERE
user_data.user_account='$user' AND
user_data.group_no = user_group.group_no
";
$rs = $dbh -> query($SQL);
$rows = $rs -> fetch();
if ($rs -> rowCount()==1 && password_verify($pw1, $rows['user_passwd']) ){
setcookie("login", 'T', time()+60*60*24*30, "/",
"mywebsite.azurewebsites.net", false);
setcookie("account", $user, time()+60*60*24*30, "/",
"mywebsite.azurewebsites.net", false);
setcookie("group", $rows['group_name'], time()+60*60*24*30, "/",
"mywebsite.azurewebsites.net", false);
setcookie("group_ID", $rows['group_id'], time()+60*60*24*30, "/",
"mywebsite.azurewebsites.net", false);
/*if(isset($_COOKIE["login"])){
echo $_COOKIE["login"].$_COOKIE["account"].$_COOKIE["group"].$_COOKIE["group_ID"];
}*/
//else echo 'fail';
echo 'success';
}
else
echo 'no data';
$dbh = NULL;
我已通过POSTMAN向login_chk.php发送了一个POST请求,它正确地回显了“成功”,并且我的浏览器显示它没有收到任何cookie。 我需要Cookie来检查哪个用户正在登录。 感谢您的建议和回答!