我正在登錄腳本,並按照誰登錄我重定向到的會話信息丟失
其中一個頁面。如果我直接到一個網頁,在主目錄中的所有正常工作下的目錄,但是,如果我直接瀏覽index.php文件所在目錄之上的頁面,會話信息似乎丟失了,並且要求用戶再次登錄
我知道我可以簡單地放置第二頁在主目錄,但下面的目錄,我想知道是否有可能維持會話信息引導到一個頁面主目錄上面時
用戶進入到一個名爲login.html的頁面,當他們有投入有信息,他們被送到的login.php,這其中,重定向發生
if ($username==$dbusername&&$password==$dbpassoword)
{
if($admin == "1"){
header('location: http://www.edit.domain_name.co.uk/');
$_SESSION['username']=$username;
$_SESSION['id']=$id;
}else{
header('location: /member');
$_SESSION['username']=$username;
$_SESSION['id']=$id;
}
}
我已經把session_start();
之初每個用戶需要登錄才能訪問的頁面。任何投入將大大收到
的登錄腳本的完整代碼是
<?php
session_start() ;
$username = $_POST['username'] ;
$password = $_POST['password'] ;
################# ADMIN OR NOT ###################################################
include_once "mysql/global.php";
$result = mysql_query("SELECT admin FROM users WHERE username = '$username'");
if (!$result) {
echo 'Could not run query: ' . mysql_error();
exit;
}
$row = mysql_fetch_row($result);
$admin = $row[0];
################# ###############################################################
if ($username&&$password)
{
include "mysql/global.php";
$query = mysql_query("SELECT * FROM users WHERE username='$username'") ;
$numrows = mysql_num_rows($query) ;
if ($numrows!=0)
{
while ($row = mysql_fetch_assoc($query))
{
$dbusername = $row['username'] ;
$dbpassoword = $row["password"] ;
}
// check to see if they match!
if ($username==$dbusername&&$password==$dbpassoword)
{
if($admin == "1"){
session_start();
header('location: http://www.edit.domin_name.co.uk/admin');
$_SESSION['username']=$username;
$_SESSION['id']=$id;
}else{
session_start();
header('location: /member');
$_SESSION['username']=$username;
$_SESSION['id']=$id;
}
}
else
echo "<center>incorrect password!</center>" ;
}
else
die ("<center>That user does not exist!</center>") ;
}
else
echo ("<center>Please enter a username and password</center><br/>") ;
die ("<a href=\"index.php\"><center><b>Click here to try again</b></center></font>");
?>
題外話到你的問題,但你已經有了很多這樣的事情:''SELECT admin FROM users WHERE username ='$ username'「'。你真的想要使用準備好的語句或mysql_real_escape_string。 – 2012-03-13 21:14:01