Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: przycisk wstecz i odswiez w przegladarce
Forum PHP.pl > Forum > PHP
uczeń php
Mam formularz do zalogowania, gdzie podaje sie nazwe uzytkownika i haslo po poprawnym podaniu loginu i hasla nastepuje zalogowanie i zostaje wyswietlony link do przejscia dalej LOGIN I HASLO - prawidlowe <a href="go.php">Go next page</a> Na nastepnej stronie tj. go.php mam link do wylogowania <a href="wyloguj.php">wyloguj</a>. Problem jest taki, ze jak juz sie wyloguje to klikajac przycisk wstecz na przegladarce pojawia sie okno dialogowe - "potwierdz" po czym jesli kliknie sie OK to nastepuje przejescie do formularza tak jakby byl zalogowany uzytkownik.

Plik formularza - logowania

  1. if(isset($_POST['input_on_update']))
  2. if(!empty($_POST['login'])&&!empty($_POST['password'])){
  3.  
  4.  
  5. require 'podlaczenie_bd.php';
  6. connection();
  7.  
  8. $query_log = 'SELECT `user` FROM `database`.`admin` WHERE user = "'.$_POST['login'].'" and pass = md5("'.$_POST['password'].'");';
  9.  
  10. list($admin) = mysql_fetch_row(mysql_query($query_log));
  11.  
  12. if (isset($admin)){
  13. $_SESSION['user'] = $admin;
  14. echo 'Gratulacje - Podales prawidlowy login i haslo :)<br />
  15. <p><a href="update.php">mozesz przejsc do formularzu aktualizacji</a></p>';
  16. exit();
  17. }else{
  18. echo 'Podales zla nazwe loginu lub zle haslo :(';
  19. }
  20. }else{
  21. echo 'Wypelnij obydwa Pola - Podaj login i haslo';
  22. }
  23. ?>
  24. <html>
  25. <head>
  26. <title>Formularz logujacy do wejscia na aktualizacje</title>
  27. </head>
  28. <body>
  29. <form action="" method="post">
  30. <input type="text" name="login" value="Podaj login uzytkownika">
  31. <input type="password" name="password">
  32. <input type="submit" name="input_on_update" value="GO!">
  33. </form>
  34. </body>
  35. </html>


Plik formularza aktualizacji - update.php
  1. session_start();
  2. if(isset($_SESSION['user'])){
  3.  
  4. require 'podlaczenie_bd.php';
  5. connection();
  6.  
  7. echo 'Witaj Administratorze '.ucfirst($_SESSION['user']);
  8.  
  9. $list_tables_sql = 'SHOW TABLES FROM `database`;';
  10. echo "<br />".$list_tables_sql;
  11. $result = mysql_query($list_tables_sql);
  12. ?>
  13. <form action="" method="post">
  14. <select name="select_table">
  15. <?php
  16. if($result)
  17. while($table = mysql_fetch_row($result))
  18. {
  19. if($table[0]!=='admin')
  20. echo '<option>'.$table[0].'</option>';
  21. }
  22.  
  23. ?>
  24. </select>
  25. <input type="submit" name="submit_select_table" value="Wybierz Table" />
  26. </form>
  27. <?php
  28. if(isset($_POST['select_table'])){
  29. $name_table = $_POST['select_table'];
  30. $query = 'SELECT `tresc` FROM `database`.`'."$name_table".'`;';
  31.  
  32. if($content = mysql_query($query)){
  33. echo "<br />.Select Table $name_table<br />";
  34. }else{
  35. die("Select Table No success<br />".mysql_error());
  36. }
  37.  
  38. $tresc = mysql_fetch_assoc ($content);
  39. }
  40. if(isset($_POST['change_value_text'])){
  41. $dbquery1 = 'UPDATE `database`.`'.$_POST['wybierana_tabela'].'` SET `tresc`= \''.addslashes(htmlspecialchars($_POST['content'])).'\';';
  42. echo $dbquery1;
  43. if(mysql_query($dbquery1))
  44. echo 'Update Success';
  45. else
  46. die("Update No Success<br />".mysql_error());}
  47. ?>
  48. <form action="" method="post">
  49. <input type="text" name="wybierana_tabela" value="<?php echo $name_table; ?>"/>
  50. <textarea name="content" cols="x" rows="y"><?php echo $tresc['tresc']; ?></textarea>
  51. <input type="submit" name="change_value_text" value="UPDATE" />
  52. </form>
  53. <p><a href="logout.php">Kliknij tutaj aby sie wylogowac.</a></p>
  54. <?php
  55. }else{
  56. echo 'Chyba wpisales z palca adres url do przegladarki :)';
  57. }


Pilk wylogowujacy - logout.php
  1. unset($_SESSION);
  2. echo '<p align="center"><font size="7" color="red" face="Courier New"><b><i><u>Zostales wylogowany !!!</u></i></b></font></p>';
JoShiMa
1. Dodaj do formularza ukryte pole z wartością jakąś no uniqid (http://php.net/manual/en/function.uniqid.php)
2. Przy przetwarzaniu formularza sprawdź, czy masz już ten unikalny numer zapisany w sesji,
3. Jak nie masz to przetwarzasz formularz i zapisujesz to w sesji
4. Jak masz ten token zapisany w sesji to znaczy, że już raz przetworzyłeś ten formularz więc ignorujesz
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.