Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]function fetch()
Forum PHP.pl > Forum > Przedszkole
koskiplay
Witam, jest to mój pierwszy post na tym forum.
Otóż zabrałem się za tworzenie cmsa. Korzystam z książki wydawnictwa Helion "Tworzenie systemów cms przy użyciu PHP i JQuery".
Niestety napotkałem błąd.
Wszystko wyjaśniam.
Oto sam błąd:
  1. Fatal error: Call to a member function fetch() on a non-object in C:\WebServ\httpd\websites\CMS\mt.incs\basics.php on line 23

A tutaj kod basics.php
  1. <?php
  2. function __autoload($name) {
  3. require $name.'.php';
  4. }
  5. function dbInit(){
  6. if(isset($GLOBALS['db']))return $GLOBALS['db'];
  7. global $DBVARS;
  8. $db=new PDO('mysql:host='.$DBVARS['localhost'].';dbname='.$DBVARS['cmsdb'],$DBVARS['root'],$DBVARS['']);
  9. $db->query('SET NAMES utf8');
  10. $db->num_queries=0;
  11. $GLOBALS['db']=$db;
  12. return $db;
  13. }
  14. function dbQuery($query){
  15. $db=dbInit();
  16. $q=$db->query($query);
  17. $db->num_queries++;
  18. return $q;
  19. }
  20. function dbRow($query) {
  21. $q = dbQuery($query);
  22. return $q->fetch(PDO::FETCH_ASSOC);
  23. }
  24. define('SCRIPTBASE', $_SERVER['DOCUMENT_ROOT'] . '/');
  25. require SCRIPTBASE . '.private/config.php';
  26. if(!defined('CONFIG_FILE'))define('CONFIG_FILE',SCRIPTBASE.'.private/config.php');
  27. set_include_path(SCRIPTBASE.'mt.php_classes'.PATH_SEPARATOR.get_include_path());

Oraz plik page.php w folderze mt.php_classes.
  1. <?php
  2. class Page{
  3. static $instances = array();
  4. static $instancesByName = array();
  5. static $instancesBySpecial = array();
  6. function __construct($v,$byField=0,$fromRow=0,$pvq=0){
  7. # byField: 0=ID; 1=Name; 3=special
  8. if (!$byField && is_numeric($v)){ // wg identyfikatora
  9. $r=$fromRow?$fromRow:($v?dbRow("select * from pages where id=$v limit 1"):array());
  10. }
  11. else if ($byField == 1){ // wg nazwy
  12. $name=strtolower(str_replace('-','_',$v));
  13. $fname='page_by_name_'.md5($name);
  14. $r=dbRow("select * from pages where name like '".addslashes($name)."' limit 1");
  15. }
  16. else if ($byField == 3 && is_numeric($v)){ // wg pola special
  17. $fname='page_by_special_'.$v;
  18. $r=dbRow("select * from pages where special&$v limit 1");
  19. }
  20. else return false;
  21. if(!count($r || !is_array($r)))return false;
  22. if(!isset($r['id']))$r['id']=0;
  23. if(!isset($r['type']))$r['type']=0;
  24. if(!isset($r['special']))$r['special']=0;
  25. if(!isset($r['name']))$r['name']='NO NAME SUPPLIED';
  26. foreach ($r as $k=>$v) $this->{$k}=$v;
  27. $this->urlname=$r['name'];
  28. $this->dbVals=$r;
  29. self::$instances[$this->id] =& $this;
  30. self::$instancesByName[preg_replace('/[^a-z0-9]/','-',strtolower($this->urlname))] =& $this;
  31. self::$instancesBySpecial[$this->special] =& $this;
  32. if(!$this->vars)$this->vars='{}';
  33. $this->vars=json_decode($this->vars);
  34. }
  35. static public function getInstance($id=0,$fromRow=false,$pvq=false){
  36. if (!is_numeric($id)) return false;
  37. if (!@array_key_exists($id,self::$instances)) self::$instances[$id]=new Page($id,0,$fromRow,$pvq);
  38. return self::$instances[$id];
  39. }
  40. static public function getInstanceByName($name=''){
  41. $name=strtolower($name);
  42. $nameIndex=preg_replace('#[^a-z0-9/]#','-',$name);
  43. if(@array_key_exists($nameIndex,self::$instancesByName))return self::$instancesByName[$nameIndex];
  44. self::$instancesByName[$nameIndex]=new Page($name,1);
  45. return self::$instancesByName[$nameIndex];
  46. }
  47. static public function getInstanceBySpecial($sp=0){
  48. if (!is_numeric($sp)) return false;
  49. if (!@array_key_exists($sp,$instancesBySpecial)) $instancesBySpecial[$sp]=new Page($sp,3);
  50. return $instancesBySpecial[$sp];
  51. }
  52. }

