Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/10.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会话变量停止工作_Php_Macos_Session_Mamp - Fatal编程技术网

PHP会话变量停止工作

PHP会话变量停止工作,php,macos,session,mamp,Php,Macos,Session,Mamp,我的会话变量有问题。几天前它还在工作。我使用的是mamp 3.5和PHP7.0(在mac上)。我的网站运行良好,只是电脑问题。 在windows上,一切正常,但在我的mac上,当我登录时,他创建了一个会话变量,但在下一页,会话变量为空 在我朋友的电脑上(也在mac上)它不工作 这是我的登录代码: <form method="post" action="connexion_prof.php" id="formulaire" name="formulaire" novalidate>

我的会话变量有问题。几天前它还在工作。我使用的是mamp 3.5和PHP7.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>
以及:

$sql=“从Username=”“$identifiant.”的用户中选择密码、状态、名称、Prenom、ID、状态;
$req=mysqli_query($db,$sql)或die('Erreur sql!
'.$sql.
'.mysqli_error()); $data=mysqli\u fetch\u assoc($req); $\会话['Username']=$identiant; $\会话['Nom']=$data['Nom']; $\会话['Prenom']=$data['Prenom']; $\会话['id']=$data['id']; $\会话['Statut']=$data['Statut'];
我还可以看到PHP.ini文件中存在配置差异,您使用标识符获取post请求参数(即$identifiant)而不是PHP全局$\u post数组,请尝试使用$\u post['identifiant']更改配置,看看这是否解决了您的问题;除非您手动创建了这些变量,否则不会设置这些变量,但是PHP允许将值映射到变量的配置,但是默认情况下,该配置是禁用的


让我知道这是否解决了问题

你能发布一些代码吗?经过编辑,我添加了一些代码你是否包括了
session_start()在所有文件的开头?是的,它包含在标题中的所有文件中,即使它未被使用。在我的另一台电脑(windows)上,一切正常。它只在我的mac电脑上
$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'];