Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
910 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Problème global php avec ajax

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème global php avec ajax

n°1427857
sff
Posté le 20-08-2006 à 01:54:42  profilanswer
 

Voila je vais essayer d'être le plus clair possible. Donc ici: http://rpgillusion.franceserv.com/game/
 
Si vous cliquez sur "créer un personnage" cela va vous afficher "ttttt"
 
Voila le code:
 

Code :
  1. if ($loginOK == false) {
  2. $controlquery = doquery("SELECT * FROM {{table}} WHERE id='1' LIMIT 1", "control" );
  3. $controlrow = mysql_fetch_array($controlquery);
  4.     if(isset($_POST['ajax']) && $_POST["page"] && $_POST['ajax'] == true ){
  5.         if ($_POST["page"] == "verify" ) {include('users.php'); verify(); }
  6.  if ($_POST["page"] == "sondage" ) {include('login.php'); sondage(); }
  7.     }else{
  8.     echo'   <img src="images/login/puce2.gif"/>&nbsp;<a href="#" onclick="javascript:ajax_request(\'POST\', \'login.php?page=sondage\', \'ajax=true&Monpost1=\'+ document.getElementById(\'bouton\').value,\'responseText\',\'principal\');" ><span class="marron1">Créer un personnage</span></a><br />';}
  9. }


 
 
Donc comme vous avez pu l'apercevoir j'inclus la page login.php et la focntion sondage:
 

Code :
  1. function sondage() {
  2. //$controlrow = $GLOBALS['controlrow'];  
  3. global $controlrow;
  4. $page = '<b>'.$_GET['id'].''.$controlrow['copyright'].'</b>ttttttt';
  5.     echo $page;
  6.    
  7. }


 
 
Le problème c''est que ca affiche que le tttt  sur cette ligne: $page = '<b>'.$_GET['id'].''.$controlrow['copyright'].'</b>ttttttt';  ce qui signifie que le global du dessus ne fonctionne pas pourtant index, je déclare bien ma requete:
 
