Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Jak robi się przeczące warunki if?, empty() nie działa
Saki
post 9.08.2013, 18:47:34
Post #1





Grupa: Zarejestrowani
Postów: 240
Pomógł: 2
Dołączył: 5.12.2010
Skąd: Fulda

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


SOLVED
<modinfo> enleth: a to ciekawosta, empty() nie działa na $_SERVER
<enleth> modinfo: no właśnie
<inf> empty to jeden wielki clusterfuck
<enleth> modinfo: używaj raczej isset() w takich sytuacjach
<modinfo> enleth: no, zrobiłem !isset() i działa smile.gif

Witam, mam mały problem, php przepuszcza moje dane dalej bez zatrzymania skryptu i dodaje puste wartości do MySQL.

na początku skryptu dodałem to:
  1. echo "a&gt;".strlen($_POST['boardname'])."<br />";
  2. echo "b&gt;".strlen($_POST['description'])."<br />";
  3. echo "c&gt;".strlen($_POST['boardurl'])."<br />";
  4. echo "d&gt;".strlen($_POST['captcha'])."<br />";
  5.  
  6. if (empty($_POST['boardname']) && empty($_POST['description']) && empty($_POST['boardurl']) && empty($_POST['captcha'])) { die('Podaj wszystkie dane'); }
  7. if( strlen($_POST['boardname']) <= 3 or strlen($_POST['boardname'])>=255 ) { die('Tytuł, min 3 znaki, max 255'); }
  8. if( strlen($_POST['description']) <= 10 or strlen( $_POST['description']) >= 3000 ) { die('Opis, min 10 znaków, max 3000'); }
  9.  
  10. echo "lol";




po uruchomieniu skryptu pokazuje:

a>0
b>0
c>0
d>0
lol

Co ja źle robie, że die() nie zatrzymuje skryptu?

PS. Testowałem exit() i też nie zatrzymuje skryptu

PS.

print_r( empty($_POST['boardname']) );
print_r( empty($_POST['description']) );
print_r( empty($_POST['boardurl']) );
print_r( empty($_POST['captcha']) );

zwraca: 1111

Ten post edytował Saki 9.08.2013, 19:21:58


--------------------
Moje serwisy: services.itunix.eu | spytajsie.com

Server: Debian; Desktop: Mac Mini 10.8.1, ArchLinux XFCE
Go to the top of the page
+Quote Post
redeemer
post 9.08.2013, 19:14:57
Post #2





Grupa: Zarejestrowani
Postów: 915
Pomógł: 210
Dołączył: 8.09.2009
Skąd: Tomaszów Lubelski/Wrocław

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


  1. ...
  2. if( strlen($_POST['boardname']) <= 3 && strlen($_POST['boardname'])>=255 )
  3. ...
Ten warunek nigdy nie będzie spełniony. "Jeśli długość boardname jest mniejsza lub równa niż 3 i jest większa lub równa niż 255".

Ten post edytował redeemer 9.08.2013, 19:15:43


--------------------
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: 6.07.2025 - 12:42