Proszę o pomoc, nie potrafię sam sobie z tym poradzić. smile.gif
Turson
  1. function dbRow($query) {
  2. $q = dbQuery($query);
  3. return $q->fetch(PDO::FETCH_ASSOC);
  4. }

daj echo $q i zobacz co tam jest.

Generalnie tak to powinno wyglądać, bo zgubiłeś odwołanie do PDO przez $db:
  1. $q = $db->query("SELECT * FROM tabela");
  2. return $q->fetch();
koskiplay
Cytat(Turson @ 4.12.2013, 17:03:11 ) *
daj echo $q i zobacz co tam jest.

Echo wywala mi napis "Błąd 404" z pliku Page.php.

A po zmianie na:
  1. $q = $db->query("SELECT * FROM tabela");
  2. return $q->fetch();


Widnieje błąd:
  1. Fatal error: Call to a member function query() on a non-object in C:\WebServ\httpd\websites\CMS\mt.incs\basics.php on line 22
Turson
Połącz się z bazą w tej funkcji $db=dbInit();


  1. $q = $db->query("SELECT * FROM tabela");

A zmieniłeś w ogóle na własne dane to zapytanie?
koskiplay
Tak, zmieniłem. Nie chciałem po prostu edytować cytatu.
Nadal nie działa, to samo powiadomienie, nie umiem dojść do rozwiązania sam.
koskiplay
Wrzucam dodatkowo plik index.php. Mam nadzieje, że to pomoże w problemie.
  1. <?php
  2. //{wspólne zmienne i funkcje
  3. include_once('mt.incs/common.php');
  4. $page=isset($_REQUEST['page'])?$_REQUEST['page']:'';
  5. $id=isset($_REQUEST['id'])?(int)$_REQUEST['id']:0;
  6. //}
  7. //{sprawdzenie identyfikatora bieżącej strony
  8. if(!$id){
  9. if($page){ //wczytanie wg nazwy
  10. $r=Page::getInstanceByName($page);
  11. if($r && isset ($r->id))$id=$r->id;
  12. unset($r);
  13. }
  14. if(!$if){ //albo wczytanie wg zawartości pola special
  15. $special=1;
  16. if(!$page){
  17. $r=Page::getInstanceBySpecial($special);
  18. if($r && isset($r->id))$id=$r->id;
  19. unset($r);
  20. }
  21. }
  22. }
  23. //}
  24. //{ wczytywanie danych na stronę
  25. if ($id){
  26. $PAGEDATA=(isset($r) &&$r)? $r: Page::getInstance($id);
  27. }
  28. else {
  29. echo 'Błąd 404';
  30. }
  31. //}
  32. echo $PAGEDATA->body;
koskiplay
Pomoże ktoś?smile.gif
werdan
  1. function dbRow($query) {
  2. $q = dbQuery($query);
  3.  
  4. var_dump($q);die(); // wklej wynik z tego
  5.  
  6. return $q->fetch(PDO::FETCH_ASSOC);
  7. }
  8.  
  9.  
  10.  
koskiplay
Wyskoczyło mi:
  1. bool(false)

Co to oznacza?
werdan
Oznacza, że dbQuery($query); nic nie zwraca, a powinno.
koskiplay
Jak to rozwiązać? Problem jest w pliku Page.php?
werdan
  1.  
  2. function dbInit(){
  3. if(isset($GLOBALS['db']))return $GLOBALS['db'];
  4. global $DBVARS;
  5. $db=new PDO('mysql:host='.$DBVARS['localhost'].';dbname='.$DBVARS['cmsdb'],$DBVARS['root'],$DBVARS['']);
  6. var_dump("new PDO", $db);
  7. $db->query('SET NAMES utf8');
  8. $db->num_queries=0;
  9. $GLOBALS['db']=$db;
  10. var_dump("PDO", $db);
  11. return $db;
  12. }
  13. function dbQuery($query){
  14. $db=dbInit();
  15. var_dump("dbInit", $db);
  16. $q=$db->query($query);
  17. var_dump("query", $q); die();
  18. $db->num_queries++;
  19. return $q;
  20. }
  21.  



