【问题标题】:PHP session variables stopped workPHP会话变量停止工作
【发布时间】:2023-03-30 10:49:01
【问题描述】:

我的会话变量有问题。几天前它正在工作。我在 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'];

【问题讨论】:

  • 你能贴一些代码吗?
  • 已编辑,我添加了一些代码
  • 您是否在所有文件的开头添加了session_start();
  • 是的,它包含在标题中的所有文件中,即使它没有被使用。在我的另一台计算机(Windows)上一切正常。它只在我的 Mac 上

标签: php macos session mamp


【解决方案1】:

我还可以看到 PHP.ini 文件中存在配置差异,您使用标识符来获取发布请求参数(即 $identifiant)而不是 PHP 全局 $_POST 数组,尝试使用 $_POST['identifiant '] 看看这是否能解决您的问题;除非您手动创建了这些变量,否则它们不会被设置,但 PHP 确实允许将值映射到变量的配置,但是默认情况下禁用该配置。

如果这能解决问题,请告诉我

【讨论】:

    猜你喜欢
    • 2013-05-04
    • 1970-01-01
    • 2014-04-10
    • 2017-09-20
    • 1970-01-01
    • 2013-09-11
    • 1970-01-01
    • 2011-12-16
    相关资源
    最近更新 更多