Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 155 Pomógł: 12 Dołączył: 5.04.2008 Ostrzeżenie: (0%)
|
Witam
tworze sobie klasy do obsługi bazy i walidacji danych. plik z klasa bazy dbFns.php Kod <?php require_once('config.php'); class Database { protected $hConn; public function __construct() { $this->hConn = mysql_connect(Db_host, Db_user, Db_password, Db_database) if(!$this->hConn) { throw new Exception("Nie można połączyć się z bazą."); } } public function __destruct() { if($this->hConn) { print ('widze w destruktorze'); mysql_close($this->hConn); } } public function select($sql) { $sql = mysql_real_escape_string($sql); $hRes = mysql_query($sql, $this->hConn) or die('brak polaczenia w dbfns'); while($odp = mysql_fetch_array($hRes)) { print $odp['email']; } } } ?> plik z funkcjami do walidacji danych: Kod <?php require 'dbFns.php'; class ValidateData extends Database { function safe_output($string) { $string = trim($string); $string = strip_tags($string); $string = htmlspecialchars($string); return $string; } function validateUserName($value) { $value = $this->safe_output($value); if($value == null) { return 0; } $query = parent::select("SELECT * FROM users WHERE username = '$value'"); } } ?> i wywołanie funkcji w pliku sign.php w postaci: Kod <?php if(isset($_POST['signup'])) { $validate = new ValidateData(); $validate->validateUserName($_POST['login_sign']); } ?> Problem polega na tym że połączenie z bazą jest zamykane przed wywołaniem funckji validateUserName(), tzn. pojawia się komunikat z Kod $hRes = mysql_query($sql, $this->hConn) or die('brak polaczenia w dbfns'); tej linijki kodu że brak połączenia w dbnfs, oraz komunikat Kod print('widze w destruktorze'); czyli wywoływany jest od razu destruktor według mnie. Czy ktoś może pomóc rozwiązać ten problem bo nie wiem czy funkcja select jest w złym miejscu czy uchwyt połączenia trzeba jakoś inaczej przekazać?? Ten post edytował bliitz 5.04.2008, 13:04:21 |
|
|
|
bliitz obsługa bazy danych 5.04.2008, 13:03:40
xbitdesigns przenies destruktor do klasy validate albo nadpisz... 5.04.2008, 16:56:03
daniel1302 [PHP] pobierz, plaintext <?phppublic function s... 6.04.2008, 08:49:46 
bliitz Cytat(daniel1302 @ 6.04.2008, 09:49:4... 6.04.2008, 11:03:05
wlamywacz O nieeee po co ta pętla i ten printf w select ?
M... 6.04.2008, 09:55:05 ![]() ![]() |
|
Aktualny czas: 21.12.2025 - 22:06 |