To zmien i wklej tu wynik.
koskiplay
Poprawnie?
  1. <?php
  2. function __autoload($name) {
  3. require $name.'.php';
  4. }
  5. function dbInit(){
  6. if(isset($GLOBALS['db']))return $GLOBALS['db'];
  7. global $DBVARS;
  8. $db=new PDO('mysql:host='.$DBVARS['localhost'].';dbname='.$DBVARS['cmsdb'],$DBVARS['root'],$DBVARS['']);
  9. var_dump("new PDO", $db);
  10. $db->query('SET NAMES utf8');
  11. $db->num_queries=0;
  12. $GLOBALS['db']=$db;
  13. var_dump("PDO", $db);
  14. return $db;
  15. }
  16. function dbQuery($query){
  17. $db=dbInit();
  18. var_dump("dbInit", $db);
  19. $q=$db->query($query);
  20. var_dump("query", $q); die();
  21. $db->num_queries++;
  22. return $q;
  23. }
  24. function dbRow($query) {
  25. $q = dbQuery($query);
  26. var_dump($q);die(); // wklej wynik z tego
  27. return $q->fetch(PDO::FETCH_ASSOC);
  28. }
  29. define('SCRIPTBASE', $_SERVER['DOCUMENT_ROOT'] . '/');
  30. require SCRIPTBASE . '.private/config.php';
  31. if(!defined('CONFIG_FILE'))define('CONFIG_FILE',SCRIPTBASE.'.private/config.php');
  32. set_include_path(SCRIPTBASE.'mt.php_classes'.PATH_SEPARATOR.get_include_path());

  1. string(7) "new PDO" object(PDO)#2 (0) { } string(3) "PDO" object(PDO)#2 (1) { ["num_queries"]=> int(0) } string(6) "dbInit" object(PDO)#2 (1) { ["num_queries"]=> int(0) } string(5) "query" bool(false)
werdan
OK, teraz pousuwaj wszystkie var_dump() i die()


  1. function dbRow($query) {
  2.  
  3. var_dump("query",$query);die(); // wklej wynik z tego
  4. $q = dbQuery($query);
  5. return $q->fetch(PDO::FETCH_ASSOC);
  6. }
  7.  
  8.  
  9.  
koskiplay
Usunięte.
  1. <?php
  2. function __autoload($name) {
  3. require $name.'.php';
  4. }
  5. function dbInit(){
  6. if(isset($GLOBALS['db']))return $GLOBALS['db'];
  7. global $DBVARS;
  8. $db=new PDO('mysql:host='.$DBVARS['localhost'].';dbname='.$DBVARS['cmsdb'],$DBVARS['root'],$DBVARS['']);
  9. $db->query('SET NAMES utf8');
  10. $db->num_queries=0;
  11. $GLOBALS['db']=$db;
  12. return $db;
  13. }
  14. function dbQuery($query){
  15. $db=dbInit();
  16. $q=$db->query($query);
  17. $db->num_queries++;
  18. return $q;
  19. }
  20. function dbRow($query) {
  21. $q = dbQuery($query);
  22. return $q->fetch(PDO::FETCH_ASSOC);
  23. }
  24. define('SCRIPTBASE', $_SERVER['DOCUMENT_ROOT'] . '/');
  25. require SCRIPTBASE . '.private/config.php';
  26. if(!defined('CONFIG_FILE'))define('CONFIG_FILE',SCRIPTBASE.'.private/config.php');
  27. set_include_path(SCRIPTBASE.'mt.php_classes'.PATH_SEPARATOR.get_include_path());
  28. ?>


Komunikat taki jak na początku, tj.
  1. Fatal error: Call to a member function fetch() on a non-object in C:\WebServ\httpd\websites\CMS\mt.incs\basics.php on line 23
werdan
Wklej co powyzej podałem.
Gość
Wynik:
  1. string(5) "query" string(43) "select * from pages where special&1 limit 1"
werdan
W pliku mt.php_classes zmien tą linie na poprawną:

  1. $r=dbRow("select * from pages where special&$v limit 1");


