PHP中的会话问题

时间:2014-03-01 15:30:23

标签: php session

我有一个问题,看起来很简单,但让我发疯。

我正在尝试登录系统(注册系统准备就绪并且运行良好)。代码如下:

<!-- This is the form -->

<form role="form" action="login.php" method="POST">
   <div class="form-group">
      <label style="color: #3E4D97">Correo electrónico</label><label style="color: red;">*</label>
      <input name="username" class="form-control login-input" placeholder="Ingrese su correo electrónico">
   </div>
   <div class="form-group">
      <label style="color: #3E4D97">Contraseña</label><label style="color: red;">*</label>
      <input name="userpassword" type="password" class="form-control login-input" id="exampleInputPassword1" placeholder="Ingrese su contraseña aquí">
   </div>
   <div class="form-group text-center" style="margin-bottom: 0px;">     
      <button type="submit" class="btn btn-default btn-submit">Ingresar</button><br>
      <span class="register-label"><a href>¿Olvidaste tu contraseña?</a></span><br>
      <span class="register-label"><a href="/clickpc.com.ve/web/register.php">¿No eres usuario aún? Regístrate</a></span>
   </div>
</form>

<!-- This is the verification script -->

<?php
if(isset($_POST["username"])){
  $user_name = $_POST["username"];
  $user_password = $_POST["userpassword"];
  if(empty($user_password)){
    echo "Ingrese su correo electrónico y contraseña";
  }
  else{
    $query_result = mysql_query("SELECT email, password FROM customer WHERE email='".$user_name."'");
    $user_db = mysql_fetch_assoc($query_result);
    if(empty($user_db) || $user_password != $user_db["password"]){
      echo "Usuario invalido";
    }
    else{
      $_SESSION["log"] = "true";
      $_SESSION["user_name"] = $user_name;
      header("Location: index.php");
    }
  }
}
?>

如果我打印会话变量,数据显示正确但在index.php中没有启动($ _SESSION数组为空)。

<?php
session_start();

if(isset($_SESSION){
  $user_name = $_SESSION["user_name"];
}
else{
  $user_name = "Invitado";
}
?>

问题出在哪里?会话数据不会发送到index.php

此致

1 个答案:

答案 0 :(得分:1)

您必须将session_start()功能作为登录页面中的第一个功能。