Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/242.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/428.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP AJAX post没有看到现有的$uCookie[';x';]_Php_Javascript_Ajax_Jquery - Fatal编程技术网

PHP AJAX post没有看到现有的$uCookie[';x';]

PHP AJAX post没有看到现有的$uCookie[';x';],php,javascript,ajax,jquery,Php,Javascript,Ajax,Jquery,我知道这是一个常见的问题,我以前遇到过,并且能够解决它,但我无法解决这个问题,所以我需要一些额外的眼睛/大脑 下面是我在使用调试器进行调试时看到的确切场景: [home page load] Session::Load() $session_uid = (new) d149f... $row = false [login page load] Session::Load() $_COOKIE['x'] (found/existing) d149f... $session_uid = d149f

我知道这是一个常见的问题,我以前遇到过,并且能够解决它,但我无法解决这个问题,所以我需要一些额外的眼睛/大脑

下面是我在使用调试器进行调试时看到的确切场景:

[home page load]
Session::Load()
$session_uid = (new) d149f...
$row = false

[login page load]
Session::Load()
$_COOKIE['x'] (found/existing) d149f...
$session_uid = d149f...
$row = data

$_COOKIE['x'] d149f...

[login page login submit] // <--- submitted via Ajax code above
Session::Load()
$_COOKIE['x'] == null // <--- Here's the problem
$session_uid = (new) 4bd87...
$row = false

$_COOKIE['x'] d149f... (original)
+
$_COOKIE['x'] 4bd87... (new created from ajax post)

好吧,我猜这是
setcookie
的路径,毕竟,将其从默认值更改为“/”可以立即明确解决问题

旧:
setcookie($cookie\u name,$session\u uid)


新:
setcookie($cookie\u name,$session\u uid,time()+60*60,“/”)

也许这个anwser可以帮助您:
$( '#btnLogin' ).on( "click", function() {
    console.debug( 'Click' );
    // Btn
    var btn = $( this );
    // Form data
    var frm = $( '#' + btn.val() );
    // Validate
    if ( !frm.valid() ) {
      return false;
    }
    btn.prop( 'disabled', true ).html( 'Please wait...' );
    var frmData = frm.serializeArray();

    // Ajax execute
    var go = $.ajax( {
      type: 'POST',
      url: '<?php echo CONTROLLER; ?>/ajax',
      dataType: 'json',
      data: frmData
    } ).done( function( results ) {
      console.debug( 'Done' );
      console.debug( results );
      // Handle Results
      if ( results['status'] === 'OK'
              && results['message']['status'] === 'active')
      {
        $( '#user_login_results' ).html( "<span class='alert alert-success'>Success! Click <a href='#' onClick='document.location.reload(true)'>here</a> to reload.</span><p></p>" );
        btn.html( 'Success!' );
<?php
$return = 'login';
if ( !empty( $_REQUEST[ 'return' ] ) ) {
  $return = htmlentities( $_REQUEST[ 'return' ] );
}
?>

        location.href = '<?php echo CONTROLLER; ?>/en/<?php echo $return; ?>';
      }
      else
      {
        console.debug( results );
        $( '#user_login_results' ).html( "<span class='alert alert-error'>Please check your username and passphrase and try again.</span><p></p>" );
        btn.prop( "disabled", false ).html( "Try Again &raquo;" );
      }
    } ).fail( function( msg ) {
      // Error results
      console.debug( msg );
      $( '#user_login_results' ).append( "<span class='alert alert-error'>Error! Please try again later.</span><p></p>" );
      btn.html( 'Error!' ).removeClass( 'btn-primary' ).addClass( 'btn-danger' );
    } ).always( function() {
      $( "body" ).scrollTop( $( "#result" ) );
    } );
  } );