Sesiune

Ai o întrebare legată de PHP? Incercăm să îi găsim soluţie. Sau poate doar vrei să publici un cod interesant.

Moderatori: Zamolxe, Moderatori

Ruben
Average Member
Mesaje: 91
Membru din: Joi Iul 04, 2013 10:31 pm

Sesiune

Mesajde Ruben » Mar Oct 29, 2013 3:11 pm

Salutare!
Astazi am o simpla intrebare.
Cum fac sa retin sesiunile? Am observat ca codul meu functiona corect dar dupa ce am reinstalt windows-ul si am instalat zampp din nou, imi dadea Notice: Undefined index:. Poate nu am fost foarte explicit dar vreau sa ajung la: Cum pot sa retin niste date care sa le trimit prin sesiune dar fara sa le pierd niciodata, chiar daca cade serverul, indiferent ce, cand userul acceseaza pagina totul sa functioneze. Multumesc!



takedown
Average Member
Mesaje: 153
Membru din: Joi Feb 07, 2013 8:50 pm
Contact:

Re: Sesiune

Mesajde takedown » Mar Oct 29, 2013 10:45 pm

Salut , foloseste cookie!

Avatar utilizator
vectorialpx
Senior Member
Mesaje: 4832
Membru din: Mar Mar 01, 2005 9:48 am
Localitate: Bucuresti
Contact:

Re: Sesiune

Mesajde vectorialpx » Mie Oct 30, 2013 11:43 am

Salut.
Referitor la Notice: Undefined index:... citeste articolul asta.
Referitor la
Cum pot sa retin niste date care sa le trimit prin sesiune dar fara sa le pierd niciodata, chiar daca cade serverul, indiferent ce, cand userul acceseaza pagina totul sa functioneze. Multumesc!

Cateva greseli care pe mine ma deranjeaza la citit (fara legatura cu topicul):
- "ca codul" [cacofonie 1]
- "date pe care" [lipsa prepozitie "pe"]
- "daca cade" [cacofonie 2]

Ceea ce zici tu pare stupid (si, este un pic) insa exista o solutie care cu siguranta te depaseste (imi dau seama dupa cum scrii, dar poate ma insel). Aceasta solutie este HTML5 DB Storage, valabil in HTML5 si, in anumite browsere - google link si trebuie sa functioneze cam asa: faci chestii pe server si in acelasi timp sincronizezi cu un DB local. Daca server-ul e down la un moment dat, lucrezi cu date locale (limitate la ceea ce-ai sincronizat, nu muti tot server-ul in browser, doar chestii esentiale) si atunci cand este din nou on-line (presupunand ca nu pica o zi intreaga) faci din nou sincronizarea cu serverul iar userul nu va observa mare lucru (decat poate lipsa unor features pe care nu le poti face pe local si pe care trebuie sa le scoti cand server-ul e off-line).

Nu am timp sa explic, povestea e lunga si, poti cauta pe Google diverse detalii.

Referitor la raspunsul colegului
Salut , foloseste cookie!

nu este ceva fals insa, depinde de nevoi.

Ruben
Average Member
Mesaje: 91
Membru din: Joi Iul 04, 2013 10:31 pm

Re: Sesiune

Mesajde Ruben » Mie Oct 30, 2013 4:43 pm

M-am si grabit ca nu aveam mare rabdare atunci sa scriu postul. Explic din nou:
Am un server si un panou de control de unde postez anumite lucruri. Am un cod care eu ii zic creator. El imi creaza postul meu si imi selecteaza datele care trebuie pe o sesiune.
De exemplu cum am eu:

Cod: Selectaţi tot

$query = "SELECT * FROM `articole` WHERE `titlu` = '".$_SESSION['titlu']."'";

Problema este: Cand pica serverul si porneste iar sesiune nu mai exista si primesc Undefined. Eu vreau sa imi salvez cumva sesiunea respectiva ca sa nu am probleme cu selectarea datelor din baza de date. Sesiunea se trimite din panoul de control pana la fisierul respectiv cu postul meu. Sper ca am fost explicit acuma! :)
Inca o intrebare: Asta s-a intamplat cand am reinstalat XAMPP. Dar eu normal deschideam si inchideam oricand serverul Apache si MySQL si nu am primit nici o eroare niciodata. Sa fie doar din cauza reinstalari? Daca da atunci topicul e ca si inchis deoarece cand voi pune site-ul pe un server nu va fi problema aceasta deoarece serverul merge non-stop, daca nu imi trebuie o solutie sa retin cumva datele din sesiune indiferent ce se intampla.
Multumesc din nou!

Avatar utilizator
vectorialpx
Senior Member
Mesaje: 4832
Membru din: Mar Mar 01, 2005 9:48 am
Localitate: Bucuresti
Contact:

Re: Sesiune

Mesajde vectorialpx » Mie Oct 30, 2013 6:05 pm

Este foarte enervant sa citesc in limba ta :)

Am un cod care eu ii zic creator => Am un cod caruia eu ii zic creator
In fine...
datele care trebuie pe o sesiune"

Ce vrea sa insemne asta?

Nu stiu cum crezi tu ca functioneaza sesiunile dar, nu au legatura cu:
Sesiunea se trimite din panoul de control pana la fisierul respectiv cu postul meu.

Deci, ma simt nevoit sa te invit sa citesti mai multe despre sesiuni si, apoi, post-ul pe care ti l-am dat, despre erori.

Ca si idee:
Daca server-ul pica... site-ul pica. E atat de simplu.
Daca server-ul pica si se restarteaza in timp ce tu ai o sesiune activa in browser, sesiunea nu este afectata atat timp cat nu s-au sters fisierele temporare de pe server.
Daca server-ul se restarteaza, codul tau nu este afectat. Daca pana acum primeai [undefined ceva], il primeai pentru ca ai scris cod gresit, nu pentru ca s-a restartat server-ul.

