![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Przyjaciele php.pl Postów: 215 Pomógł: 0 Dołączył: 28.10.2003 Skąd: - Ostrzeżenie: (0%) ![]() ![]() |
[php:1:ce11497c5e]<?php
class MainEngine { var $db; var $tpl; function MainEngine() { include('adodb.inc.php'); $this->db = &ADONewConnection('mysql'); $this->db->SetFetchMode(ADODB_FETCH_ASSOC); $this->db->Connect('localhost', 'root', '12345', 'db'); $this->db->debuge = true; $ADODB_SESSION_DRIVER = 'mysql'; $ADODB_SESSION_CONNECT = 'localhost'; $ADODB_SESSION_USER = 'root'; $ADODB_SESSION_PWD = '12345'; $ADODB_SESSION_DB = 'db'; $ADODB_SESSION_TBL = 'sessions'; include('session/adodb-session.php'); include('Smarty.class.php'); $this->tpl = new Smarty; } ?>[/php:1:ce11497c5e] Problem: Kiedy wywoluje jakas operacje klasy np.: Kod <?php
$cos = new MainEngine; $cos->loginUser($login, password); ?> otrzymuje nastepujace bledy: Kod Warning: mysql_pconnect(): Access denied for user: 'root@localhost' (Using password: NO) in c:Servhomeadodbdriversadodb-mysql.inc.php on line 334
Session: connection failed Warning: session_start(): Cannot send session cookie - headers already sent by (output started at c:Servhomeadodbdriversadodb-mysql.inc.php:334) in C:Servhomepublic_htmlcmsindex.php on line 3 Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at c:Servhomeadodbdriversadodb-mysql.inc.php:334) in C:Servhomepublic_htmlcmsindex.php on line 3 Nie jestem pewien czy zmienne konfiguracji sesji ADODB sa dobrze zadeklarowane (w dobrym miejscu)? Czy ktos z Was spotkal sie z podobnym problemem? -------------------- <span style="font-weight: bold;">Open Source Enterprise Content Management</span>
|
|
|
![]()
Post
#2
|
|
![]() Grupa: Przyjaciele php.pl Postów: 215 Pomógł: 0 Dołączył: 28.10.2003 Skąd: - Ostrzeżenie: (0%) ![]() ![]() |
[php:1:4566ca568c]<?php
class MainEngine { var $db; var $tpl; function MainEngine() { include('adodb.inc.php'); $this->db = &ADONewConnection('mysql'); $this->db->SetFetchMode(ADODB_FETCH_ASSOC); $this->db->Connect('localhost', 'root', '12345', 'cms'); $this->db->debuge = true; include('session/adodb-session.php'); include('Smarty.class.php'); $this->tpl = new Smarty; } function loginUser($login, $password) { if(empty($login) || empty($password)) { return(false); } else { $row = $this->db->GetRow("SELECT password FROM users WHERE login='".$login."'") or die($this->db->ErrorMsg()); } if($row['password'] != md5($password)) { return(false); } else { $this->db->Execute("UPDATE users SET session='".session_id()."', ip='".$_SERVER['REMOTE_ADDR']."', date=NOW() WHERE login='".$login."'") or die($this->db->ErrorMsg()); } if(!$this->db->Affected_Rows()) { return(false); } else { $row = $this->db->GetRow("SELECT userId FROM users WHERE login='".$login."'") or die($this->db->ErrorMsg()); $_SESSION['userId'] = $row['userId']; return(true); } } ?>[/php:1:4566ca568c] Pozbylem sie bledu po przez reczne wpisanie odpowiednich wartosci w pliku adodb-session.php. Jednak $this->db i $this->tpl nie sa widoczne wewnatrz metod klasy. [php:1:4566ca568c]<?php $row = $this->db->GetRow("SELECT password FROM users WHERE login='".$login."'") or die($this->db->ErrorMsg()); ?>[/php:1:4566ca568c] plecenie to nie jest wykonywane. Dlaczego? Jak powinnino wygladac odwolanie do tych atrybutow aby miec do nich dostep wewnatrz metod? -------------------- <span style="font-weight: bold;">Open Source Enterprise Content Management</span>
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 18.06.2025 - 18:58 |