Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MYSQL] Nick/Hasło < 6 znaków - funkcja strlen
Kerth
post
Post #1





Grupa: Zarejestrowani
Postów: 250
Pomógł: 1
Dołączył: 6.08.2012

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


Cześć,
mam taki problem z funkcją strlen w php.
Otóż. Próbuję wykonać własny system rejestracji kicha(jak na razie)
Do rzeczy. Nie wiem czy dobrze skonstruowałem instrukcję if...elseif...else, bo nawet jeśli gracz wpisze nick mniejszy niż 6 znaków lub poprawnie to i tak rejestruje go wysyłając komunikat o błędzie("Nick nie może być, krótszy niż 6 znaków!")

  1. if ( !empty($nick) || !empty($email) || !empty($haslo) ) {
  2.  
  3. // dodajemy rekord do bazy
  4.  
  5. $sql = "INSERT INTO `GRACZE` (`nick`, `email`, `haslo`) VALUES('".$nick."', '".$email."', '".$haslo."')";
  6. if ( !($result = mysql_query($sql)) )
  7. {
  8. die('error in sql<br>'.mysql_error());
  9. }
  10. else if(!strlen($_POST["nick"])<6)
  11. {
  12. echo "<br><b><font color = red>Nick nie może być, krótszy niż 6 znaków!</font></b></br>";
  13. }
  14. else if(!strlen($_POST["haslo"])<6)
  15. {
  16. echo "<br><b><font color = red>Hasło nie może być krótsze niż 6 znaków!</font></b></br>";
  17. }
  18. else
  19. {
  20. echo "<b><font color = green>Zostałeś pomyślnie zarejestrowany.</color></b>";
  21. }
  22. mysql_close($connection);
  23. }



Wie ktoś co jest nie tak? Proszę o jakieś rady.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Kerth
post
Post #2





Grupa: Zarejestrowani
Postów: 250
Pomógł: 1
Dołączył: 6.08.2012

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


Chyba udało mi się stworzyć rejestrację, bo rejestruje się poprawnie.

Teraz tworzę plik login.php ale znowu coś nie tak. Liczę, że mi coś doradzicie.

Otóż tak. Mam taki kod:

  1. <html>
  2. <head>
  3. <title>Logowanie</title>
  4. </head>
  5. <body>
  6. <b>Logowanie:</b>
  7. <form action="login.php" method="post">
  8. Wpisz Nick:<br/>
  9. <input type="text" name="nick" /><br/>
  10. Wpisz hasło:<br />
  11. <input type="password" name="haslo" /><br/>
  12. <input type="submit" value="Zaloguj"/> <br/>
  13. <b><font color = blue>Jeśli nie masz jeszcze konta, <a href='register.php'>Kliknij Tu!</a></font></b>
  14. </form>
  15.  
  16. </body>
  17. </html>
  18.  
  19. <?php
  20. include('inc/sql.php');
  21. include('zmienne.php');
  22.  
  23.  
  24. session_register("zalogowany");
  25.  
  26. if(empty($_SESSION["zalogowany"]))$_SESSION["zalogowany"]=0;
  27.  
  28. if($_SESSION["zalogowany"]!=1)
  29. {
  30. if(!empty($_POST["nick"]) && !empty($_POST["haslo"]))
  31. {
  32. if(mysql_num_rows(mysql_query("SELECT * FROM `GRACZE` WHERE `nick` = '".htmlspecialchars($_POST["nick"])."' AND `haslo` = '".htmlspecialchars($_POST["haslo"])."'")))
  33. {
  34. echo "<b><font color = green>Zalogowano poprawnie. <a href='index.php'>Przejdź na stronę główną</a></font></b>";
  35. $_SESSION["zalogowany"]=1;
  36. }
  37. if($nick !== $nick)
  38. {
  39. echo "<br><b><font color = red>Wpisany nick jest błędny!</font></b><br>";
  40. }
  41. if($haslo !== $haslo2)
  42. {
  43. echo "<br><b><font color = red>Wpisane hasło jest błędne!</font></b><br>";
  44. }
  45. $braknicku = mysql_query("SELECT * FROM `GRACZE` WHERE `nick` = '$nick'");
  46. if (mysql_num_rows($braknicku) == 0)
  47. {
  48. echo "<br><b><font color = red>Podany nick nie istnieje!</font></b></br>";
  49. }
  50. }
  51. }
  52.  
  53.  
  54. ?>
  55. <?php mysql_close(); ?>


