Ajax et init variables de session php
kofi_kari_kari
-
Sudoers -
Sudoers -
Bonjour,
Je réalise un petit jeu chronométré en utilisant ajax et php. Le jeu se déroule en 3 phases et à chaque phase correspond une page php.
La page 1 présente le jeu et possède un bouton "Start". Au moment où le joueur clique sur le
bouton "Start", je déclenche un script javascript qui:
- lance un script php qui s'occupe de créer et d'initialiser des variables de session utiles
par la suite
- redirige le joueur sur la page 2 du jeu
Mon problème est le suivant:
J'ai de l'instabilité avec ma mise à jour de variable de session. Sous Firefox, ça ne marche pas toujours très bien: parfois les variables sont initialisées, parfois elles ne le sont pas.
Sur chrome, ça ne marche carrément jamais.
J'ai essayé d'initialiser directement dans ma page 1 php mes variables de session (plutôt que de passer par un script js) et tout fonctionne parfaitement.
Tout se passe comme si le javascript ne laissait pas le temps à php de créer et d'initialiser
les variables de session.
Avez vous déjà été confronté à un tel problème et avez vous une solution à me proposer? Il va sans dire que je voudrais faire marcher la solution d'initialisation avec javascript.
Voici un peu de code pour "illustrer" mon problème:
Page 1 du php
Javascirpt
Le gameInit.php n'est qu'un code qui initialise des variables de session. Il y en a pas mal dedans (genre une grosse vingtaine dont un tableau rempli via une requête à une base de données)
Merci beaucoup pour votre aide.
Bien cordialement
Je réalise un petit jeu chronométré en utilisant ajax et php. Le jeu se déroule en 3 phases et à chaque phase correspond une page php.
La page 1 présente le jeu et possède un bouton "Start". Au moment où le joueur clique sur le
bouton "Start", je déclenche un script javascript qui:
- lance un script php qui s'occupe de créer et d'initialiser des variables de session utiles
par la suite
- redirige le joueur sur la page 2 du jeu
Mon problème est le suivant:
J'ai de l'instabilité avec ma mise à jour de variable de session. Sous Firefox, ça ne marche pas toujours très bien: parfois les variables sont initialisées, parfois elles ne le sont pas.
Sur chrome, ça ne marche carrément jamais.
J'ai essayé d'initialiser directement dans ma page 1 php mes variables de session (plutôt que de passer par un script js) et tout fonctionne parfaitement.
Tout se passe comme si le javascript ne laissait pas le temps à php de créer et d'initialiser
les variables de session.
Avez vous déjà été confronté à un tel problème et avez vous une solution à me proposer? Il va sans dire que je voudrais faire marcher la solution d'initialisation avec javascript.
Voici un peu de code pour "illustrer" mon problème:
Page 1 du php
<?php //include_once "php/phpGameInit.php"; ?> <p> You'll be playing to the free answers game. You'll have a limited amount of time per questions. Are you ready to start? </p> <!-- Code for the button to redirect on the game page and to start the game --> <INPUT type="submit" value="Start" onClick="startGame()" > <script src="function.js" type="text/javascript"> </script>
Javascirpt
var phpFolder = "./php/";
var gameMiddlePage="game_free_answers.php";
var phpGameInit = "phpGameInit.php";
function startGame()
{
window.location.href=gameMiddlePage;
generateRequest("empty", phpGameInit);
}
function generateRequest(callBackFunction, phpScript, toPost)
{
var xmlHttp = generateXmlhttp();
xmlHttp.onreadystatechange=function()
{
if (xmlHttp.readyState==4 && (xmlHttp.status == 200 || xmlHttp.status == 0))
{
if(callBackFunction!="empty")
{
callBackFunction(xmlHttp.responseText);
}
}
}
if(toPost)
{
xmlHttp.open("POST",phpFolder.concat(phpScript),true);
xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
for(var i=0; i<toPost.length; i++)
{
xmlHttp.send(toPost[i]);
}
}
else
{
xmlHttp.open("GET",phpFolder.concat(phpScript),true);
xmlHttp.send(null);
}
}
Le gameInit.php n'est qu'un code qui initialise des variables de session. Il y en a pas mal dedans (genre une grosse vingtaine dont un tableau rempli via une requête à une base de données)
Merci beaucoup pour votre aide.
Bien cordialement
A voir également:
- Ajax et init variables de session php
- Easy php - Télécharger - Divers Web & Internet
- Teamviewer code de session expiré ✓ - Forum logiciel systeme
- Session invalide ou obsolète - Forum Consommation & Internet
- Expert php pinterest - Télécharger - Langages
- Veuillez ouvrir une session avec les privilèges du gestionnaire ✓ - Forum Jeux vidéo