Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php/mysql] nie chce mi działać autoryzacja
Forum PHP.pl > Forum > Przedszkole
Immanuel
tak wygląda kod:
  1. <?php
  2. $uzytkownik = $_POST['uzytkownik'];
  3. $haslo = $_POST['haslo'];
  4.  
  5. if(!isset($_POST['uzytkownik'])&&!isset($_POST['haslo']))
  6. {
  7. //uzytkownik musi podać identyfikator i hasło dostępu
  8. ?>
  9. <h1>Zaloguj się</h1>
  10. Ta strona jest zastrzeżona.
  11. <form method ="post" action="zastrz_baza.php">
  12. <table border="1">
  13. <tr>
  14. <th>Użytkownik</th>
  15. <td><input type="text" name="uzytkownik"></td>
  16. </tr>
  17. <tr>
  18. <th>Hasło</th>
  19. <td><input type="password" name="hasło"></td>
  20. </tr>
  21. <tr>
  22. <td colspan="2" align="center">
  23. <input type="submit" value="Zaloguj się">
  24. </td>
  25. </tr>
  26. </form>
  27. <?php
  28. }
  29. else
  30. {
  31. // połącz się z MySQL
  32. mysql_connect ("localhost","root","krasnal") or
  33. die ("Nie można połączyć się z MySQL");
  34. mysql_select_db ("uwierz") or
  35. die ("Nie można połączyć się z bazą.");
  36. // znajdź pasujący wiersz
  37. $zapytanie = "select count(*) from uwierzytelnieni_uzytkownicy where
  38. uzytkownik = '$uzytkownik' and haslo = '$haslo'";
  39.  
  40. $wynik = mysql_query($zapytanie);
  41. if(!$wynik)
  42. {
  43. echo 'Nie można wykonać zapytania.';
  44. }
  45. $wierz = mysql_fetch_row ($wynik);
  46. $ile = $wierz[0];
  47.  
  48. if ($ile > 0)
  49. {
  50. // podana kombinacja: identyfikator i hasło jest prawidłowa
  51. echo '<h1>Oto ona!</h1>';
  52. echo 'Na pewno jesteś szczęśliwy, że możesz zobaczyć tę stronę.';
  53. }
  54. else
  55. {
  56. // kombinacja: identyfikator i hasło jest nieprawidłowa
  57. echo '<h1>Niestety, nie udało się.</h1>';
  58. echo 'Nie jesteś uprawniony do przeglądania tych zasobów.';
  59. }
  60. }
  61. ?>


Tak wygląda tabela "uwierzytelnieni_uzytkownicy" w bazie "uwierz":



po wpisaniu do formularza:
uzytkownik
haslo

wyskakuje błąd 'Nie jesteś uprawniony do przeglądania tych zasobów.' O_o
nospor
1) twoj input nazywa sie hasło, a z posta pobierasz haslo
2) w bazie trzymasz hasla w postaci jawnej? Bo tak wynika z selecta
Immanuel
dziękuję nospor
rzeczywiście jedna literka winksmiley.jpg

odpowiedź na twoje pytanie: TAK, hasła są w postaci jawnej

i jeszcze jedno: Jak po wpisaniu hasła wyświetlić odpowiednią stronę ?
Tylko bezsensowne chyba by było wyświetlanie jakiegoś pliku np. admin.html
Wypisać treść w echo ?
nospor
Cytat
Jak po wpisaniu hasła wyświetlić odpowiednią stronę

zapisujesz strone w jakims innym pliku a po zalogowaniiu robisz:
  1. <?php
  2. include('jakispplik.php');//tudziez jakisplik.html
  3. ?>

To taki najprostrzy sposob.

Cytat
hasła są w postaci jawnej
zmien to natychmiast. w bazie masz trzymac hasla shashowane (md5(), sha1(), inne). Ucz sie dobrych nawykow od samego poczatku
Immanuel
zmienię tongue.gif
ale mam w firewallu ustawione: dopuść tylko 127.0.0.1/255.255.255.0 winksmiley.jpg
także nikt mi się chyba nie wbije
nospor
ale przeczytaj jeszcze raz co napisalem:
Cytat
Ucz sie dobrych nawykow od samego poczatku
to, ze ty to sobie na lokalu bedziesz robil, to nie znaczy ze masz uczyc sie zlych nawykow. masz sie uczyc dobrych tongue.gif
No przeciez kiedys wyjdziesz poza localhost

chodzi tez oto, ze majac hasla w postaci jawnej, to ty widzisz hasla uzytkownikow, a ja przykaldowo nie chcialbym zeby jakis admin znal moje hasla.
Immanuel
Cytat
zapisujesz strone w jakims innym pliku a po zalogowaniiu robisz:
  1. <?php
  2. include('jakispplik.php');//tudziez jakisplik.html
  3. ?>


jeszcze jedno pytanie: a jak chcę przekazać zmienne do tego pliku ? to jak to zrobić ?
np. ktoś coś wpisuje do formularza, a w "jakispplik.php" mogę dalej z nich korzystać
nospor
Cytat
ktoś coś wpisuje do formularza, a w "jakispplik.php" mogę dalej z nich korzystać

dane z forma dostepne sa w $_POST. jest to tablica super globalna i jest widoczna równiez w includowanych plikach
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.