Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Skrypt logowania
Forum PHP.pl > Forum > PHP
axweb
Napisałem kod do logowania.
Ale kombinowałem, przerabiałem aż w końcu przekombinowałem i to nie działa tak jak powinno.
Dwa razy gdy wcisne wyloguj dopiero mnie wylogowuje ;]]]
Męczę się już 2h .
Z góry dzięki za nakierowanie.

  1. <?php
  2. include ('connect.php');
  3. if(isset($_SESSION['zalogowany'])) {
  4. echo "Witaj ".$_SESSION['login'];
  5. $zapytanie = "SELECT * FROM `dane`";
  6. $wynik = mysql_query($zapytanie);
  7. echo "<p>";
  8. echo "<table boder=\"0\"><tr>";
  9. echo "<td \"><strong>Nr</strong></td>";
  10. echo "<td \"><strong>Login</strong></td>";
  11. echo "<td \"><strong>Hasło</strong></td>";
  12. echo "<td \"><strong>IP</strong></td>";
  13. echo "<td \"><strong>Data dodania</strong></td>";
  14. echo "</tr>";
  15. while ($row = mysql_fetch_row($wynik)) {
  16. echo "</tr>";
  17. echo "<td \">" . $row[0] . "</td>";
  18. echo "<td \"#104E8B\">" . $row[1] . "</td>";
  19. echo "<td \"#104E8B\">" . $row[2] . "</td>";
  20. echo "<td \"#104E8B\">" . $row[3] . "</td>";
  21. echo "<td \"#104E8B\">" . $row[4] . "</td>";
  22. echo "</tr>";
  23. }
  24. echo "</table>";
  25. include ('wyloguj.html');
  26. include ('footer.html');
  27. if(isset($_POST['wyloguj'])) {
  28.  
  29.  
  30. }
  31. }else{
  32. if(isset($_POST['wyslij'])) {
  33. if(mysql_num_rows(mysql_query("SELECT login, haslo
  34. FROM konta WHERE login = '".$_POST['login']."'
  35. && haslo = '".$_POST['haslo']."' ")) > 0) {
  36. {
  37. $_SESSION['zalogowany'] = true;
  38. $_SESSION['login'] = $_POST['login'];
  39.  
  40. header('Location: admin.php');
  41. }
  42. } else {
  43. echo "Błąd logowania";
  44. }
  45. } else {
  46. ?>
  47. <form method='POST' action='admin.php'>
  48. <br><br><br><br><br>
  49. <center>
  50. Wpisz dane logowania:
  51. </center>
  52. <br>
  53. <center>
  54. Użytkownik: &nbsp;
  55. <input type='text' name='login'>
  56. <br>
  57. <br>
  58. Hasło:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  59. <input type='password' name='haslo'>
  60. <br>
  61. <br>
  62. <input type='submit' value='zaloguj' name='wyslij'>
  63. </center>
  64. </form>
  65. <?php
  66. include ('footer.html');
  67. }}
  68. ?>
nospor
No ale pomyśl chłopie troche.... najpierw wyswietlasz
if(isset($_SESSION['zalogowany'])) {
echo "Witaj ".$_SESSION['login'];

a dopiero potem robisz session_destroy().... no wiec skoro najpierw wyswietliles tekst z sesji, a dopiero potem sesje wyczyscieles, to chyba logiczne ze tekst co wyswietlasz ci się pojawi....

Najpierw niszcz sesje, a dopiero potem patrz, czy masz co z niej wyświetlać...
axweb
hmm. Sprawdziłem i ogólny problem juz wiem że leżał po stronie header. Gdyz header działa tylko wtedy jak nie są wysłane dane.
Wystarczylo zamienic jedna linijke wyzej i działa ;]

smile.gif))
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.