Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> przenoszenie zmiennej do class, problem z przeniesieniem zmiennej
pyrek
post
Post #1





Grupa: Zarejestrowani
Postów: 109
Pomógł: 0
Dołączył: 23.09.2003

Ostrzeżenie: (0%)
-----


Witam mam takie pytanko związane z class i przenoszeniem zmiennej:

mam plik index.php
w nim includije plik
config.php i
session.php

w config.php i - w niem zdefiniowane zmienne np: $baza_admin_sess='admin_sess';

w tym pliku session.php mam takie coś

  1. <?php
  2. class session 
  3. { 
  4.  var $ses_table = &#092;"$baza_admin_sess\"; 
  5.  var $db_con = &#092;"Y\"; 
  6.  var $db_host = &#092;"$url_db\"; 
  7. var $db_user = &#092;"$username_db\"; 
  8. var $db_pass = &#092;"$password_db\"; 
  9. var $db_dbase = &#092;"$database_db\"; 
  10. ?>
$url_db , $baza_admin_sess, $username_db, $password_db , $database_db - są zdefiniowane w configu ale mi ich nie widzi jak to zrobić żeby je widział(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
pyrek
post
Post #2





Grupa: Zarejestrowani
Postów: 109
Pomógł: 0
Dołączył: 23.09.2003

Ostrzeżenie: (0%)
-----


dr_bonzo możesz mi to bardziej wyjaśnić??

siedze mieszam i już tak namieszałem że już całkiem nic nie wiem:

musze ten plik przerobić tak aby dane includowane c config czyli:

$baza_admin_sess
$url_db
$username_db
$password_db
$database_db były widziane zamiast obecnie zdefiniowanych

var $ses_table = "admin_sessions";

/* Change to 'Y' if you want to connect to a db in
the _open function */
var $db_con = "Y";

/* Configure the info to connect to MySQL, only required
if $db_con is set to 'Y' */
var $db_host = "localhost";
var $db_user = "username";
var $db_pass = "pass";
var $db_dbase = "database name";

a oto ten kod:
  1. <?php
  2.  
  3. /* Create new object of class */
  4. $ses_class = new session(); 
  5.  
  6. /* Change the save_handler to use the class functions */ 
  7. session_set_save_handler (array(&$ses_class, '_open'), 
  8.                           array(&$ses_class, '_close'), 
  9.                           array(&$ses_class, '_read'), 
  10.                           array(&$ses_class, '_write'), 
  11.                           array(&$ses_class, '_destroy'), 
  12.                           array(&$ses_class, '_gc')); 
  13.  
  14. /* Start the session */ 
  15.  
  16. class session
  17. {
  18.     /* Define the mysql table you wish to use with 
  19.        this class, this table MUST exist. */
  20.     var $ses_table = &#092;"admin_sessions\"; 
  21.  
  22.     /* Change to 'Y' if you want to connect to a db in 
  23.        the _open function */ 
  24.     var $db_con = &#092;"Y\"; 
  25.  
  26.     /* Configure the info to connect to MySQL, only required 
  27.        if $db_con is set to 'Y' */ 
  28.     var $db_host = &#092;"localhost\";
  29.     var $db_user = &#092;"username\"; 
  30.     var $db_pass = &#092;"pass\"; 
  31.     var $db_dbase = &#092;"database name\"; 
  32.     /* Create a connection to a database */ 
  33.     function db_connect() {
  34.         $mysql_connect = @mysql_pconnect ($this->db_host, 
  35.                                           $this->db_user, 
  36.                                           $this->db_pass); 
  37.         $mysql_db = @mysql_select_db ($this->db_dbase); 
  38.  
  39.         if (!$mysql_connect || !$mysql_db) { 
  40.             return FALSE; 
  41.         } else { 
  42.             return TRUE; 
  43.         }$d
  44.     } 
  45.  
  46.     /* Open session, if you have your own db connection 
  47.        code, put it in here! */ 
  48.     function _open($path, $name) {
  49.         if ($this->db_con == &#092;"Y\") { 
  50.             $this->db_connect(); 
  51.         } 
  52.  
  53.         return TRUE; 
  54.     } 
  55.  
  56.     /* Close session */ 
  57.     function _close() {
  58.         /* This is used for a manual call of the 
  59.            session gc function */ 
  60.         $this->_gc(0); 
  61.         return TRUE; 
  62.     } 
  63.  
  64.     /* Read session data from database */ 
  65.     function _read($ses_id) {
  66.         $session_sql = &#092;"SELECT * FROM \" . $this->ses_table 
  67.                      . &#092;" WHERE ses_id = '$ses_id'\"; 
  68.         $session_res = @mysql_query($session_sql); 
  69.         if (!$session_res) { 
  70.             return ''; 
  71.         } 
  72.  
  73.         $session_num = @mysql_num_rows ($session_res); 
  74.         if ($session_num > 0) { 
  75.             $session_row = mysql_fetch_assoc ($session_res); 
  76.             $ses_data = $session_row['ses_value']; 
  77.             return $ses_data; 
  78.         } else { 
  79.             return ''; 
  80.         } 
  81.     } 
  82.  
  83.     /* Write new data to database */ 
  84.     function _write($ses_id, $data) {
  85.         $session_sql = &#092;"UPDATE \" . $this->ses_table 
  86.                      . &#092;" SET ses_time='\" . time() 
  87.                      . &#092;"', ses_value='$data' WHERE ses_id='$ses_id'\"; 
  88.         $session_res = @mysql_query ($session_sql); 
  89.         if (!$session_res) { 
  90.             return FALSE; 
  91.         } 
  92.         if (mysql_affected_rows ()) { 
  93.             return TRUE; 
  94.         } 
  95.  
  96.         $session_sql = &#092;"INSERT INTO \" . $this->ses_table 
  97.                      . &#092;" (ses_id, ses_time, ses_start, ses_value)\" 
  98.                      . &#092;" VALUES ('$ses_id', '\" . time() 
  99.                      . &#092;"', '\" . time() . \"', '$data')\"; 
  100.         $session_res = @mysql_query ($session_sql); 
  101.         if (!$session_res) {     
  102.             return FALSE; 
  103.         }         else { 
  104.             return TRUE; 
  105.         } 
  106.     } 
  107.  
  108.     /* Destroy session record in database */ 
  109.     function _destroy($ses_id) {
  110.         $session_sql = &#092;"DELETE FROM \" . $this->ses_table 
  111.                      . &#092;" WHERE ses_id = '$ses_id'\"; 
  112.         $session_res = @mysql_query ($session_sql); 
  113.         if (!$session_res) { 
  114.             return FALSE; 
  115.         }         else { 
  116.             return TRUE; 
  117.         } 
  118.     } 
  119.  
  120.     /* Garbage collection, deletes old sessions */ 
  121.     function _gc($life) {
  122.         $ses_life = strtotime(&#092;"-5 minutes\"); 
  123.  
  124.         $session_sql = &#092;"DELETE FROM \" . $this->ses_table 
  125.                      . &#092;" WHERE ses_time < $ses_life\"; 
  126.         $session_res = @mysql_query ($session_sql); 
  127.  
  128.  
  129.         if (!$session_res) { 
  130.             return FALSE; 
  131.         }         else { 
  132.             return TRUE; 
  133.         } 
  134.     } 
  135. } 
  136. ?>


będe wdzięczny za pomoc!!!

Ten post edytował pyrek 12.05.2005, 13:24:13
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 6.10.2025 - 14:50