Как работает перенаправление после публикации?[дубликат]
-
23-09-2019 - |
Вопрос
Возможный Дубликат:
Кнопка "Назад" для повторной отправки данных формы ($_POST)
некоторые ребята предлагают мне вместо того, чтобы редактировать вопрос, сформулировать его как новый вопрос, вот почему я это делаю...
<?php
session_start();
if(isset($_POST['username']) && ($_POST['password']))
{
$con=mysql_connect("localhost","root","");
if(!$con)
{
die('Could Not Connect:'.mysql_error());
}
mysql_select_db("tcs",$con);
$usr=$_POST["username"]; //pick username from login page
$pwd=hash('sha1',$_POST['password']); //pick password from login page and use hash algorithm to encrypt it
$query="select * from employee where Username='$usr' and Password='$pwd'"; //serch that single row in which both r found
$result=mysql_query($query,$con);
if ($result)
{
$row=mysql_fetch_array($result);
if (($row["Username"]==$usr) && ($row["Password"]==$pwd))
{
$_SESSION['employee']['id']=$row['User Id'];
$_SESSION['employee']['username']=$row['Username'];
}
else
{
echo "Login Not Successfull";
}
}
}
else
{
echo 'Error! Username & Password were not sent!';
}
$_SESSION['user_authenticated'] = true;
?>
<html>
<body bgcolor="black">
<?php
if($_SESSION['user_authenticated'])
{
echo "<font color=red>"."<h3 align=center>"."Welcome ".$_SESSION['employee']['username']."</h3>"."</font>";
echo "<br />"."<a href='upload_file.php'>"."<font color='white'>"."<h4>"."Up-Load Files"."</h4>"."<font>"."</a>";
echo "<br />"."<br />"."<a href='list_files.php'>"."<font color='white'>"."<h4>"."List All Up-Loaded Files"."</h4>"."<font>"."</a>";
}
?>
</font>
<a href="logout_file.php"><font color="white"><h3 align="right">Sign Out</h3></font></a>
<font color="white">
</body>
</html>
Хорошо, теперь я понял, в чем дело.Но есть еще одна проблема.Предположим, я нахожусь на странице входа в систему, на которой есть ссылка для выхода.Когда я нажимаю на кнопку выхода, меня перенаправляют на страницу входа. ок, никаких проблем, но снова, если я снова нажму кнопку назад, меня попросят повторно отправить данные (даже после выхода), и снова я нахожусь на странице входа в действие, почему так.Это неправильно, яр..Что с этим делать.Для всех других страниц, например, если я нажму кнопку выхода из загрузки кнопка-> перенаправлено на вход, и если я нажму кнопку назад, это покажет, что вы вышли из системы.Я не знаю, как проверить выход переменной сеанса для signinaction
как сказал мне Феликс, сэр, проверьте это http://www.thefutureoftheweb.com/blog/get-redirect-after-post
но на самом деле я не понимаю, о чем говорит этот парень.Мне жаль, что я не настолько техничен, потому что я новичок и знаю, с какой проблемой сталкиваюсь...
насколько я знаю
if (count($_POST)) { //checking how many time data is being resend.
// process the POST data
add_comment($_POST); //what this function do i dont know
// redirect to the same page without the POST data
header("Location: ".$_SERVER['PHP_SELF']); //i think it is like
//refreshing without get input again from allpication form
die;
}
Пожалуйста, объясните это, особенно что это такое $_server(;PHP_SELF)
Нет правильного решения
Другие советы
О нас $_SERVER
- видишь это.