Ruben
Average Member
Mesaje: 91
Membru din: Joi Iul 04, 2013 10:31 pm

Re: Sesiune

Mesajde Ruben » Mie Oct 30, 2013 6:15 pm

vectorialpx acuma nu stau sincer sa fac gramatica... in fine.
Revenind la subiect. Nu ma intelegi. Intelegi subiectul total aiurea. Eu incerc sa explic altceva.

quadmachine
Senior Member
Mesaje: 807
Membru din: Sâm Iul 10, 2010 4:58 pm
Localitate: Ploiesti
Contact:

Re: Sesiune

Mesajde quadmachine » Joi Oct 31, 2013 10:42 am

Ruben scrie:vectorialpx acuma nu stau sincer sa fac gramatica... in fine.
Revenind la subiect. Nu ma intelegi. Intelegi subiectul total aiurea. Eu incerc sa explic altceva.


Nici nu trebuie deoarece ai facut-o cu femeia de serviciu, macar spala bine geamurile?

Tu intelegi ceea ce ti-a spus vectorialpixel despre sesiune? De ce crezi ca se numeste sesiune?

Cod: Selectaţi tot

SESIUNE: perioada de timp in care..


Sesiunea are si ea o limita de viata, poate expira peste 1 minut sau 1 an.Ca si cand te-ai duce la scoala pentru 8 ore si dupa aceea ajungi acasa, asta inseamna ca ai avut o sesiune de 8 ore.O perioada de timp(Explicatie sesiune) ai stat la scoala.

Poti folosi EverCookie daca tot esti insistent si neintelegator, ele se salveaza in browserul local prin diferite mecanisme.

http://samy.pl/evercookie/

Cod: Selectaţi tot

Nu confundati femeia de serviciu cu profesoara de Limba si Literatura Romana.

Ruben
Average Member
Mesaje: 91
Membru din: Joi Iul 04, 2013 10:31 pm

Re: Sesiune

Mesajde Ruben » Joi Oct 31, 2013 7:45 pm

Am rezolvat singur ce-am avut dar mai am o mica problema care e si stupida.
Cum salvez datele dintr-o sesiune intr-o variabila. Doresc sa salvez datele din sesiune in variabila, sa sterg variabila cu session_destroy() si sa folosesc in continuare datele salvate in variabila.

Avatar utilizator
vectorialpx
Senior Member
Mesaje: 4832
Membru din: Mar Mar 01, 2005 9:48 am
Localitate: Bucuresti
Contact:

Re: Sesiune

Mesajde vectorialpx » Vin Noi 01, 2013 2:18 pm

Ca sa stergi o variablia de sesiune nu tre' sa faci session_destroy() 8O

Cum salvez datele dintr-o sesiune intr-o variabila?
Pai, faci o asignare... cu un simplu = (egal)

Cod: Selectaţi tot

<?php
session_start();

if( isset($_SESSION['gigi']) ) {
    $GIGI = $_SESSION['gigi'];
    unset($_SESSION['gigi']);
} else {
    $GIGI = false;
}

Ruben
Average Member
Mesaje: 91
Membru din: Joi Iul 04, 2013 10:31 pm

Re: Sesiune

Mesajde Ruben » Vin Noi 01, 2013 5:53 pm

Nu merge. Cand intru prima data, imi arata tot cum trebuie dar daca dau un refresh sau daca intru iar nu imi mai arata nimic, nici eroare, nimic.

Avatar utilizator
vectorialpx
Senior Member
Mesaje: 4832
Membru din: Mar Mar 01, 2005 9:48 am
Localitate: Bucuresti
Contact:

Re: Sesiune

Mesajde vectorialpx » Lun Noi 04, 2013 2:38 pm

Nu ai scris nicio linie de cod aici, de unde ar trebui sa stim noi ce faci tu de "nu merge"?
Sau, ti se pare ca "nu merge" ne ajuta la ceva? 8O

Ruben
Average Member
Mesaje: 91
Membru din: Joi Iul 04, 2013 10:31 pm

Re: Sesiune

Mesajde Ruben » Lun Noi 04, 2013 5:25 pm

Acest imi este tot codul:

Cod: Selectaţi tot

<?php
session_start();
if(isset($_SESSION['titlu'])) {
    $titlu = $_SESSION['titlu'];
    unset($_SESSION['titlu']);
} else {
    $titlu = false;
}
$query = "SELECT * FROM `articole` WHERE `titlu` = '".$titlu."' LIMIT 1";
$query2 = mysql_query($query) or die (mysql_error());
while($row = mysql_fetch_array($query2)){
   echo '<div class="titlu" style="background-color:#39F;">'.$row['titlu'].'</div>';
   echo '<img src="'.$row['imagine2'].'" width="900"  height="200" />';
   echo ''.$row['continut'].'';
   echo '<div style="font-weight:bold; color:#C00; text-align:left;">Arhivat in:</div><div style="text-align:left;">'.$row['tags'].'</div>';
   echo '<div align="left" style="float:left;"><small>Publicat la data si ora de: ' . $row['data'] . '</small></div><div align="right"><small>Publicat de: ' . $row['autor'] . '</small></div>';
   $_SESSION['id'] = '"'.$row['id'].'"';
}
?>

Sesiunea porneste de pe o alta pagina. Aici vreau sa salvez datele din sesiune intr-o variabila sau string. Vreau sa aplic funtia unset() la sesiunea actuala si sa creez o noua sesiune cu datele salvate in variabila/string sau sa continui direct cu variabila. Depinde de caz.


Înapoi la “Cod PHP”

Cine este conectat

Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 35 vizitatori