<?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>
Хорошо, теперь я получаю точку. Но есть еще одна проблема. Предположим, что я на странице входа в систему, у которой есть ссылка выхода. Когда я нажимаю кнопку выхода, я перенаправляюсь, чтобы войти в page.ok нет проблем, но снова, если я снова нажму кнопку «Назад», меня попросят повторно отправить данные (даже после выхода), и снова я нахожусь на странице входа в действие, почему так. Это неправильно. Что делать. все другие страницы, например, если я нажимаю на выключение buttom из кнопки upload-> перенаправляется на вход и если я нажимаю кнопку «Назад», она показывает, что вы вышли. Я не знаю, как проверить выход varibale сеанса для подписи
Из документации :
Примечание. Чтобы использовать сеансы на основе файлов cookie, необходимо вызывать session_start () перед выводом чего-либо в браузер.
Обязательно поместите session_start()
перед любым выходом.
Вы всегда можете создать сеанс независимо от того, входит ли пользователь в систему или нет. Если он войдет в систему, вы просто установите некоторый флаг в переменных сеанса, чтобы пометить его как зарегистрированный (и, возможно, восстановить ключ сеанса по соображениям безопасности).
<?php session_start() // do all the user authentication here $_SESSION['user_authenticated'] = true; // maybe more stuff.... ?> <!-- html stuff --> <body> <?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>" } ?> <!-- and so on -->
Это более или менее псевдокод, но он должен дать вам правильную идею.
Вы можете проверить свою сессию для этой страницы, чтобы включить вашу страницу сеанса на каждой странице, где вы хотите.