droxlzcgnr639823 2018-08-03 00:45
浏览 40

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

Greeting everyone! I need to upload my website to the Azure web app services before I did it, I have tested on localhost and worked well. But after uploading, I met a trouble that the server server side couldn't set cookies on my browser. That is my account system to use cookies. Below is my index.php content

    <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>

and it is 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;

I have sent a POST request to login_chk.php with POSTMAN, and it echos "success" correctly, and my browser show it didn't receive any cookies. I need cookies to check which user is logging in. Thanks for your suggestion and answers!

展开全部

  • 写回答

0条回答 默认 最新

      编辑
      预览

      报告相同问题?

      手机看
      程序员都在用的中文IT技术交流社区

      程序员都在用的中文IT技术交流社区

      专业的中文 IT 技术社区,与千万技术人共成长

      专业的中文 IT 技术社区,与千万技术人共成长

      关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

      关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

      客服 返回
      顶部