Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [oop/php] sprawdzanie czy email jest w bazie
Forum PHP.pl > Forum > Przedszkole
piraciq
Witam

że dopiero zaczynam z obiektowym php dlatego piszę tutaj

mam taki kodzik

  1. <?php
  2. private function czy_email_w_bazie($email)
  3.  
  4. {
  5. $zap=$this->query("select user_email from users where user_email='".$this->user_email."'");
  6.  
  7. }
  8. ?>


fukcja sprawdza czy podany email istnieje juz w bazie i teraz pytanie jak to bedzie lepiej zrobic:

czy dodac mysql_num_rows i bede mial liczbe wierszy jesli bedzie rózny od zera to wiadomo snitch.gif


pozdrawiam
xbigos
  1. <?php
  2. $num_rows = mysql_num_rows($zap)
  3. if($num_rows == 1){
  4. return TRUE;
  5. }
  6. else{
  7. return FALSE
  8. ?>


EDIT:

Nie rozumiem Twojego kodu:) po co się odwołujesz do obiektu user_email skoro do funkcji przekazujesz juz zmienna email?
piraciq
czyli w efekcie mam cos takiego :]

  1. <?php
  2. private function czy_email_w_bazie($email)
  3.  
  4. {
  5. $zap=$this->query("select user_email from users where user_email='".$this->user_email."'");
  6.  
  7. $num_rows = mysql_num_rows($zap)
  8. if($num_rows == 1)
  9. {
  10. array_push($this -> errors, 'Podany adres e-mail jest już w naszej bazie');
  11. return false;
  12. }
  13. else
  14. {
  15. return true;
  16. )
  17.  
  18.  
  19. }
  20. ?>



i teraz kolejne pytanie z tym związane ta funkcja zwróci mi true jesli nie bedzie adresu w bazie :]
a dalsze moje pytanie

kod

  1. <?php
  2. if ($this->czy_email_w_bazie($this-email))
  3. {
  4.  
  5. }
  6. ?>


czy w tym wypadku jak widać wyżej bedzie wykonywana funkcja questionmark.gif

tak jak pisałem ze zaczyam :]


czy o ile dobrze myśle :]


  1. <?php
  2. if ($this->email_poprawny())
  3. {
  4. //jesli poprawny
  5. }
  6. else
  7. {
  8.  /jesli bledny
  9. }
  10. ?>


i bedzie ok tak questionmark.gif


pozdrawiam
xbigos
funkcja zwróci TRUE gdy email jest w bazie. mozesz tego uzyc takze do sprawdzania przy rejestracji czy email nie jest juz uzywany.

Nie nie bedzie, działać bo private ogranicza widoczność tylko w obrębie metody Twojej klasy
piraciq
czyli dobrze to ma dzialać w obrebie klasy nie poza nia :]
xbigos
w poprzednim poscie nie napisales ze kod sprawdzania jest w funkcji. pomyslalem ze jest poza klasą
piraciq
Sorki za to

ale dzięki za pomoc :]

nawet w małym stopniu pomoże mi to zapoznać sie z filozofią :]


jeszcze raz Dzięki guitar.gif
skowron-line
Nie chciałbym się czepiać ale skoro nie zwracasz wartosci z bazy to chyba lepiej by bylo sprawdzić to COUNT -em
piraciq
masz na mysli questionmark.gif

  1. <?php
  2. select count(*) where ....
  3. ?>
Cysiaczek
Cytat
czy_email_w_bazie


Postaw się w sytuacji programisty nie znającego języka polskiego. Zapoznawaj się z OOP, ale nie zapomnij, że na nic Ci ten sposób pisania, jeśli będzie tworzył takie potworki. Zawsze używaj nazw angielskich - zawsze i bezapelacyjnie.

Pozdrawiam.
piraciq
Cenna aluzja :] nic nie stoi na przeszkodzie by pozmieniać na angielskie nazwy :] ale od czegos trzeba bylo zacząć :]
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.