2016-04-18 12 views
0

セッション変数に問題があります。数日前にそれは働いていた。私はmamp 3.5とphp 7.0(Mac上)です。私のウェブサイトはうまくいきます。それはコンピュータの問題です。 すべてのウィンドウでは動作しますが、Macではログインするとセッション変数が作成されますが、次のページではセッション変数が空です。 (あまりにもMac上で)私の友人のコンピュータでPHPセッション変数が動作を停止しました

それは動作しませんでした...

ここに私のログインコードです:

<form method="post" action="connexion_prof.php" id="formulaire" name="formulaire" novalidate> 
     <label for="Identifiant">Identifiant :</label> 
     <input type="text" class="form-control" id="identifiant" name="identifiant" required data-validation-required-message="Entrer un identifiant."> 

     <label for="Mdp">Mot de passe :</label> 
     <input type="password" class="form-control" id="mdp" name="mdp" required data-validation-required-message="Entrer un mot de passe."> 

     <input type="checkbox" name="cookie" id="cookie"/> <label for="cookie">Se souvenir de moi.</label> 

     <input type="submit" id="connexion" name="Connexion" value="Connexion" class="btn btn-primary"> 
</form> 

そして、ここに私のconnexion_prof.phpコードだ:

$db = mysqli_connect('localhost', 'root', 'root'); 
mysqli_select_db($db,'Projet') or die(mysqli_error()); 
は、

および:

$sql = "select Password, Statut, Nom, Prenom, ID, Statut from User where Username='".$identifiant."'"; 
$req = mysqli_query($db, $sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysqli_error()); 

$data = mysqli_fetch_assoc($req); 
$_SESSION['Username'] = $identifiant; 
$_SESSION['Nom'] = $data['Nom']; 
$_SESSION['Prenom'] = $data['Prenom']; 
$_SESSION['id'] = $data['ID']; 
$_SESSION['Statut'] = $data['Statut']; 
+0

コードを投稿できますか? – Panda

+0

編集済み、いくつかのコードを追加しました – FlorianSL

+0

すべてのファイルの先頭に 'session_start();'を含めましたか? – Panda

答えて

0

私は、PHPのグローバル$ _POST配列ではなく、ポストリクエストパラメータ(つまり$ identifiant)を取得するために識別子を使用するPHP.iniファイルに設定の違いがあることを知り、$ _POST ['identifiant']を使って変更しようとしましたこれで問題が解決されるかどうかを確認してください。これらの変数を手動で作成していない限り、変数は設定されていませんが、PHPは値が変数にマッピングされている設定を許可していますが、デフォルトでは無効になっています。

これで問題が解決するかどうか教えてください

関連する問題