if ($loginOK == false) {
 
 $controlquery = doquery("SELECT * FROM {{table}} WHERE id='1' LIMIT 1", "control" );
 $controlrow = mysql_fetch_array($controlquery);
 
J'utilise ajax pour le lien, si je met un lien classique le global fonctionne (<a href="?page=sondage">lien</a>  .
 
Que dois je faire pour afficher le global dans la fonction avec ce lien ajax?

mood
Publicité
Posté le 20-08-2006 à 01:54:42  profilanswer
 

n°1427877
gebruik
Posté le 20-08-2006 à 09:50:33  profilanswer
 

Le X de AJAX veut dire XML. Là, je n'en vois pas.

n°1427910
Dj YeLL
$question = $to_be || !$to_be;
Posté le 20-08-2006 à 11:40:02  profilanswer
 

Je vois pas bien le rapport avec la choucroute non plus là... :??:
 
 
Et puis :
 

Citation :

J'utilise ajax pour le lien


 
 [:blinkgt]


Message édité par Dj YeLL le 20-08-2006 à 11:40:22

---------------
Gamertag: CoteBlack YeLL
n°1427921
zapan666
Tout est relatif
Posté le 20-08-2006 à 11:54:25  profilanswer
 

Les variables globales, faut eviter, passe la variable en parametre de ta fonction.


---------------
my flick r - Just Tab it !
n°1427971
sff
Posté le 20-08-2006 à 12:35:04  profilanswer
 

Pourtant c'est simple a comprend, si j'utilise un lien formé pour ajax, ca n'affichera pas le global dans la fonction sondage. Si jemet un lien classique, ca affichera bien la global.

Message cité 1 fois
Message édité par sff le 20-08-2006 à 12:36:43
n°1427981
Dj YeLL
$question = $to_be || !$to_be;
Posté le 20-08-2006 à 13:16:04  profilanswer
 

sff a écrit :

Pourtant c'est simple a comprend, si j'utilise un lien formé pour ajax, ca n'affichera pas le global dans la fonction sondage. Si jemet un lien classique, ca affichera bien la global.


 
Ben franchement non, c'est pas "simple" comme tu dis ... pour moi "si j'utilise un lien formé pour ajax, ca n'affichera pas le global dans la fonction sondage" ça veut rien dire, désolé [:spamafote]


---------------
Gamertag: CoteBlack YeLL
n°1428058
sff
Posté le 20-08-2006 à 16:01:41  profilanswer
 

Dj YeLL tu comprend le problème ou pas?  
 
Lien en ajax = global qui ne fonctionne pas sur la fonction sondage()
 
Lien classique = global qui fonctionne sur la fonction sondage()

n°1428065
mIRROR
Chevreuillobolchévik
Posté le 20-08-2006 à 16:09:30  profilanswer
 

ca change rien ton global c ets laid :/
tu pourrais mettre ta variable en parametre de ta fonction
 
edit :
 

zapan666 a écrit :

Les variables globales, faut eviter, passe la variable en parametre de ta fonction.


 
la troisieme fois c ets sodoban :o
[:the real moins moins]


Message édité par mIRROR le 20-08-2006 à 16:10:44
n°1428066
masklinn
í dag viðrar vel til loftárása
Posté le 20-08-2006 à 16:16:49  profilanswer
 

gebruik a écrit :

Le X de AJAX veut dire XML. Là, je n'en vois pas.


stfu avec cette stupidité, merci.


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1428070
sff
Posté le 20-08-2006 à 16:29:58  profilanswer
 

Donc voila:
 
Mon page login avec la fonction sondage()
 

Code :
  1. <?php
  2. function sondage($controlrow) {
  3. $page = '<b>'.$controlrow['copyright'].'</b>ttttttt';
  4.     echo $page;
  5.    
  6. }
  7. ?>


 
 
Et lien qui pose problème avec l'inclusion de la fonction sondage()
 
if ($loginOK == false) {
 
   if(isset($_POST['page'])){
 
 
       if ($_POST["page"] == "verify" ) {include('users.php'); verify(); }
     if ($_POST["page"] == "sondage" ) {include('login.php'); sondage($controlrow);}
   
 
    }else{
   echo '<img src="images/login/puce2.gif"/>&nbsp;<a href="#" onclick="javascript:ajax_request(\'POST\', \'?page=sondage\', \'ajax=true&Monpost1=\'+ document.getElementById(\'bouton\').value,\'responseText\',\'principal\');" ><span class="marron1">Créer un personnage</span></a><br />';
 
 }
 }
 
ca n'affiche rien pourtant la fonction sondage n'est pas vide !
 
Exemple: http://rpgillusion.franceserv.com/game/


Message édité par sff le 20-08-2006 à 16:32:57
mood
Publicité
Posté le 20-08-2006 à 16:29:58  profilanswer
 

n°1886747
omeya
Posté le 21-05-2009 à 00:32:55  profilanswer
 

Bonsoir,
Je réponds à un topic de 2006 mais vu qu'aucune réponse n'a été apportée, je me permets d'apporter ma petite contribution.
 
Si vous voulez utiliser une variable globale, créez la dans ce style :
$_SESSION['mavariableglobale'];
mais avant, pour que cette variable globale soit accessible à la fois depuis la page principale et la page dite "inline" (celle chargée en AJAX), vous devrez ouvrir l'accès à la session utilisateur globale en cours en ajoutant, tout en haut des 2 fichiers concernés la commande suivante :
session_start();
 
donc au final ça donne :
* fichier principal :
session_start();
$_SESSION['mavariableglobale'] = ''; // initialisation à faire de préférence dans le fichier principal car le premier à être chargé
... code du fichier principal...
 
* fichier "inline" (AJAX) :
session_start();
... code du fichier inline avec utilisation de la variable globale $_SESSION['mavariableglobale']...
 
Avec cette méthode, vous transformez la variable $_SESSION['mavariableglobale'] en une seule et même variable pour les 2 fichiers.
 
Et celui qui dit que AJAX sans XML, c'est pas de l'AJAX à cause du X, c'est un boulet :x désolé, mais j'ai pas pu résister...
C'est pas parce qu'un site web n'utilise pas de XML qu'il n'exploite pas la technologie AJAX! AJAX = avant tout communication asynchrone avec le serveur.
 
Salutations.

Message cité 1 fois
Message édité par omeya le 21-05-2009 à 01:24:44
n°1886908
tomsoft
Posté le 21-05-2009 à 22:55:03  profilanswer
 

omeya a écrit :

Bonsoir,
Je réponds à un topic de 2006 mais vu qu'aucune réponse n'a été apportée, je me permets d'apporter ma petite contribution.
 
Si vous voulez utiliser une variable globale, créez la dans ce style :
$_SESSION['mavariableglobale'];
mais avant, pour que cette variable globale soit accessible à la fois depuis la page principale et la page dite "inline" (celle chargée en AJAX), vous devrez ouvrir l'accès à la session utilisateur globale en cours en ajoutant, tout en haut des 2 fichiers concernés la commande suivante :
session_start();
 
donc au final ça donne :
* fichier principal :
session_start();
$_SESSION['mavariableglobale'] = ''; // initialisation à faire de préférence dans le fichier principal car le premier à être chargé
... code du fichier principal...
 
* fichier "inline" (AJAX) :
session_start();
... code du fichier inline avec utilisation de la variable globale $_SESSION['mavariableglobale']...
 
Avec cette méthode, vous transformez la variable $_SESSION['mavariableglobale'] en une seule et même variable pour les 2 fichiers.
 
Et celui qui dit que AJAX sans XML, c'est pas de l'AJAX à cause du X, c'est un boulet :x désolé, mais j'ai pas pu résister...
C'est pas parce qu'un site web n'utilise pas de XML qu'il n'exploite pas la technologie AJAX! AJAX = avant tout communication asynchrone avec le serveur.
 
Salutations.


 
une session pour juste une variable globale  :sweat:  
 

n°1887116
omeya
Posté le 22-05-2009 à 21:39:50  profilanswer
 

tomsoft, tes sites n'utilisent jamais de session?

n°1887159
tomsoft
Posté le 23-05-2009 à 10:51:30  profilanswer
 

sisi, mais pas pour une variable globale

 

edit : a moins que par globale tu entends variable de session, qui reste entre tes pages :jap:


Message édité par tomsoft le 23-05-2009 à 10:52:05
n°1887448
omeya
Posté le 25-05-2009 à 00:36:20  profilanswer
 

Ah j'ai confondu variable globale et variable de session! :x
Je crois que je me suis trop focalisé sur le résultat obtenu... autant pour moi.
 
Sinon, aurais-tu une solution similaire côté variable globale sans passer par la transmission de variable dans une fonction? Je suis peut-être dans l'erreur mais j'ai l'impression que les variables globales sont les grands oubliées de la technique AJAX, idem pour les fonctions globales.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Problème global php avec ajax

 

Sujets relatifs
[VC++] Problème de distibution avec un programme MFC[c#] [résolu]problème FolderBrowserDialog
probleme de formulaireProblème Pop-up
Problème Pop-up[VC++] Problème de distibution avec un activeX
Problème clic zone de liste modifiablepetit problème avec les pointeurs
Problème encodage d'un site[VBA] Probleme copie after + ...
Plus de sujets relatifs à : Problème global php avec ajax


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR