Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Błąd w pętli IF
Forum PHP.pl > Forum > Przedszkole
raak07
Proszę o pomoc
Jak prawidłowo powinna wyglądać ta pętla w pętli?
  1. <?
  2. if (!empty($_POST)) { if ($_POST['przycisk'] == 'Rejestruj') {
  3. if (preg_match('/^[a-z0-9.-_]+@[a-z0-9-_]+.([a-z0-9-_]+.)*?[a-z]+$/is',$_POST['texemail'])==true) {
  4. print "Adres e-mail poprawny"; if (sprdomeny($host, $recType='')==true) {
  5. print "domena istnieje";
  6. else
  7. print "Brak takiej domeny"; }
  8. else print "to nie jest poprawny adres e-mail";
  9. } } }
  10. ?>

pozdrawiam
lnn
wydaje mi sie ze na koncu o jeden } mniej winksmiley.jpg
Foxx
~Inn - nieprawda, to akurat jest dobrze.
Składnia if-else jest inna, mianowicie taka:
  1. <?php
  2. if( warunek ) {
  3.  
  4. } else {
  5.  
  6. }
  7. ?>

U Ciebie brak nawiasów klamrowych przy "else".
Cytat
pętla w pętli

Nie ma tu żadnej pętli.
gsk
  1. <?php
  2. if(!empty($_POST)){
  3.    if ($_POST['przycisk'] == 'Rejestruj'){
  4.        if (preg_match('/^[a-z0-9.-_]+@[a-z0-9-_]+.([a-z0-9-_]+.)*?[a-z]+$/is',$_POST['texemail'])==true){
  5.            print "Adres e-mail poprawny";
  6.            if (sprdomeny($host, $recType='')==true){
  7.                print "domena istnieje";
  8.            } else {
  9.                print "Brak takiej domeny";
  10.            } else print "to nie jest poprawny adres e-mail";
  11.        }
  12.    }
  13. }
  14. ?>


nie tak?
slewin
Foxx ma racje . A jeśli ma racje to ten kawałek kodu powinien wyglądać tak :
  1. <?
  2. if (!empty($_POST)) {
  3.                                            if ($_POST['przycisk'] == 'Rejestruj') {
  4.                                                                                                                                if (preg_match('/^[a-z0-9.-_]+@[a-z0-9-_]+.([a-z0-9-_]+.)*?[a-z]+$/is',$_POST['texemail'])==true) {
  5.                                                            print "Adres e-mail poprawny"; }  else { print "to nie jest poprawny adres e-mail";}
  6.                                            if (sprdomeny($host, $recType='')==true)
  7.                                                                                                                                {
  8. print "domena istnieje";}
  9.  
  10. else { print "Brak takiej domeny"; }
  11.  
  12. }
  13. else {} //nie koniecznie
  14. }
  15. ?>
raak07
Wszystkim dziękuję za podpowiedzi i zainteresowaniem się moim postem
zrobiłem tak:
  1. <?php
  2. if ($_POST['przycisk'] == 'Rejestruj') {
  3.            if (preg_match('/^[a-z0-9.-_]+@[a-z0-9-_]+.([a-z0-9-_]+.)*?[a-z]+$/is',$_POST['texemail'])==true)    {
  4.            print &#092;"e-mail poprawny\";
  5.                if (sprdomeny($host, $recType='')==&#092;"true\")    {
  6.                print &#092;"domena istnieje\";    }
  7.                else
  8.                {print &#092;"Brak takiej domeny\";    }    }        
  9.                else    {
  10.            print &#092;"to nie jest poprawny adres e-mail\";    }                
  11.    }
  12. ?>

działa
ale zmieniłem linię
  1. <?php
  2. if (sprdomeny($host, $recType='')==true) //tak było
  3. if (sprdomeny($host, $recType='')==&#092;"true\") // na tak
  4. ?>

czy może mi ktoś wyjaśnić dla czego tak się dzieje?
sprdomeny($host, $recType='')=="true" to wartość zwracana z funkcji sprawdzającej istnienie domeny
pzdrawiam
Spawnm
true!="true"
"true" jest stringiem .

// w tej funkcji zobacz czy dajesz
return true;
raak07
funkcja zwraca wartość:
return 'true';
return 'false';

chyba rozumiem
jak by było tak:
return true;
return false;

to za pierwszym razem było by OK
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.