Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]strlen a puste pole
finito
post 11.07.2014, 16:03:06
Post #1





Grupa: Zarejestrowani
Postów: 110
Pomógł: 0
Dołączył: 16.12.2012

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


W uproszczeniu mam taki kod.
  1. $user_len = strlen(utf8_decode($user));
  2. if ($user_len<3)
  3. {
  4. echo "to small";
  5. }
  6. if ($user == "")
  7. {
  8. echo "empty";
  9. }


i teraz, gdy nie wpisuję nic w formularzu logowania, a klikam "zaloguj" cały czas mi wyskakuje echo "to small" a nie to drugie. Czemu?

Ten post edytował finito 11.07.2014, 16:03:40
Go to the top of the page
+Quote Post
nospor
post 11.07.2014, 16:07:39
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




bo 0 jest mniejsze od 3? Podstawy matematyki?
Zmien kolejnosc ifow...


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Crozin
post 11.07.2014, 16:07:56
Post #3





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


W chwili obecnej wywali Ci:
Kod
to smallempty
Ponieważ przy pustej ("") zawartości zmiennej oba warunki są prawdziwe.
Go to the top of the page
+Quote Post
nospor
post 11.07.2014, 16:08:03
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




poza tym powinienes uzyc ELSEIF


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
finito
post 11.07.2014, 16:23:00
Post #5





Grupa: Zarejestrowani
Postów: 110
Pomógł: 0
Dołączył: 16.12.2012

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


Poprawiłem tam, gdzie było trzeba i dokładnie tak, jak poradziliście. Nawet zmieniłem strukturę na else if i dalej jest to samo. Wybaczcie, że nie wrzucę kodu, ale mam więcej plików i za dużo tego. Właściwie wszystko mi działa cacy z wyjątkiem poprawności tej jednej rzeczy.
Go to the top of the page
+Quote Post
nospor
post 11.07.2014, 16:23:26
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Pokaz swoje poprawki, bo pewnie źle poprawiles...


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
finito
post 11.07.2014, 16:27:27
Post #7





Grupa: Zarejestrowani
Postów: 110
Pomógł: 0
Dołączył: 16.12.2012

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


Poprawiłem na tak...
Fragment funkcji testLogin($user,$pass):
  1. $user_len = strlen(utf8_decode($user));
  2. $pass_len = strlen(utf8_decode($pass));
  3. if ($user = "" || $pass = "")
  4. {
  5. return EMPTY_FIELDS;
  6. }
  7. else if ($user_len<6 || $user_len>20 || $pass_len<3 || $pass_len>40)
  8. {
  9. return PASS_OR_USER_WRONG_LEN;
  10. }
  11. else
  12. {
  13. return OTHER_THING;
  14. }

oraz fragment jej wywołania:
  1. else if ($val == EMPTY_FIELDS)
  2. {
  3. $_SESSION['k']="Nie wprowadzono danych";
  4. include('index.php');
  5. }
  6. else if ($val == PASS_OR_USER_WRONG_LEN)
  7. {
  8. $_SESSION['k']="Zła długość znaków";
  9. include('index.php');
  10. }
  11. else
  12. {
  13. echo "inny problem";
  14. }
Go to the top of the page
+Quote Post
nospor
post 11.07.2014, 16:29:00
Post #8





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Odrozniaj
=
od
==

jedno to przypisanie, drugie porownanie...


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
johny_s
post 11.07.2014, 16:29:03
Post #9





Grupa: Zarejestrowani
Postów: 594
Pomógł: 122
Dołączył: 17.07.2005
Skąd: P-na

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


a wiesz czym się różni operator przypisania od porównania?
Go to the top of the page
+Quote Post
finito
post 11.07.2014, 16:32:05
Post #10





Grupa: Zarejestrowani
Postów: 110
Pomógł: 0
Dołączył: 16.12.2012

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


Przepraszam najmocniej;-)))))))))))
Oczywiście, że odróżniam. To jest przypisanie:"=", a to jest porównanie:"==".
Czeski błąd. Po prostu ślepok ze mnie i tyle.
Go to the top of the page
+Quote Post

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 Wersja Lo-Fi Aktualny czas: 22.06.2025 - 14:20