0
我有一個看起來很簡單的問題,但讓我發瘋。PHP中的會話問題
我正在嘗試做一個登錄系統(註冊系統已準備就緒並且工作正常)。代碼如下:
<!-- 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
問候
你在登錄頁面的頂部有'session_start()'? – ElefantPhace
會話數據不是「隨便發送」的,它存儲在服務器上 - 這就是與普通cookie不同的地方。 –
'session_start();'必須在每一頁的第一行!確保'session_start();'在第一行,你應該沒問題。在你的情況''<?php session_start();' – sourRaspberri