Kod include zmienne.php

  1. <?php
  2. $nick = isset($_POST['nick']) ? htmlentities($_POST['nick']) : "";
  3. $email = isset($_POST['email']) ? htmlentities($_POST['email']) : "";
  4. $haslo = isset($_POST['haslo']) ? htmlentities($_POST['haslo']) : "";
  5. $haslo2 = isset($_POST['haslo2']) ? htmlentities($_POST['haslo2']) : "";
  6. ?>



Nie wiem co jest źle, czy kod jest dobry? Oraz jak zrobić logowanie i wylogowywanie?
Kod tworzyłem na podstawie tego: http://webmade.org/porady/sesje-php-system-logowania.php
Go to the top of the page
+Quote Post

Posty w temacie
- Kerth   [PHP][MYSQL] Nick/Hasło < 6 znaków - funkcja strlen   16.03.2013, 15:20:42
- - Michael2318   ehh. Spójrz na to co podałeś... Najpierw wrzucasz ...   16.03.2013, 15:30:37
- - Kerth   Ale teraz cały czas pojawia się komunikat: Nick ni...   16.03.2013, 15:40:45
- - Michael2318   [PHP] pobierz, plaintext if ( !empty($nick...   16.03.2013, 15:44:34
- - Kerth   Dalej to samo się dzieje. Może da się jakoś inacze...   16.03.2013, 15:55:03
- - !*!   Zdecyduj się do czego się odwołujesz. Do zmiennych...   16.03.2013, 16:05:47
- - Kerth   Ok. Tylko teraz mam taki kod: [PHP] pobierz, pl...   16.03.2013, 22:36:33
- - Michael2318   Linia 40, funkcja mail(). Nawet kolor skladni Ci t...   16.03.2013, 22:38:34
- - Kerth   Ale chyba nie ma to znaczenia, bo funkcja jest (ch...   16.03.2013, 22:46:09
- - Michael2318   [PHP] pobierz, plaintext mail("$email...   16.03.2013, 22:54:35
- - Kerth   No wiem brakuje " ale nie o to chodzi. Tą fun...   16.03.2013, 23:00:08
- - _Borys_   } po 45 i po 49 brakuje   16.03.2013, 23:41:10
- - Kerth   Ok. Pokombinowałem trochę i wyskrobałem coś takieg...   17.03.2013, 13:49:02
- - Michael2318   [PHP] pobierz, plaintext $nick = @mysql_real_escap...   17.03.2013, 13:53:35
- - !*!   1. po co łączysz się z bazą gdy nie przechodzisz w...   17.03.2013, 13:57:32
- - Kerth   A czy jak zaszyfruję hasła to jest możliwość zrobi...   17.03.2013, 13:58:31
- - !*!   Przypomnienie hasła, to wygenerowanie nowego. Cyta...   17.03.2013, 14:00:12
- - Kerth   Cytat(!*! @ 17.03.2013, 13:57...   17.03.2013, 14:10:34
- - !*!   Cytat1. A kiedy mam się łączyć? Wydawało mi się, ż...   17.03.2013, 14:15:29
- - Kerth   A co jest źle w tej linijce? [PHP] pobierz, plain...   17.03.2013, 17:38:31
- - Michael2318   Jest totalnie bez sensu i tyle. Zostaw mysql_real_...   17.03.2013, 17:47:41
- - Kerth   No wyrzuciłem jak mówiłeś: [PHP] pobierz, plainte...   17.03.2013, 18:27:21
- - kubek3898   Przed wykonaniem zapytania itd. sprawdzaj czy zmie...   17.03.2013, 18:55:22
- - Kerth   Nie wiem czy dobrze sformułowałem: [PHP] pobierz,...   17.03.2013, 19:12:58
- - kubek3898   Wystarczy sprawdzić czy pole submit zostało ustawi...   17.03.2013, 19:26:13
- - Kerth   Chyba udało mi się stworzyć rejestrację, bo rejest...   19.03.2013, 16:41:34
- - !*!   Nie ogarniam Twojego sposobu myślenia... [PHP] po...   19.03.2013, 17:17:25
- - Kerth   Racja. Myślę, że powinno być tak: [PHP] pobierz, p...   19.03.2013, 18:08:51
- - !*!   Nie przeczytałeś linku o operatorach. Logujesz się...   19.03.2013, 18:10:41
- - Kerth   To co to jest nie potrzebne? [PHP] pobierz, plain...   19.03.2013, 18:22:38


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: 7.10.2025 - 17:43