Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] panel logowania
riddick1
post
Post #1





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 16.06.2007

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


  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. }
  9.  
  10. $zapytanie1 = mysql_connect('localhost', 'root', '') or DIE('Nie moge polaczyc z baza danych');
  11. $zapytanie2 = mysql_select_db('riddick') or DIE('Nie mozna polaczyc sie z baza danych');
  12.  
  13. $username = addslashes($_POST['login']);
  14. $password = addslashes($_POST['pass']);
  15.  
  16. $zapytanie = 'select * from riddick '."where nickname = '$username' "." and pass = '$password'";
  17. $wynik = mysql_query($zapytanie);
  18. if($wynik->num_rows > 0)
  19. {
  20. $_SESSION['user'] = $username;
  21. }
  22.  
  23. ?>
  24.  
  25. <html>
  26. <head>
  27.  
  28. </head>
  29. <body>
  30.  
  31. <form method ='POST' action = 'main2.php'>
  32. Login: <input type = "text" name = "login">
  33. Haslo: <input type = "password" name = "pass">
  34. <input type=submit>
  35. </form>
  36. </body>
  37. </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

Ten post edytował riddick1 16.06.2007, 15:47:24
Go to the top of the page
+Quote Post
Glarden
post
Post #2





Grupa: Zarejestrowani
Postów: 153
Pomógł: 2
Dołączył: 28.05.2007
Skąd: Stamtąd

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


  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. ?>
Go to the top of the page
+Quote Post
riddick1
post
Post #3





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 16.06.2007

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


Glarden nie działa (IMG:http://forum.php.pl/style_emoticons/default/sadsmiley02.gif) trochę też coś kombinowałem i z twoim kawałkiem, ale i baz skutków

Ten post edytował riddick1 16.06.2007, 16:03:08
Go to the top of the page
+Quote Post
Glarden
post
Post #4





Grupa: Zarejestrowani
Postów: 153
Pomógł: 2
Dołączył: 28.05.2007
Skąd: Stamtąd

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


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.
Go to the top of the page
+Quote Post
Kaiba Ziom
post
Post #5





Grupa: Zarejestrowani
Postów: 49
Pomógł: 0
Dołączył: 25.10.2006
Skąd: Londyn

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


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. ;-) .
Go to the top of the page
+Quote Post
riddick1
post
Post #6





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 16.06.2007

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


dzięks o to chodzi, bo ja nie chcę gotowca tylko nauczyć się php (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) )
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 22.09.2025 - 01:08