Tam zamiast & powinno być chyba =
koskiplay
mt.php_classes to folder, w nim znajduje się plik page.php. (Jest on w pierwszym moim poście)
Ta linijka zawiera =, nie &. Więc tam jest chyba dobrze
werdan
Tak faktycznie page.php

  1. if (!$byField && is_numeric($v)){ // wg identyfikatora
  2. $r=$fromRow?$fromRow:($v?dbRow("select * from pages where id=$v limit 1"):array());
  3. }
  4. else if ($byField == 1){ // wg nazwy
  5. $name=strtolower(str_replace('-','_',$v));
  6. $fname='page_by_name_'.md5($name);
  7. $r=dbRow("select * from pages where name like '".addslashes($name)."' limit 1");
  8. }
  9. else if ($byField == 3 && is_numeric($v)){ // wg pola special
  10. $fname='page_by_special_'.$v;
  11. $r=dbRow("select * from pages where special&$v limit 1");
  12. }


Zobacz co masz!
Linia 11 w kodzie powyzej
$r=dbRow("select * from pages where special&$v limit 1");

Zmień & na =
koskiplay
Teraz mam:
  1. string(5) "query" string(43) "select * from pages where special=1 limit 1"
werdan
Wywal var_dump() i die(). Sprawdz czy działa poprawnie.
koskiplay
Nadal początkowy błąd.
werdan
No nie wierze. Zamien na to.

  1. function dbRow($query) {
  2. $q = dbQuery($query);
  3. var_dump($q);die(); // wklej wynik z tego
  4. return $q->fetch(PDO::FETCH_ASSOC);
  5. }
koskiplay
Ponownie bool(false)
Spróbuje zrobić wszystkie Twoje instrukcje od początku.
werdan
  1. if ($byField == 3 && is_numeric($v)){ // wg pola special
  2. $fname='page_by_special_'.$v;
  3. $r=dbRow("select * from pages where special&$v limit 1");
  4. }


Jednak tu jest dobrze. To przykład z ksiazki Helionu. Nie jestes pierwszy który ma bład z kodem z tej ksiazki.

Helion potafi robic takie rzeczy.

Tu podobny watek z tym samym kodem co u ciebie
http://forum.php.pl/index.php?showtopic=199033
koskiplay
Nadal nic nie działa.
Kurde, nikt się tamtego wątku nawet nie podjął :/
werdan
Tu masz tez ten sam problem. Moze to ci cos pomoze.

http://www.uw-team.org/forum/viewtopic.php?t=9591
koskiplay
Niestety instrukcje z linku również mi nie pomogły.
Znalazłem inny temat: KLIK
Istnieje możliwość, że PDO nie jest zainstalowane/uruchomione w moim PHP. (Jeżeli dobrze rozumiem)
Tylko, że nie do końca wiem jak to włączyć.
koskiplay
UP
Pomoże ktoś?smile.gif
Turson
Radziłbym wystrugać coś samemu jeżeli w książce jest błąd smile.gif
werdan
Albo poprosić Heliona o erratę tongue.gif
koskiplay
Niestety errata nie zawiera błedów z tych stron. Najwidoczniej jest wszystko dobrze!:D
werdan
Jak mozesz, to spakuj cały ten kod + dumpa bazy, wrzuc gdzies w siec i daj linka.
Moze coś pomoge
com
http://helion.pl/przyklady/psycms.zip

