我有一个问题,看起来很简单,但让我发疯。
我正在尝试登录系统(注册系统准备就绪并且运行良好)。代码如下:
<!-- 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
此致
答案 0 :(得分:1)
您必须将session_start()
功能作为登录页面中的第一个功能。