Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP] Zaloguj i zostań na stronie
Testosteron
post 7.08.2012, 10:23:13
Post #1





Grupa: Zarejestrowani
Postów: 113
Pomógł: 2
Dołączył: 15.09.2011

Ostrzeżenie: (0%)
-----


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?
Go to the top of the page
+Quote Post
Shido
post 7.08.2012, 11:30:50
Post #2





Grupa: Zarejestrowani
Postów: 121
Pomógł: 22
Dołączył: 22.06.2012

Ostrzeżenie: (0%)
-----


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


--------------------
Sorka za błędy ort. jak coś dajcie znać na PW to popoprawiam.
Go to the top of the page
+Quote Post
Testosteron
post 7.08.2012, 13:55:16
Post #3





Grupa: Zarejestrowani
Postów: 113
Pomógł: 2
Dołączył: 15.09.2011

Ostrzeżenie: (0%)
-----


Dzięki. Niby taki szczegół a pomogło. Jak uważacie? Ten skrypt jest bezpieczny?
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 11.12.2019 - 02:22