Jest tam parę błędów, pisałem do Helionu żeby je wrzucili do erraty ale nie zrobili tego ale nie pamiętam już w którym miejscu to było..
koskiplay
Z tych gotowych kodów korzystałem również. I jak już napisałeś, nie są poprawione błędy tam.
Baza i pliki
Korzystam z WebServ-a.
Dzięki za pomoc:)
werdan
Plik index.php - linia 15

  1. if(!$if){ zamień na if(!$id){



Plik basics.php - linia 9

zmien na to:

  1. $db=new PDO('mysql:host='.$DBVARS['hostname'].';dbname='.$DBVARS['db_name'],$DBVARS['username'],$DBVARS['password']);

koskiplay
Werdan jesteś mega. Dzięki serdeczne.
Możesz mi tylko wyjaśnić dlaczego miały tam być nazwy hostname, db_name, username oraz password?
werdan
To bierze dane z configa

np.
Zapis z configa:
$DBVARS['hostname'] = 'moj_komputer';

Aby go odczytac nalezy użyć gdzies

$DBVARS['hostname']

i tyle.

w to miejsce dostaniemy 'moj_komputer'
koskiplay
Już rozumiem!
Dzięki. Jeżeli będę miał problemy w dalszych częściach książki napiszę ponownie w tym temacie, żeby nie zaśmiecać.

EDIT:

Witam, pisze ponownie. Spotykam się z kolejnym błędem. Dotyczy on logowania do panelu admina. Nieważne jaką wpiszę wartość do okienek zawsze wyskakuje komunikat "login_msg=loginfailed" w adresie. Dodatkowo nie wyświetlają się żadne komunikaty od Jquery. Głowie się już kilka godzin. Jakaś pomoc?smile.gif

Wrzucam pliki wraz z bazą danych phpMyAdmin. Mam nadzieje, że pomożecie smile.gif
PLIKI

EDIT:
Udało mi się naprawić poprawne wyświetlanie komunikatów. Lecz logowanie nie działa nadal. Proszę jeśli ktoś jest w stanie niech pomoże. Chciałbym kontynuować budowę smile.gif
Wrzucam odświeżone pliki wraz z bazą danych. Pliki i baza danych

Być może jest to plik admin_libs.php, który sprawdza czy sesja jest adminem i tak dalej.

  1. <?php
  2. require $_SERVER['DOCUMENT_ROOT'].'/mt.incs/basics.php';
  3. function is_admin(){
  4. if(!isset($_SESSION['userdata']))return false;
  5. if(
  6. isset($_SESSION['userdata']['groups']['_administrators']) ||
  7. isset($_SESSION['userdata']['groups']['_superadministrators'])
  8. )return true;
  9. if(!isset($_REQUEST['login_msg']))$_REQUEST['login_msg']='permissiondenied';
  10. return false;
  11. }
  12. if(!is_admin()){
  13. require SCRIPTBASE.'mt.admin/login/login.php';
  14. }
  15. ?>

Albo plik login.php.

  1. <?php
  2. require SCRIPTBASE.'mt.incs/recaptcha.php';
  3. $captcha=recaptcha_get_html(RECAPTCHA_PUBLIC);
  4. ?>
  5. <html>
  6. <head>
  7. <title>Logowanie</title>
  8. <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
  9. <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.0/jquery-ui.min.js"></script>
  10. <link rel="stylesheet" type="text/css" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.0/themes/south-street/jquery-ui.css" />
  11. <script src="/mt.admin/login/login.js"></script>
  12. <link rel="stylesheet" type="text/css" href="/mt.admin/login/login.css" />
  13. <meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head>
  14. <body>
  15. <div id="header"></div>
  16. <?php
  17. if(isset($_REQUEST['login_msg'])){
  18. require SCRIPTBASE.'mt.incs/login-codes.php';
  19. $login_msg=$_REQUEST['login_msg'];
  20. if(isset($login_msg_codes[$login_msg])){
  21. echo '<script>$(function(){$("<strong>'
  22. .htmlspecialchars($login_msg_codes[$login_msg])
  23. .'</strong>").dialog({modal:true});});</script>';
  24. }
  25. }
  26. ?>
  27. <div class="tabs">
  28. <ul>
  29. <li><a href="#tab1">Logowanie</a></li>
  30. <li><a href="#tab2">Przypomnienie hasła</a></li>
  31. </ul>
  32. <div id="tab1">
  33. <form method="post" action="/mt.incs/login.php?redirect=<?php echo $_SERVER['PHP_SELF'];?>">
  34. <table>
  35. <tr><th>e-mail</th><td><input id="email" name="email" type="email" /></td></tr>
  36. <tr><th>hasło</th><td><input type="password" name="password" /></td></tr>
  37. <tr id="captcha"><th>captcha</th><td><?php echo $captcha; ?></td></tr>
  38. <tr><th colspan="2" align="right"><input name="action" type="submit" value="zaloguj" class="login" /></th></tr>
  39. </table>
  40. </form>
  41. </div>
  42. <div id="tab2">
  43. <form method="post" action="/mt.incs/password-reminder.php?redirect=<?php echo $_SERVER['PHP_SELF'];?>">
  44. <table>
  45. <tr><th>e-mail</th><td><input id="email" type="text" name="email" /></td></tr>
  46. <tr><th colspan="2" align="right"><input name="action" type="submit" value="wyślij mi moje hasło" class="login" /></th></tr>
  47. </table>
  48. </form>
  49. </div>
  50. </div>
  51. </body>
  52. </html>


Albo login.php z innego folderu.

  1. <?php
  2. require 'login-libs.php';
  3.  
  4. login_check_is_email_provided();
  5.  
  6. //sprawdzenie czy podano hasło
  7. if(!isset($_REQUEST['password'])|| $_REQUEST['password']==''){
  8. login_redirect($url,'nopassword');
  9. }
  10.  
  11. login_check_is_captcha_provided();
  12. login_check_is_captcha_valid();
  13. //sprawdzenie czy podana kombinacja hasła i adresu e-mail pasuje do użytkownika
  14.  
  15. $password=md5($_REQUEST['email'].'|'.$_REQUEST['password']);
  16. $r=dbRow('select * from user_accounts where email="'.addslashes($_REQUEST['email']).'" and password="'.$password.'" and active');
  17. if($r==false){
  18. login_redirect($url,'loginfailed');
  19. }
  20. // powodzenie! utworzenie zmiennej sesji i dokonanie przekierowania
  21. $_SESSION['userdata']=$r;
  22. $groups=json_decode($r['groups']);
  23. $_SESSION['userdata']['groups']=array();
  24. foreach($groups as $g)$_SESSION['userdata']['groups'][$g]=true;
  25. if($r['extras']=='')$r['extras']='[]';
  26. $_SESSION['userdata']['extras']=json_decode($r['extras']);
  27.  
  28. login_redirect($url);
Turson
  1. $password=md5($_REQUEST['email'].'|'.$_REQUEST['password']);
  2. $r=dbRow('select * from user_accounts where email="'.addslashes($_REQUEST['email']).'" and password="'.$password.'" and active');

o co chodzi z tym hasłem questionmark.gif W zapytaniu masz '... and active' active = co?
koskiplay
Nie wiem dokładnie. Przeczytałem tylko podstawy PHP.
Dostałem pewną pomoc i błąd może być gdzieś tutaj. Tylko nie jestem pewien gdzie:
Zrzut danych z tabeli:
  1. INSERT INTO `user_accounts` (`id`, `email`, `password`, `active`, `groups`, `activation_key`, `extras`) VALUES
  2. (3, 'mateusz@gmail.com', '202cb962ac59075b964b07152d234b70', 1, '["_superadministrator"]', NULL, NULL),
  3. (4, 'mt@gmail.com', '81dc9bdb52d04dc20036dbd8313ed055', 1, '[]', NULL, NULL);

  1. //powodzenie. Utworzenie zmiennej sesji i dokonanie przekierowania
  2. $_SESSION['userdata']=$r;
  3. $groups=json_decode($r['groups']);
  4. $_SESSION['userdata']['groups']=array();
  5. foreach($groups as $g)$_SESSION['userdata']['groups'][$g]=true;
  6. if($r['extras']=='')$r['extras']='[]';
  7. $_SESSION['userdata']['extras']=json_decode($r['extras']);

  1. function is_admin(){
  2. if(!isset($_SESSION['userdata']))return false;
  3. if(
  4. isset($_SESSION['userdata']['groups']['_administrators']) ||
  5. isset($_SESSION['userdata']['groups']['_superadministrators']
  6. ))return true;
  7. if(!isset($_REQUEST['login_msg'])) $_REQUEST['login_msg']='permissiondenied';
  8. return false; }
  9.  
  10. if(!is_admin()){
  11. require SCRIPTBASE.'mt.admin/login/login.php';
  12. }
Turson
  1. $r=dbRow('select * from user_accounts where email="'.addslashes($_REQUEST['email']).'" and password="'.$password.'" and active = 1');
koskiplay
Nadal otrzymuje komunikat w pasku adresu login_msg=loginfailed.
Turson
  1. $password=md5($_REQUEST['email'].'|'.$_REQUEST['password']);

Sprawdź, czy ta forma $password jest taka sama jak w przypadku zakładania konta
+dodaj wyświetlanie błędów error_reporting(E_ALL)
koskiplay
Jest taka sama, błędy nie wyskakują.

Jakaś dodatkowa pomoc? Może ktoś znalazł błąd?
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.