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%)
-----


Cytat(!*! @ 17.03.2013, 13:57:32 ) *
1. po co łączysz się z bazą gdy nie przechodzisz walidacji?
2. taki kod
  1. $nick = @mysql_real_escape_string(stripslashes($_POST["nick"]));

Jest zły. Nie używaj @ i mysql_real_escape_string powinno być po walidacji
3. zastanów się co robisz. Teraz, gdy hasło jest inne niż hasło dodajesz do bazy dane.
4. formatuj kod poprawnie, za chwilę będziesz pisał ciurkiem.


To ciut za mało ;) ale też nie zaszkodzi.


1. A kiedy mam się łączyć? Wydawało mi się, że najlepiej podłączyć include z osobnym plikiem(i tak zrobiłem)
2. Czemu zły? Jeśli usunę @ to pojawią się błędy:

  1. Notice: Undefined index: nick in /virtual/dawid4157.cba.pl/gra.dawid4157.cba.pl/register.php on line 29
  2.  
  3. Notice: Undefined index: email in /virtual/dawid4157.cba.pl/gra.dawid4157.cba.pl/register.php on line 30
  4.  
  5. Notice: Undefined index: haslo in /virtual/dawid4157.cba.pl/gra.dawid4157.cba.pl/register.php on line 31
  6.  
  7. Notice: Undefined index: haslo2 in /virtual/dawid4157.cba.pl/gra.dawid4157.cba.pl/register.php on line 32


3. Warunek jest taki tylko, że dodałem to w else.

  1. if($haslo != $haslo2)
  2. echo "<br><b><font color= red>Hasła nie są takie same!</font></b><br>";


To nie wiem co jest nie tak.

PS. Szczerze mówiąc nie bardzo rozumiem o czym mówisz. Uczę się dopiero PHP więc, wiesz...

Ten post edytował Kerth 17.03.2013, 14:11:46
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
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 9.10.2025 - 12:39