Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Gdzie robię błąd - logowanie sesja
Turson
post
Post #1





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


Form
  1. <?PHP
  2. echo '<div class="newsinfo">
  3. <span class="title">Logowanie</span></div>';
  4. if(($_SESSION["zalogowany"])==0){
  5. echo "<table><form action=index.php?id=login2 method=post>";
  6. echo "<tr><td>Login:</td> <td><input type=text maxlength=15 name=login class=in></td></tr><br>";
  7. echo "<tr><td>Hasło:</td> <td><input type=password name=haslo maxlength=15 class=in></td></tr><br>";
  8. echo "<input type=hidden value=1 name=send><br></table><br>";
  9. echo "<input type=submit value='Zaloguj się' class=button>";}
  10. else echo "Jesteś zalogowany!";
  11. ?>

Logowanie
  1. <?PHP
  2. if($_POST["send"]==1){
  3. if(!empty($_POST["login"]) && !empty($_POST["haslo"])){
  4. if(mysql_num_rows(mysql_query("select * from users where user_login = '".htmlspecialchars($_POST["login"])."' AND user_haslo = '".htmlspecialchars(md5($_POST["haslo"]))."'"))){
  5. echo 'Zalogowano poprawnie jako '.$_POST["login"].'. <a href=index.php>Przejdz na strone główna</a>';}
  6.  
  7. $_SESSION["zalogowany"]=true;
  8. $haslo = @mysql_query("SELECT user_id FROM users WHERE user_id='$_POST[login]'");
  9. while ($wiersz2 = mysql_fetch_array($haslo)) {
  10. $_SESSION["id"] = $wiersz2[0]; }
  11.  
  12. }
  13. else echo ("Podano złe dane!!!");
  14. }
  15. else echo "Pole loginu i hasła nie zostało uzupełnione.";
  16. }
  17. else{
  18. $haslo = @mysql_query("SELECT admin FROM users WHERE user_id='$_POST[login]'");
  19. while ($wiersz = mysql_fetch_array($haslo)) {
  20. if($wiersz[0] == 1) {
  21. $_SESSION["admin"]=1; }}
  22. ?>


Komunikaty nie są wyświetlane tak jak powinny
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
darko
post
Post #2





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

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


Poprawiłem formatowanie:
  1. function ShowLogin(/*$komunikat = ""*/)
  2. {
  3. return '<table><form action="index.php?id=login2" method="post">' .
  4. '<tr><td>Login:</td> <td><input type="text" maxlength="15" name="login" class="in" value="' . $_POST['login'] . '" /></td></tr><br/>' .
  5. '<tr><td>Hasło:</td> <td><input type="password" name="haslo" maxlength="15" class="in" value="' . $_POST['haslo'] . '" /></td></tr><br>' .
  6. '<input type="hidden" value="1" name="send"><br/></table><br/>' .
  7. '<input type="submit" value="Zaloguj się" class="button">' .
  8. '<br/><a href="index.php?id=recovery_pass">Zapomniałem hasła</a>';
  9. }
  10.  
  11. if($_POST["send"]==1)
  12. {
  13. if(!empty($_POST["login"]) && !empty($_POST["haslo"]))
  14. {
  15. $result = mysql_query(
  16. "select
  17. *
  18. from users
  19. where
  20. user_login = '" . htmlspecialchars($_POST["login"]) . "'
  21. AND user_haslo = '" . htmlspecialchars(md5($_POST["haslo"])) . "'") or die(mysql_error());
  22.  
  23. if(mysql_num_rows($result) == 1)
  24. {
  25. echo 'Zalogowano poprawnie jako '.$_POST["login"].'. <a href=index.php>Przejdz na strone główna</a>';
  26. $_SESSION["zalogowany"] = true;
  27. $haslo = mysql_query("SELECT user_id FROM users WHERE user_login='" . $_POST['login'] . "'");
  28. while ($wiersz2 = mysql_fetch_array($haslo))
  29. {
  30. $_SESSION["id"] = $wiersz2[0];
  31. }
  32. }
  33. else
  34. {
  35. echo "Podano złe dane. Popraw je, a następnie spróbuj zalogować się ponownie.";
  36. echo ShowLogin();
  37. }
  38. }
  39. else
  40. {
  41. $haslo = mysql_query("SELECT admin FROM users WHERE user_login='" . $_POST['login'] . "'");
  42. while ($wiersz = mysql_fetch_array($haslo))
  43. {
  44. if($wiersz[0] == 1)
  45. {
  46. $_SESSION["admin"] = 1;
  47. }
  48. }
  49. }
  50. }
Go to the top of the page
+Quote Post

Posty w temacie
- TursoN   [PHP] Gdzie robię błąd - logowanie sesja   5.04.2011, 20:24:01
- - krzywy36   w czym problem...? Na szybko, usuń @ z komend mysq...   5.04.2011, 20:29:03
- - TursoN   Ogólnie mam pomieszany kod i wywala syntax, unexpe...   5.04.2011, 20:32:50
- - fifi209   Ogólnie forum to nie parser.   5.04.2011, 20:33:28
- - TursoN   Wiem, wrzuciłem zły kod z syntaxem. Poprawię na te...   5.04.2011, 20:34:34
- - lukaskolista   [PHP] pobierz, plaintext if(mysql_num_rows...[...   5.04.2011, 20:49:38
- - TursoN   A poza tym? Wydaje mi się, że nieprawidłowa kolejn...   6.04.2011, 13:15:50
- - kadlub   [PHP] pobierz, plaintext <?PHP if($_POST...   6.04.2011, 14:34:32
- - TursoN   Chyba problem jeszcze polega na haśle. W rejestrac...   6.04.2011, 14:39:53
- - kadlub   no dobrze kodujesz md5 i odczytujesz podając md5 a...   6.04.2011, 14:44:36
- - TursoN   `user_haslo` VARCHAR( 30 )   6.04.2011, 14:46:16
- - kadlub   to zmień te 30 na 200 bo ci sie cały ten krzaczek ...   6.04.2011, 14:49:47
- - TursoN   Zmieniłem długośc pola do 200, zrobiłem nowe konto...   6.04.2011, 14:58:10
- - kadlub   a w rejestracji tam gdzie zakładasz konto daj to ...   6.04.2011, 15:17:11
- - TursoN   Dalej nic, pokażę kod logowania. [PHP] pobierz, pl...   6.04.2011, 15:22:26
- - darko   Poprawiłem formatowanie: [PHP] pobierz, plaintext ...   6.04.2011, 15:31:17
- - TursoN   Dalej nie działa. Chyba klamerki funkcji są nie ta...   6.04.2011, 15:57:34
- - darko   Podpowiem jeszcze bardziej: gdzie zamykasz formula...   6.04.2011, 16:06:17
- - kadlub   [PHP] pobierz, plaintext function ShowLogin(...   6.04.2011, 16:06:58
- - TursoN   Komunikaty o błędnym haśle lub brakującym polu dzi...   6.04.2011, 16:14:29
- - kadlub   to według mię błąd leży po stronie rejestracji al...   6.04.2011, 16:26:45
- - TursoN   Zrobiłem konto test/test W bazie - ok Loguję się ...   6.04.2011, 17:13:49
- - darko   I wszystko jasne. W bazie masz ustawione varchar(3...   6.04.2011, 18:26:18
- - kadlub   Cytat(darko @ 6.04.2011, 19:26:18 ) I...   6.04.2011, 18:34:31
- - greycoffey   Btw. Nie varchar(32), nie varchar(30) a char(30) -...   6.04.2011, 18:43:31
- - TursoN   Poradziłem sobie tym skryptem, może komuś się przy...   6.04.2011, 20:32:58


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: 5.10.2025 - 02:56