[php] porownanie jescze raz

0

ponizej przedstawiam kod:


function sprawdz($nick) {
 GLOBAL $users;
 connect();

$sql = "SELECT id,password 
            FROM $users 
            WHERE nick='$nick' 
            OR email='$nick' ";

   $run = mysql_query($sql);
   while($row=mysql_fetch_array($run)) 
      {
     if ($row['password']!='') { 
         return 1; 
                 } else {
                                 return 0;
                                                      }

      }

}

if (sprawdz($nick)<>'1') {
echo "puste"; }
else {
echo "jest"; }

co ten kod robi? ano robi to ze przekazuje login do pliku
plik natrafia na linijke sprawdz($nick)<>'1'
i przekazuje do funkcji parametr $NICK
funkcja wyszukuje z bazy czy jest taki nick lub email
i jesli jest zwraca '1' a jesli nie ma powinna zwrocic '0'

nastepnie musialem zastosowac taka sztuczke

if (sprawdz($nick)<>'1') {
echo "puste"; }
else {
echo "jest"; } 

co w wyniku daje mi moj zamierzony cel
ale wydaje mi sie ze to rozwiazanie jest nieprofesjonlane
dlaczego nie dziala funkcja:

 if ($row['password']!='') { 
         return 1; 
                 } else {
                                 return 0;
                                                      }

dlaczego kiedy zapytanie nie znajdzie w bazie
podanego nicka lub email ? to nie zwraca '0'

w zasadzie funkcja moze wygladac tak
if ($row['password']!='') {
return 1;
}

1

może zamień to:

while($row=mysql_fetch_array($run)) 
      {
         if ($row['password']!='') { 
                 return 1; 
                 } else {
                                 return 0;
                                                      }

      }

na np takie coś:

      $ret=0;
      while($row=mysql_fetch_array($run)) 
      {
         if ($row['password']!='') { 
                 $ret=1; 
                 }
      }
      return $ret;
0

Rewelacja :)
RESPECT

dziekuje slicznie :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0