Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: problem z odczytem funkcji
Forum PHP.pl > Forum > PHP
omxd
Witam!
funkcja checkLogin działą poprawnie zwraca string a mimo to $geststate jest puste.Gdzie źle rozumuje?
  1. public function getState($login,$pass){
  2.  
  3. $pass=md5($pass);
  4.  
  5. $getstate= $this->checkLogin("WHERE username='$login' and pass='$pass'");
  6. echo $gestate;
  7. return $getstate;
  8. }


pozdrawiam
mortus
Pokaż funkcję checkLogin(), albo całą klasę.
omxd
prześledziłem działanie całej aplikacji i problem mam tylko w tym miejscu o którym wspominałem powyżej.
  1. <?php
  2. class App_Model_Guest_Login extends Lib_DB_Mysql{
  3. function __construct(){
  4. $this->table='user';
  5. }
  6.  
  7.  
  8. public function getState($login,$pass){
  9.  
  10. $pass=md5($pass);
  11.  
  12. $getstate= $this->checkLogin("WHERE username='$login' and pass='$pass'");
  13. echo $gestate;
  14. return $getstate;
  15. }

a to checkLogin:
  1.  
  2.  
  3. public function login($login,$pass) {
  4. $loginmodel = new App_Model_Guest_Login();
  5. $stateName = $loginmodel->getState($login, $pass);
  6. echo $login;
  7. echo $stateName;
  8. if($stateName=="admin"){
  9. $newsession = $_SESSION['state']=$login;
  10. echo $newsession;
  11. }
  12.  
  13. return $stateName;
  14. }
mortus
No chyba nie do końca podałeś funkcję checkLogin(). Ja tam widzę login(). Wszystkie funkcje to metody tej samej klasy?
omxd
sorki wczoraj już ledwo widziałem na oczy;)
  1. <?php
  2. class App_Model_Guest_Login extends Lib_DB_Mysql{
  3. function __construct(){
  4. $this->table='user';
  5. }
  6.  
  7. public function getState($login,$pass){
  8.  
  9. $pass=md5($pass);
  10.  
  11. $getstate= $this->checkLogin("WHERE username='$login' and pass='$pass'");
  12. echo $gestate;
  13. return $getstate;
  14. }
  15. public function login($login,$pass) {
  16. $loginmodel = new App_Model_Guest_Login();
  17. $stateName = $loginmodel->getState($login, $pass);
  18. echo $login;
  19. echo $stateName;
  20. if($stateName=="admin"){
  21. $newsession = $_SESSION['state']=$login;
  22. echo $newsession;
  23. }
  24.  
  25. return $stateName;
  26. }?>


i
  1. <?php
  2. class Lib_DB_Mysql extends Lib_DB_MySQLconnect{
  3. protected $table;
  4. private static $_mysql = NULL;
  5. public function __construct() {
  6.  
  7.  
  8. parent::__construct();
  9.  
  10. }
  11. public function checkLogin($_queryDetails){
  12. $query = 'SELECT * FROM '.'`'.$this->table.'`'.' '. $_queryDetails;
  13.  
  14. $result = mysql_num_rows(mysql_query($query));
  15.  
  16. if($result=='1'){
  17. $result ='admin';
  18. }
  19. if($result=='0'){
  20. $result ='guest';
  21.  
  22. }
  23.  
  24. return $resulte;
  25.  
  26. }
  27.  
  28. }?>


pozdrawiam
mortus
Może to wina tej literówki w funkcji checkLogin():
  1. return $resulte;
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.