0

私はウェブアプリに取り組んでいます。ユーザーがログインした後、$_SESSIONという名前の変数userを保存する必要があります。ただし、後でアクセスしようとすると、アクセスできません。

login.php と settings.php はどちらも AJAX 経由でアクセスされ、モーダル ウィンドウに表示されます。

login.php:

<?PHP
require("require/connect.php"); 
$errors = array();
$passed=FALSE;
if(isset($_POST['username']) && isset($_POST['password'])){
     /* Check db, no output */
     if($record->password != $password){ ?>
          /* Output login fail message */
     <?PHP }else if(intval($record->confirmed)!=1){ ?>
          /* Output email not cofirmed message */
     <?PHP }else{ ?>
         $user = clone $record;
         unset($user->password);
         session_start();
         $_SESSION['user']=$user;
         print_r($_SESSION);
         /*output success message*/
     <?PHP }; 
}else{ /*output login form*/ } ?>

プリントアウト:

Array ( [user] => stdClass Object ( [id] => 11 [timestamp] => 2013-04-07 15:20:24 [username] => aakilfernandes [email] => email@gmail.com [salt] => 4d9b0fdc1d3241b9c9 [orders] => [karma] => 0 [stocks] => 0 [confirmation_code] => ed54er68d3d [confirmation_time] => 2013-04-07 15:20:24 [confirmed] => 1 ) )   

設定.php

<?PHP
require("require/connect.php");
require("require/userdata.php");
/*other stuff*//

require/userdata.php

<?PHP session_start();
print_r($_SESSION);

プリントアウト:

Array ( )
4

1 に答える 1

0

login.php では、session_start()上に移動する必要がありrequire("require/connect.php");ました。すぐ次の行でさえ機能しませんでした。

connect.phpは行数が多すぎて出力がないため、これが何かを変更した理由はわかりません。

connect.php

<?PHP 
mysql_connect(/**/)or die("Couldn't connect to MySQL database");    
mysql_select_db(/**/) or die("Couldn't select MySQL database in connect.php");
?>
于 2013-04-07T20:14:43.483 に答える