Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]błąd wyskakuje z powodu warunków [if], Parse error: syntax error, unexpected T_ECHO in
Majzel
post 21.06.2008, 18:02:58
Post #1





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

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


Witam mam taki kod:
  1. <?php
  2. if (empty($_POST['nick']) && empty($_POST['email']) && empty($_POST['text'])
  3. echo 'wypelnij dane';
  4. if (ereg('^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+.[a-zA-Z0-9-.]+$', $_POST['email'])
  5. echo 'zly email';
  6. ?>



i wyskakuje:
Parse error: syntax error, unexpected T_ECHO in
wiem że napewno coś b.prostego ale nie wiem już dlaczego...
i powiedzcie jeszcze mi dlaczego można pisać albo po if () klamry: {} albo od razu kod?
pzdr.
Go to the top of the page
+Quote Post
k_@_m_i_l
post 21.06.2008, 18:06:17
Post #2





Grupa: Zarejestrowani
Postów: 349
Pomógł: 72
Dołączył: 22.01.2008
Skąd: Wadowice/Oświęcim

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


Poprawny kod :
  1. <?php
  2. if (empty($_POST['nick']) && empty($_POST['email']) && empty($_POST['text']))
  3. echo 'wypelnij dane';
  4. if (ereg('^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+.[a-zA-Z0-9-.]+ , $_POST['email']))
  5. echo 'zly email;
  6.  
  7. ?>


Jak dajesz klamry {} po if() to w wypadku spełnienia/bądź nie spełnienia warunku zostaną wykonane wszystkie instrukcje między klamrami.Jak ich nie dasz to zostanie wykonana tylko jedna instrukcja w wypadku spełnienia/niespełnienia warunku.

Ten post edytował k_@_m_i_l 21.06.2008, 18:13:55


--------------------
"PHP to człowiek. MySQL to również człowiek."
Go to the top of the page
+Quote Post
piotrooo89
post 21.06.2008, 18:09:13
Post #3


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




na pierwszy rzut oka to od razu masz za mało nawiasów w if'ie:

  1. <?php
  2. if ( (empty($_POST['nick'])) && (empty($_POST['email'])) && (empty($_POST['text'])) )
  3. ?>


a ja bym polecał Ci walidacje maila zrobić tak:
  1. <?php
  2. (eregi("^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*(.[a-z]{2,4})$", $_POST['email']))
  3. ?>


a odnośnie if'ów to jesli jest jedno polecenie po if'ie można pominąć klamry jak jest więcej już nie. ja mimo nawet jednego polecenia zawsze daje klamry ( {} )


--------------------
Go to the top of the page
+Quote Post
nexis
post 21.06.2008, 18:10:58
Post #4





Grupa: Zarejestrowani
Postów: 1 012
Pomógł: 109
Dołączył: 26.09.2003
Skąd: nexis.pl

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


Cytat(Majzel @ 21.06.2008, 19:02:58 ) *
i powiedzcie jeszcze mi dlaczego można pisać albo po if () klamry: {} albo od razu kod?


Klamry można pominąć tylko i wyłącznie w przypadku kiedy po if lub else występuje jedna instrukcja:

  1. <?php
  2. if (true) echo 'prawda';
  3. else echo 'fałsz';
  4. ?>


--------------------
Zend Certified Engineer

Kliknij POMÓGŁ jeśli moja odpowiedź okazała się użyteczna!
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: 24.07.2025 - 10:17