Passer une variable PHP après refresh de div

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Passer une variable PHP après refresh de div

Re: Passer une variable PHP après refresh de div

par tempo » 13 mars 2012, 23:03

Bonjour,

un type de variable que tu peux récupérer ou modifier depuis une div en ajax, est la $_SESSION.
Si cela peut t'aider..

cdt

Re: Passer une variable PHP après refresh de div

par Megadeth » 23 oct. 2011, 01:05

LOL of course c'est d'une logique implacable mais je suis un poil rêveur ou con, au choix ^^

A ce tarif autant recharger la page entièrement.

MERCI encore à tous les intervenants :)

Re: Passer une variable PHP après refresh de div

par xTG » 19 oct. 2011, 11:19

quand je clique sur un élément de menu je recharge en ajax ma div "page" en faisant un include ou autre donc je reste sur l'index (ce qui marche très bien) mais les variables chargées dans la div page ne sont bizarrement pas accessibles ailleurs que dans cette div. J'ai juste besoin de récupérer une valeur pour pouvoir gérer un élément se trouvant dans le footer.
C'est normal, car ton div page est exécuté côté serveur à un instant t+1 alors que le footer a été exécuté à l'instant t. Donc au moment où tu charges ton nouveau div page, le footer n'est qu'un amas de texte formant du HTML et n'est plus du tout un script PHP en cours de résolution.

Si tu veux avoir un footer dynamique en fonction du div page je te conseillerai de faire en sorte de recharger les deux en même temps sur le même appel, ainsi tu aurais un script PHP pour les deux et les variables seraient partagées.

Re: Passer une variable PHP après refresh de div

par Megadeth » 19 oct. 2011, 10:11

Bonjour Aureusms,

Moi je fais comme ça, sur l'index :
<a href="javascript:void(0);" onClick='check_content("traitement.php?id=rubrique1")'>rubrique1</a>
Ma page de traitement :
$id = $_GET['id']; 
if ($id == 'rubrique1'){ include ("rubrique1.php"); }else{ echo 'no match'; }
J'ai essayé de passer des paramètres mais je n'arrive pas à les reprendre sur la home.

Mon code ajax :

Code : Tout sélectionner

function makeObject(){ var x; if (window.ActiveXObject) { x = new ActiveXObject("Microsoft.XMLHTTP"); }else if (window.XMLHttpRequest) { x = new XMLHttpRequest(); } return x; } var request = makeObject(); var the_content; function check_content(the_content){ request.open('get', the_content); request.onreadystatechange = parseCheck_content; request.send(''); } function parseCheck_content(){ if(request.readyState == 1){ document.getElementById('content').innerHTML = 'Loading...'; } if(request.readyState == 4){ var answer = request.responseText; document.getElementById('content').innerHTML = answer; } }
J'ai essayé des getElement, de feinter en variable GET, de SERVEUR...Ca passe pas.

Mega
;)

Re: Passer une variable PHP après refresh de div

par Aureusms » 19 oct. 2011, 00:11

Tout dépend comment tu fais ton include();
Le passage de Variable en Ajax n'est possible que si tu les fais passer en méthode GET ou en POST.
Tu peux aussi les pré-passées en utilisant les sessions PHP mais il te faudra quand même GET ou POST.

Un exemple en méthode GET :

Code : Tout sélectionner

var majTxDeChangeObject = createXmlHttpRequestObject (); function majTxDeChange() { if (majTxDeChangeObject) { try { var lienGet = "?affiche=maj_taux_de_change"; majTxDeChangeObject.open("GET", "index.php"+lienGet, true); majTxDeChangeObject.onreadystatechange = majTxDeChangeStateChange; majTxDeChangeObject.send(null); } catch(e) { alert ("Impossible de se connecter au serveur : \n"+e.toString()); } } } function majTxDeChangeStateChange() { if (majTxDeChangeObject.readyState == 4) { if (majTxDeChangeObject.status == 200) { try { } catch(e) { alert ("Erreur lors de la lecture de la réponse : " + e.toString()); } } else { alert ("Il y a un problème de réception des données:\n" + majTxDeChangeObject.statusText); } } }

Re: Passer une variable PHP après refresh de div

par Megadeth » 18 oct. 2011, 22:01

C'est p'tet pas possible :roll:

Re: Passer une variable PHP après refresh de div

par Megadeth » 17 oct. 2011, 11:31

Re,

NP :)

J'ai mon fichier d'index avec 3 div

header (+menu)
page
footer

quand je clique sur un élément de menu je recharge en ajax ma div "page" en faisant un include ou autre donc je reste sur l'index (ce qui marche très bien) mais les variables chargées dans la div page ne sont bizarrement pas accessibles ailleurs que dans cette div. J'ai juste besoin de récupérer une valeur pour pouvoir gérer un élément se trouvant dans le footer.

Je ne peux pas passer de variables dans mon include et ne peut faire de header("location"). Je ne sais pas si je suis clair dans mes expli ^^

++

Mega
;)

Re: Passer une variable PHP après refresh de div

par xTG » 17 oct. 2011, 09:04

Je suis toujours autant dans les nuages désolé.
Pourrais-tu nous en dire plus ?

Tu parles de variable déclarée dans l'index qui n'est pas récupérable dans ton header, page, footer (fichiers inclus dans l'index) ?

Re: Passer une variable PHP après refresh de div

par Megadeth » 16 oct. 2011, 23:11

Salut xTG, toujours les mêmes ;)

En fait, je pensais pouvoir récupérer l'info via $_SERVER['REQUEST_URI'] mais idem.

Ma page se construit en 3 div

header
page
footer

mais tout ce qui se rafraichit dans la div page n'est pas récupérable dans header ou footer quelque soit la variable, le champ etc... du moins je sèche là-dessus.

Mega
;)

Re: Passer une variable PHP après refresh de div

par xTG » 16 oct. 2011, 09:10

Tu cherches à savoir si c'est juste un rafraichissement qui a été appelé ou bien si tu proviens d'une autre page c'est bien ça ?
Tu devrais pouvoir trouver ton bonheur dans la variable $_SERVER dans ce cas.

Passer une variable PHP après refresh de div

par Megadeth » 16 oct. 2011, 00:39

Bonjour,

Je suis novice en ajax et cherche le moyen de passer une variable que je pourrais tester après le refresh d'une div pour tester la page courante.

En clair si ma variable = truc, je fais un echo "class=page_en_cours" sans recharger ma page depuis ma page d'index.

Ma solution proposée, je déclare une variable en dur dans la page appelée, mais impossible de récupérer cette valeur sur l'index.

Quelqu'un a une idée du pourquoi du comment et une solution à ce problème ?

Mega
;)