Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc
Comunitatea PHP Romania
 

Problema de problema cu sesiuni ....
Vezi mesajul original

 
       Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc -> PHP Avansat
Subiectul anterior :: Subiectul următor  
Autor Mesaj
zmarius81



Data înscrierii: 23/Apr/2004
Mesaje: 5
Locație: Dap.Ro

Trimis: Vin Apr 23, 2004 1:17 pm    Titlul subiectului: Problema de problema cu sesiuni ....  

Cum pot sa salvez o valoare de tip resursa ....
Cu sesiuni am incercat si nu merge ....
Sa va explic mai bine un pic.

Daca fac ceva de genu, bineinteles dupa session_start ();

$_SESSION ['connect_id'] = ftp_open ("__host__");

atunci in $_SESSION ['connect_id'] am o resura ... sa zicem un pointer la host.

Daca de exemplu in alta pagina, dupa session_start();, am nevoie de aceasta resursa sa zicem pentru o comanda oarecare aceasta se face automat zero, adica

$_SESSION ['connect_id'] = 0;

chestie verificata personal.
Cum am verificat?
print_r ($_SESSION) in prima pagina si print_r($_SESSION) in a doua pagina ....
Sus  
TheWanderer



Data înscrierii: 05/Apr/2004
Mesaje: 142
Locație: Bucuresti

Trimis: Vin Apr 23, 2004 6:45 pm    Titlul subiectului:  

Mai, daca te-ai fi uitat in manualul de php ai fa vazut ca spune destul de clar ca variabilele de tip resursa nu pot fi inregistrate cu o sesiune.
Nu ai cum sa salvezi o resursa. Gandeste-te putin ce ar insemna sa poti salva o conexiune MySQL... tii deschis soket-ul asa la infinit pana cand se hotaraste user-ul sa sa conecteze iar. La fel si in cazul fisierelor ... le tii deschise non stop si nu le mai inchide nimeni. Nu se poate.
Sus  
zmarius81



Data înscrierii: 23/Apr/2004
Mesaje: 5
Locație: Dap.Ro

Trimis: Sâm Apr 24, 2004 7:21 pm    Titlul subiectului:  

Da ai dreptate, m-am documentat si nu se poate dace asa ceva, cel putin deocamdata, m-am uitat si prin forumurile de la Php.Net, si prin helpurile mai noi si asa e cum zici ...
Mersi ...
Sus  
arond



Data înscrierii: 11/Mar/2004
Mesaje: 580
Locație: 127.0.0.1

Trimis: Sâm Apr 24, 2004 8:34 pm    Titlul subiectului:  

zmarius81 a scris: ...cel putin deocamdata...

Nu e vorba de 'deocamdata'. Conceptual, o resursa nu poate fi 'persisted' (exact cum a mai spus cineva... ce fac, tin socketi deschisi pana se schimba legea ? etc...). Poti sa persisti starea resursei (de ex: string de conectare, + o descriere a starii resursei... dar asta e dementa :)).

De altfel, una din caractersiticile HTTP este faptul ca e stateless, iar chestia asta cu sesiunile e doar o carpeala, conceputa pentru a asigura un mecanism de persistenta pentru HTTP.

Cu alte cuvinte, faptul ca 'resource' nu se poate salva in sesiune nu e o limitare a PHP-ului.
Sus  
zmarius81



Data înscrierii: 23/Apr/2004
Mesaje: 5
Locație: Dap.Ro

Trimis: Dum Apr 25, 2004 8:18 am    Titlul subiectului:  

Cu alte cuvinte ceea ce ma intereseaza pe mine adica sa parsez intr-o sesiune o resursa deocamdata nu se poate in Php sau ma rog in versiunile care sunt, posibil sa versiunile viitoare ....
Dar totusi cum pot trimite o variabila de tip resursa dintr-un fisier php in altul ... :arrow:
Sus  
TheWanderer



Data înscrierii: 05/Apr/2004
Mesaje: 142
Locație: Bucuresti

Trimis: Lun Apr 26, 2004 11:05 am    Titlul subiectului:  

Faci variabila de tip resursa globala si in felul asta va fi disponibila in toate scripturile.
an style="color: #000000"><?php global $cnt; $cnt=mysql_connect(....)  . . . 
Sus  
zmarius81



Data înscrierii: 23/Apr/2004
Mesaje: 5
Locație: Dap.Ro

Trimis: Lun Apr 26, 2004 11:26 am    Titlul subiectului:  

Am sa incerc si varianta asta ...
Mersi ...
Sus  
zmarius81



Data înscrierii: 23/Apr/2004
Mesaje: 5
Locație: Dap.Ro

Trimis: Lun Apr 26, 2004 12:21 pm    Titlul subiectului:  

Da am incercat si cum ai zis tu, chestia asta care o zici tu include urmatoarea problema:
register_globals = On
si de obicei toate serverele din motive de securitate aceasta valoare este setata pe Off deci pica si varianta cu global. :D
Oricum a fost o idee ...
Sus  
TheWanderer



Data înscrierii: 05/Apr/2004
Mesaje: 142
Locație: Bucuresti

Trimis: Lun Apr 26, 2004 2:38 pm    Titlul subiectului:  

Deci si asta cade...
Poti sa faci incluziuni multiple. In mainfile deschizi conexia si apoi faci incluziuni. In fisiserele incluse variabila va exista!
an style="color: #000000"><?php // a,php <?php global $test; $test="100"; require_once("b.php"); ?> //////////////////////////////////////// // b.php <?php die($test); ?> 
Sus  
arond



Data înscrierii: 11/Mar/2004
Mesaje: 580
Locație: 127.0.0.1

Trimis: Mar Apr 27, 2004 12:02 am    Titlul subiectului:  

zmarius81 a scris: Da am incercat si cum ai zis tu, chestia asta care o zici tu include urmatoarea problema:
register_globals = On
si de obicei toate serverele din motive de securitate aceasta valoare este setata pe Off deci pica si varianta cu global. :D
Oricum a fost o idee ...

Ce legatura are ?

register_globals=on iti inregistreaza variabilele primite prin POST, GET sau cookie in namespace-ul global. Cu ce afecteaza asta (sau lipsa acestei setari) declararea unei variabile ca globale ?

In alta ordine de idei, ascultati sfatul unui om batran. NICIODATA nu folositi variabile globale pentru a transmite argumente de ici-colo. Repet, NICIODATA.

Rezolvari exista duium (functii, clase cu membrii statici, singletoane, etc, etc).

De ex:

<?php function getConnection() {   static $connection = null;   if ($connection === null)     $connection = mysql_connect(...);   return $connection; } ?>

si in loc de:

<?php global $cnt; mysql_xxx($cnt, ...); ?>

o sa ai:

<?php mysql_xxx(getConnection(), ...); ?>
Sus  
PHPRomania Bot
Bot Member


Data înscrierii: 27/Dec/2007
Mesaje: 1
Locaţie: Server Google
Trimis: Mie Dec 26, 2007 7:01 pm   Titlul subiectului: Ad  

Sus  
 
       Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc -> PHP Avansat
Pagina 1 din 1


Powered by phpBB 2.0.22 © 2001, 2002 phpBB Group
Varianta în limba română: Romanian phpBB online community