为什么它没有设置$ _SESSION?

时间:2014-09-04 22:17:19

标签: php session mysqli

我的脚本没有将值保存到$ _SESSION中,这怎么可能?

每当我的用户登录时,我都会尝试将用户名放入会话中。 我唯一的问题是当我使用var_dump($_SESSION['user_name']);调试并显示结束页面上的当前值时,我只是继续接收NULL。 有人可以帮助我吗?

这是我的代码:

    <? php
   include_once('../db/config.php');
  session_start();
  $error = '';
  if (isset($_POST['submit'])) {

      if (empty($_POST['isamp_username']) || empty($_POST['isamp_password'])) {
          $error = "Username or Password is invalid!";
      } else {
          $isamp = new mysqli($dbhost, $dbuser, $dbpass, $dbname);

          $username = stripslashes($username);
          $password = stripslashes($password);
          $username = $isamp - > real_escape_string($username);
          $password = $isamp - > real_escape_string($password);

          $username = $_POST['isamp_username'];
          $nopassword = $_POST['isamp_password'];
          $password_hash = hash('whirlpool', $nopassword);
          $password = strtoupper($password_hash); // <- Also for the Register!




          $sql = "select * from users where password='$password' AND username='$username'";
          $result = $isamp - > query($sql) or trigger_error($isamp - > error." [$sql]"); /* i have added the suggestion from MY Common Sence */
          if ($result - > num_rows == 1) {
              $_SESSION['user_name'] = $username;
              header("Location: ../../index.php");
          } else {
              $error = "Username or Password is invalid!";
          }
          $isamp - > close();
      }
  } ?>

我的HTML:

    <?php
    include('login.php');
    ?>

<h2>iSAMP</h2>
<hr/>
<form action="" method="post">
<label>Username  :</label>
<input type="text" name="isamp_username" id="name" placeholder="Username"/><br /><br />
<label>Password  :</label>
<input type="password" name="isamp_password" id="isamp_password" placeholder="*******"/><br/><br />
<input type="submit" value=" Login " name="submit"/><br />
<span><?php echo $error; ?></span>
</form>

1 个答案:

答案 0 :(得分:0)

在第一个php脚本中,将session_start()移到include语句上方。 在你的html文件中,添加session_start();在include语句之上。