Я работаю над простым модулем входа и выхода для моего сайта без какой-либо защиты. Я использую Wamp на компьютере с Windows XP. Я создаю сеанс, когда пользователь отправляет информацию для входа в систему, которую он перенаправляет в файл process.php, который создает переменные сеанса и запускает сеанс. Теперь, если вход выполнен успешно, пользователь перенаправляется на страницу приветствия, которая содержит файл заголовка (который отображает заголовок, содержащий параметры справки о выходе из системы). Проблема заключается в том, что заголовок не изменяет ссылку входа в систему при выходе из системы, когда пользователь успешно входит в систему. Приведенный ниже код взят из process.php, который инициирует вход в систему.
$username = $_POST['username'];
$password = $_POST['password'];
//echo "{$username}:{$password}";
$connection = mysql_connect("localhost","root","");
if(!$connection)
{
die("Database Connection Failed".mysql_error());
}
$db_select = mysql_select_db("tester",$connection);
if(!$db_select)
{
die("Database Selection Failed".mysql_error());
}
$result = mysql_query("SELECT * FROM user",$connection);
if(!$result)
{
die("Database Selection Failed".mysql_error());
}
$q = "SELECT * FROM user " ."WHERE Name='".$username."' AND Password='".$password. "' ";
// Run query
$r = mysql_query($q);
if ( $obj = @mysql_fetch_object($r) )
{
session_start();
// Login good, create session variables
$_SESSION["valid_id"] = session_id();
$_SESSION["valid_user"] = $_POST["username"];
$_SESSION["valid_time"] = time();
Header('Location: welcome.php');
Следующий код взят из header.php, который включен в welcome.php
</div>
<div id = "userdetail">
<?php
if(isset($_SESSION["valid_user"]))
{
echo($_SESSION["valid_user"]." " );
echo("<a href=logout.php>Logout</a>");
}
else
{
echo("<a href = login.php>Sign In</a>");
}
?>
| Help | Search
<input type = "text" name = "searchbox" value = "" />
</div>
</div>