Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] Zaloguj i zostań na stronie
Forum PHP.pl > Forum > Przedszkole
Testosteron
Witam. We wszystkich cms'ach mechanizm logowania wygl±da w ten sposób, że po wpisaniu poprawnych danych, formularz nika a zamiast niego pojawia się kilka linków, np. wyloguj, zmiana hasła, itp. Natomiast user pozostaje na tej samej stronie. Mam taki oto skrypt:
  1. <?php
  2. include('function.php');
  3.  
  4. if(isset($_POST['iduzytkownika']) && isset($_POST['haslo']))
  5. {
  6. // jeżeli użytkownik właśnie podjął próbę zalogowania
  7. $iduzytkownika = mysql_escape_string ($_POST['iduzytkownika'] ) ;
  8. $haslo = mysql_escape_string(koduj($_POST['haslo'] ) );
  9.  
  10. connect('', 'root', 'krasnal', 'anonse');
  11. $zapytanie = 'select * from users '
  12. ."where user='$iduzytkownika' "
  13. ." and password=('$haslo')";
  14.  
  15. $wynik = mysql_query($zapytanie);
  16. if(mysql_num_rows($wynik) > 0)
  17. {
  18. // jeżeli dane są w bazie zarejestrowanie identyfikatora użytkownika
  19. $_SESSION['prawid_uzyt'] = $iduzytkownika;
  20. }
  21. }
  22. ?>
  23. <html>
  24. <body>
  25. <?php
  26. if(isset($_SESSION['prawid_uzyt']))
  27. {
  28. echo 'Użytkownik zalogowany jako: '.$_SESSION['prawid_uzyt'].'<br />';
  29. echo '<a href="wylog.php">Wylogowanie</a><br />';
  30. }
  31. else
  32. {
  33. if(isset($iduzytkownika))
  34. {
  35. // jeżeli próba logowania była nieudana
  36. echo 'Zalogowanie niemożliwe.<br />';
  37. }
  38. else
  39. {
  40. // nie było próby logowania lub nastąpiło wylogowanie
  41. echo 'Witaj <b>nieznajomy</b><br />';
  42. }
  43.  
  44. // tworzenie formularza logowania
  45. echo '<form method="post" action="login.php">';
  46. echo '<table>';
  47. echo '<tr><td>Identyfikator użytkownika:</td>';
  48. echo '<td><input type="text" name="iduzytkownika"></td></tr>';
  49. echo '<tr><td>Hasło:</td>';
  50. echo '<td><input type="password" name="haslo"></td></tr>';
  51. echo '<tr><td colspan="2" align="center">';
  52. echo '<input type="submit" value="Logowanie"></td></tr>';
  53. echo '</table></form>';
  54. }
  55. ?>
  56. <br>
  57. <a href="tylko_czlonkowie.php">Część członkowska</a>
  58. </body>
  59. </html>

Jak należy go przerobić, żeby po zalogowaniu nie przenosiło mnie do następnej strony?
Shido
Jeżeli dobrze rozumiem to ten plik to login.php
Więc wystarczy z tego:
  1. echo '<form method="post" action="login.php">';

Pozbyć się wysyłania do innej login.php
  1. echo '<form method="post">';


Jeżeli to nie jest czysty skrypt o logowania na co mog± wskazywać tagi <html><body> ( bo jeżeli includujesz jaki¶ plik to nie dajesz w nim tagów bo one - zazwyczaj - powinny już być w tym głównym pliku ) to musisz wyodrębnić cały skrypt logowania do oddzielnego pliku i tam w formularzu również nie umieszczać "action" a cały skrypt logowania includować w miejscu gdzie chcesz je mieć.

Na pewno strasznie nie zrozumiale napisałem closedeyes.gif
Testosteron
Dzięki. Niby taki szczegół a pomogło. Jak uważacie? Ten skrypt jest bezpieczny?
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.