Utilizare $_SESSION in alt fisier php apelat cu Ajax
Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
-
andras
- Mesaje: 430
Utilizare $_SESSION in alt fisier php apelat cu Ajax
Salut,
am in pagina un Ajax() care trimite la sesiuneid.php care arata asa:
Cod: Selectaţi tot
<?php
if(!isset($_SESSION)) session_start();
if (isset($_REQUEST['id'])) {
$id=$_REQUEST['id'];
$_SESSION['idturneu']=$id;
echo $_SESSION['idturneu']; // valoarea $_SESSION['idturneu'] se introduce intr-un element type="hidden" din pagina
}
?>
apoi aceeasi pagina (din care am apelat ajax) instantiaza imediat (fara refresh) un obiect:
Cod: Selectaţi tot
<?php
$objRe = new AddPlayer($mysql);
echo $objRe->result;
?>
Problema e ca in acel obiect am nevoie de $_SESSION['idturneu'] dar acolo nu-l vede, adica nu-l vede cu valoarea actualizata. Cum rezolv sa-l vada? Daca iau ca parametru de unde-l iau? Multumesc.
MarPlo
Mesaje: 4343
Salut
Ca sa folosesti $_SESSION cu valoarea retinuta de la un fisier php la altul, trebuie sa ai session_start(); la inceput la Toate acele fisiere php.
- Adauga si in fisierul apelat cu ajax functia: session_start();.
andras
Mesaje: 430
Am pus in toate 3 fisierele (pagina, apelat cu ajax si AddPlayer) in prima linie:
dar tot nu actualizeaza. Daca pun doar session_start(); imi da eroare, zice ca mai este startata o sesiune.
Poate ar trebui cumva sa-l transmit ca parametru la instantiere, dar de unde-l iau?
MarPlo
Mesaje: 4343
Daca verifici cu
Si apare sesiune care te intereseaza, problema nu e de la session, posibil sa fie de la logica codului, cum ar fi, ordinea in care se creaza acea sesiune si momentul cand e necesara; sau in ce conditii se actualizeaza si nu sunt indeplinite.
andras
Mesaje: 430
La concluzia asta am ajuns si eu, sesiunea se actualizeaza dar cu intirziere de un click. Cind dau click pe o linie din tabelul html ar trebui sa preia in sesiune id-ul acelei linii pe care apoi il folosesc in obiectul instantiat, dar de fapt in obiectul instantiat este afisat $_SESSION['id'] de la click-ul anterior, adica de la linia precedenta. Trebuie sa regindesc tot codul.
Intrebare: se poate crea un obiect (instantiere) intr-un fisier PHP apelat cu Ajax? La mine asta e problema, din fisierul apelat cu ajax (unde se declara $_SESSION) aplicatia se intoarce in pagina apoi din pagina se face instantierea dintr-un alt PHP, deci degeaba declar $_SESSION in ajax, daca nu exista Refresh la pagina fisierul PHP care contine clasa n-are cum sa vada accea variabila $_SESSION. Ma gindesc sa instantiez direct in fisierul ajax. Sau exista alta cale? Multumesc.
MarPlo
Mesaje: 4343
Nu conteaza in codul php daca fisierul php e accesat cu Ajax sau cu adresa in browser.
Poti sa creezi instanta de obiect in php daca ai inclusa clasa php respectiva. Instanta de obiect e valabila cat se executa acel cod php. $_SESSION ramane disponibil pe server in oricare fisier php in care exista session_start().
Subiecte similare
-
Post cu Ajax in modal
JavaScript - jQuery - Ajax
Primul mesaj
Bună ziua,
Vreau să trimit în aceeași pagină dar în modal două id-uri. Prin alert(id) îmi arată conținutul postului trimis dar în modal nu imi...
Ultimul mesaj
Nu prea inteleg mecanismul si ce anume nu functioneaza.
Oricum, daca functioneaza cand pui manual id-ul, poate ca problema e de la php.
Trebuie sa...
-
Ordine de executie cu jQuery-AJAX
JavaScript - jQuery - Ajax
Primul mesaj
Am acest cod (ajax este asincron):
function echoHello(){
return $.ajax({
//this will return hello ;
});
}
function echoWorld(){
return world...
Ultimul mesaj
Ajax face un apel către serverul web și este asincron. Nu știi cât va dura pana la raspuns. Este la fel ca:
setTimeout(_ => {...
-
Ajax fade mesaj si redirect dupa un timp
JavaScript - jQuery - Ajax
Primul mesaj
Am codul asta si vreau in loc de input type=button sa fie submit, dar sa imi dea fade la fel in 5 secunde de cand apare eroarea.
Daca schimb cu...
Ultimul mesaj
Am rezolvat,multumesc frumos de ajutor
-
Accesare fișier XML din alt domeniu in JS
JavaScript - jQuery - Ajax
Primul mesaj
Creez un site web cu HTML și JavaScript care se bazează pe datele unui fișier XML de pe un domeniu separat.
Pot realiza acest lucru cu jQuery-Ajax...
Ultimul mesaj
Încerca să folosesti API-ul fetch.
fetch('//example.com/file_address')
.then( response => response.text() )
.then( response => {...