Afisare toate errorile

Ai o întrebare legată de PHP? Incercăm să îi găsim soluţie. Sau poate doar vrei să publici un cod interesant.

Moderatori: Zamolxe, Moderatori

EoKlaus
Average Member
Mesaje: 133
Membru din: Mie Apr 20, 2011 3:11 pm
Localitate: Grecia

Afisare toate errorile

Mesajde EoKlaus » Lun Mai 21, 2012 9:06 am

buna dimineata, am si eu o problema.. sau, cred ca e o problema:).

Eu am acest cod:

Cod: Selectaţi tot

<?php
if($v == 1){
         
         if(strlen($this->first_name) <= 4 || strlen($this->first_name) > 15){
            $this->errors[] .= "First name trebuie sa fie intre 4 si 15 caractere !";
         }else if(strlen($this->last_name) <= 4 || strlen($this->last_name) > 15){
            $this->errors[] .= "Last name trebuie sa fie intre 4 si 15 caractere !";
         }else if(strlen($this->password) <= 6 || strlen($this->password) > 20){
            $this->errors[] .= "Parola trebuie sa fie intre 6 si 20 caractere !";
         }else if(!preg_match('/^[^0-9][a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)*[@][a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)*[.][a-zA-Z]{2,4}$/', $this->email)){
            $this->errors[] .= "Te rog introdu un email valid !";
         }else if($this->UserDetalliesExist('email', "klaus.clau.56@gmail.com")){
            $this->errors[] .= "Acest email este deja inregistrat pe acest site !";
         }else if($this->day_b == 0){
            $this->errors[] .= "Te rog selecteaza ziua ta de nastere!";
         }else if($this->month_b == 0){
            $this->errors[] .= "Te rog selecteaza luna ta de nastere!";
         }else if($this->year_b == 0){
            $this->errors[] .= "Te rog selecteaza anul tau de nastere!";
         }
         
         if(empty($this->errors)){
            
            if($this->vemail == 1){
               
               
               if($this->InsertDetallies($this->first_name, $this->last_name, $this->password, $this->email, $this->day_b, $this->month_b, $this->year_b, $this->vcode, $this->date, $this->time, 0)){
                  
                  $this->SendEmailVerification($this->email, $this->first_name, $this->last_name, $this->password, $this->vcode);
                  echo "Contul tau a fost creat cu succes ! Urmatorul pas, pentru a va putea loga, este sa confirmati adresa de email inserata !";
               
               }
               
               
            }else{
               
               if($this->InsertDetallies($this->first_name, $this->last_name, $this->password, $this->email, $this->day_b, $this->month_b, $this->year_b, $this->vcode, $this->date, $this->time, 1)){
                  
                  echo "Contul tau a fost creat cu succes !";
               
               }
               
            }
            
         }else{
            
            foreach($this->errors as $errors){
               echo $errors.'<br />';
            }
            
         }
?>

(da, stiu... putin cam lung).

Problema este ca nu afiseaza taote errorile (arata doar o erroare. De ex, daca dau submit la form, iar first_name e corect, arata doar erroarea de la campul last_name) . PRima data errorile le puneam intr-o variabila, dar dupa aceea am schimba intr-un array si le-am pus toate intr-un foreach, crezand ca asa o sa mearga, dar tot nu merge.

P.S. Poate puteti sa-mi dati sfaturi cum sa mai "imbunatatesc" codul e mai sus :).

Multumesc mult!


Copilaria nu este de la nastere pana la o anumita varsta, iar la o anumita varsta copilul a crescut si ia toate lucrurile copilaresti si le pune la o parte. Copilaria este regatul unde nu moare nimeni.

Imagine
[img=http://klaus-blog.hi2.ro/fisiere/imagine.php]

Avatar utilizator
MihaiC
Senior Member
Mesaje: 1644
Membru din: Dum Mai 14, 2006 8:07 pm

Mesajde MihaiC » Lun Mai 21, 2012 9:39 am

Pai pui if {} else if {} else if {}

Daca intra in una, pe urmatoarele le ignora.
Dev @ oblio.eu


Înapoi la “Cod PHP”

Cine este conectat

Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 34 vizitatori