我试图在成功登录后重定向用户到另一个页面(homeDemo.php),但它似乎没有重定向。我正在使用PHP

时间:2017-02-04 01:10:55

标签: php

这是我的login.php只是一个简单的哈希密码,并在成功登录后重定向用户。

if ($_SERVER["REQUEST_METHOD"] == "POST") {

  $username = mysqli_real_escape_string($db , $_POST['umail']);

  $userQuery = "SELECT username, password FROM users WHERE username = '$username'";
  $result    = mysqli_query($db, $userQuery);
  $queryRow  = mysqli_fetch_array($result, MYSQLI_ASSOC);
  $queryCount = mysqli_num_rows($result);


  $verifyPassword = password_verify($_POST['upassword'], $queryRow['password']);

  if ($verifyPassword){
    $_SESSION['username'] = $username;
    header("Location:homeDemo.php");
  }else{
    echo  "Username Or Password is invalid";
  }
  mysqli_close($db);
}

这是用户被转到

的页面
if (isset($_POST['sendList'])) {
/* $itemName = $_POST['itemName'];
 $itemQuantity = $_POST['itemQuantity'];

print_r($itemName);
print_r($itemQuantity);*/

print_r($_SESSION['username']);
$itemList = $_POST['itemList'];
print_r($itemList);

/* foreach($itemName as $key => $iName ){
   print_r($iName);
   echo " ";
 }
 foreach($itemQuantity as $key=> $iQuantity){
   print_r($iQuantity);
   echo " ";
 }*/
}

<div class="container">
   <form class="col s12" action="" method="POST">
     <div class="center-align">
       <button type="button" name="button" class="waves-effect #ff3d00 deep-orange accent-3 waves-red btn-large addField">Add a new row</button>
     </div>
     <table>
          <thead>
            <tr>
                <th class="center-align" data-field="name">Item Name</th>
                <th class="center-align" data-field="price">Item Quantity</th>
            </tr>
          </thead>
          <tbody class="listWrapper">
            <tr>
              <td>
                <div class="input-field col s6">
                  <input type="text" class="validate" name="itemList[]">
                </div>
              </td>
              <td>
                <div class="input-field col s6">
                  <input  type="text" class="validate" name="itemList[]">
                </div>
              </td>
            </tr>
            <tr>
              <td>
                <div class="input-field col s6">
                  <input type="text" class="validate" name="itemList[]">
                </div>
              </td>
              <td>
                <div class="input-field col s6">
                  <input  type="text" class="validate" name="itemList[]">
                </div>
              </td>
            </tr>
          </tbody>
      </table>
      <div class="center-btn">
        <div class="input-field col s12">
          <select class="" name="shopCenters" multiple>
            <option value="" disabled select>Select Your Preferred Shopping Center</option>
            <option value="Shoprite">Shoprite Accra Mall</option>
            <option value="MaxMart">MaxMart Osu</option>
            <option value="Marina">Marina Mall</option>
            <label for="">Shopping Center</label>
          </select>
        </div>
        <input type="submit" class="btn #ff3d00 deep-orange accent-3 center-align" name="sendList" value="SEND">
      </div>
   </form>

和我的身份验证文件,以防止用户在未登录

的情况下访问homeDemo.php文件
<?php
if(!isset($_SESSION['username']))
{
        session_start();
        header('location:Login.php');
        exit;
}
 ?>

1 个答案:

答案 0 :(得分:1)

确保session_start()$_SESSION['username']之前,否则$_SESSION['username']将没有值。

您没有提及,但我敢打赌您再次被重定向到登录页面。

<?php
session_start();

if(!isset($_SESSION['username']))
{       
    header('location:Login.php');
    exit;
}
?>

确保在使用会话数据之前致电session_start()