PHP会话变量检查不起作用

时间:2014-07-25 08:53:17

标签: php mysql

这是我的问题我在PHP中做得更大我已经完成了一个登录页面,它在我的本地计算机上运行得很好但是在上传到Server后它无法正常工作。

会话已创建,但未发生重定向。

这是我的代码,非常感谢任何帮助。

if( isset($_POST['btn-login'])) {
      $username = $_POST['username'];
      $password = $_POST['password'];
      include 'connection.php';
      $sql="SELECT * FROM user WHERE name = '$username' AND password = sha1('$password') AND status = '1'";
      $result = mysql_query($sql);
      $result = mysql_fetch_array($result); 
      $userId = '';
      if( $result) {
        $userId = $result['id'];
        $_SESSION['userId'] = $userId;
        if( $userId == 1) {
          header("location:map.php");
        } else if( $userId == 2){
          header("location:admin/map-settings.php");
        } else {
          echo "<li class='loginError'>There is an Error in Login Please Contact Administrator</li>";
        }
      } else {
        echo "<li class='loginError'>Invalid Username or Password</li>";
      }

1 个答案:

答案 0 :(得分:0)

确保print_r($_SESSION)

如果它没有给出空数组,则会设置你的会话。

现在确保在设置&#34;位置&#34;之前,代码中没有任何内容开始输出。头。 你可以使用它来重定向你的页面

if (!headers_sent())
             $filename="map.php";
             header('Location: '.$filename);
        else {
                echo '<script type="text/javascript">';
                echo 'window.location.href="'.$filename.'";';
                echo '</script>';
                echo '<noscript>';
                echo '<meta http-equiv="refresh" content="0;url='.$filename.'" />';
                echo '</noscript>';
        }