Azure Web应用程序上的setcookie()不起作用

时间:2018-08-03 08:45:03

标签: php azure web cookies

问候大家! 我需要将我的网站上传到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来检查哪个用户正在登录。 感谢您的建议和回答!

0 个答案:

没有答案