我的会话变量有问题。几天前,它正在发挥作用。我在mamp 3.5和php 7.0(在mac上)。我的网站工作正常,这只是一个计算机问题。 在Windows上一切正常但在我的Mac上,当我登录时他创建了一个会话变量,但是在下一页上,会话变量是空的。
在我朋友的电脑上(在Mac上也是如此)它无效......
这是我的登录代码:
<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 :(得分:0)
我还可以看到PHP.ini文件中存在配置差异,您使用标识符来获取post请求参数(即$ identifiant)而不是PHP全局$ _POST数组,尝试使用$ _POST ['identify来更改它']并查看这是否可以解决您的问题;除非您手动创建了这些变量,否则它们不会被设置,但PHP允许将值映射到变量的配置,但默认情况下禁用该配置。
如果这可以解决问题,请告诉我