Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] panel logowania
Forum PHP.pl > Forum > PHP
riddick1
  1. <?php
  2. if(!isset($_SESSION['user'])) {
  3. $_SESSION['user'] = true;
  4. $_SESSION['ip'] = $_SERVER['REMOTE_ADDR'];
  5. }
  6.  
  7. if($_SESSION['ip'] !== $_SERVER['REMOTE_ADDR']) {
  8. die('haha.gif!');
  9. }
  10.  
  11. $zapytanie1 = mysql_connect('localhost', 'root', '') or DIE('Nie moge polaczyc z baza danych');
  12. $zapytanie2 = mysql_select_db('riddick') or DIE('Nie mozna polaczyc sie z baza danych');
  13.  
  14. $username = addslashes($_POST['login']);
  15. $password = addslashes($_POST['pass']);
  16.  
  17. $zapytanie = 'select * from riddick '."where nickname = '$username' "." and pass = '$password'";
  18. $wynik = mysql_query($zapytanie);
  19. if($wynik->num_rows > 0)
  20. {
  21. $_SESSION['user'] = $username;
  22. }
  23.  
  24. ?>
  25.  
  26. <html>
  27. <head>
  28.  
  29. </head>
  30. <body>
  31.  
  32. <form method ='POST' action = 'main2.php'>
  33. Login: <input type = "text" name = "login">
  34. Haslo: <input type = "password" name = "pass">
  35. <input type=submit>
  36. </form>
  37. </body>
  38. </html>


Teraz tak, staram się napisać panel logowania, oparty na sesjach, i teraz tak moim problemem jest że czy podam czy nie podam danych i tak przechodzi do strony która jest zabezpieczona przed odczytaniem dla niezalogowanych.
Jestem początkującym, więc napewno w kodzie wyżej są jakieś idiotyczne błędy. Liczę na pomoc z waszej strony.
Wiem ze wątek był wiele razy omawiany, i analizowałem wasze odpowiedzi i kody innych, lecz no nie wychodzi i kiedy szukanie zawodzi czas się zapytać . Pozdro
Glarden
  1. <?php
  2. $zapytanie = "select pass from riddick where nickname='$username';";
  3. $wynik = mysql_query($query, $zapytanie1);
  4. //to niżej to mój sposób, większość użytkowników forum robi zupełnie inaczej
  5. while ($row = mysql_fetch_array ($wynik, MYSQL_ASSOC)) {
  6. if ($password == $row['pass']) {
  7. echo ("Witamy na stronie!");
  8. }
  9. else {
  10. echo ("Niepoprawne hasło!");
  11. }
  12. }
  13. ?>
riddick1
Glarden nie działa sadsmiley02.gif trochę też coś kombinowałem i z twoim kawałkiem, ale i baz skutków
Glarden
Wiesz co, tam jest dość sporo błędów, napisz mi na PW jak ma wyglądać ten skrypt (np. co ma robić, jeśli ktoś nie jest zalogowany i próbuje wejść na stronę), to Ci napiszę, bo nudzi mi się straszliwie.
Kaiba Ziom
Zrób to tak:
  1. <?
  2. $Username = $_POST['Username'];
  3. $Userpass = $_POST['Userpass'];
  4.  
  5. $Query = mysql_query("SELECT * FROM users WHERE Username = '$Username' AND Userpass = '$Userpass';");
  6.  
  7. if($row = mysql_fetch_assoc($Query)) {
  8. //Zalogowany
  9. } else {
  10. //Formularz
  11. }
  12. ?>

Teraz musisz tylko w bazie zrobić odpowiednią tabelę.
I zabezpiecz sobie $_POST['Username'] I ['Userpass'] .

Możesz do tego dołozyć sesje. Nic więcej ci nie zrobie. ;-) .
riddick1
dzięks o to chodzi, bo ja nie chcę gotowca tylko nauczyć się php 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.