처음으로이 문제가 발생했습니다.PHP LOST SESSION
기본적으로 login 함수를 실행하면 index.php 파일에 전달되는 세션 var을 만듭니다.
문제는 브라우저를 새로 고치거나 다른 메뉴 항목을 클릭하면 세션이 손실된다는 것입니다. 여기에 몇 가지 코드
는 :public function Login_Form()
{
if(isset($_POST['login']))
$this->login($_POST);
?>
<form action="<?php $_SERVER['PHP-SELF']; ?>" method="POST" id="form_login">
<table>
<tr>
<td>Username</td>
<td><input type="text" name="username" /></td>
</tr>
<tr>
<td>Password</td>
<td><input type="password" name="password" /></td>
</tr>
<td><input type="submit" name="login" value="Login" /></td>
</table>
</form>
<?php
}
private function login($p)
{
// OTTENGO VALORI PASSATI DAL LOGIN FORM
$username = mysql_real_escape_string($p['username']);
$password = mysql_real_escape_string(md5($p['password']));
// CONTROLLO CHE ESISTA L'UTENTE
$control = mysql_query("SELECT * FROM tareado.user WHERE username='$username' AND password='$password'");
if(mysql_affected_rows() > 0)
{
while($x = mysql_fetch_array($control))
{
$id_utente = $x['iduser'];
$_SESSION['idutente'] = $id_utente;
}
$_SESSION['username'] = $username;
//session_write_close();
header("Location: index.php"); // REDIRECT TO INDEX.PHP, NOW WE ARE IN index.php?a=log
//exit();
}
else
echo "Credenziali errate";
}
나는 index.php를으로 session_start()의 상단에 넣어,하지만 난 항상 세션을 잃게됩니다.
어떤 것이 문제 일 수 있습니까? 리디렉션?
오류가 있는지 확인하셨습니까? 모두에게 오류보고를 설정하고 예기치 않은 일이 발생했는지 아닌지 확인하십시오. – Martin