begin process at 2012 05 31 15:01:07
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Web 2.0

 > 

Ajax

 > 

Requetes ajax


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Requetes ajax

mardi 4 septembre 2007 à 00:52:03 | Requetes ajax

sbool

Bonsoir;
Cela fait plusieurs mois que je me dépatouille tout seul sur un site, mais la je galere vraiment,
Je viens voir des grands programmeurs car c'est desepéré pour moi.

Mon problème:
Ayant un serveur local, j'ai dévellopé tout mon site dessus, puis lors de la migration pour l'hebergement, une faille de sécurité est apparue a cause du ping qui est trop elevé;
dans mon jeu en ajax, mon fichier "ok.php" (fait pour valider une bonne réponse par sessions) renvoit un lien permettant de retourner sur le jeu.
Hélàs pour moi, lorsque un joueur clique sur ce lien 5 fois de suite très rapidement, il renvoit 5 bonnes réponses.
Comment pourrais-je faire pour limiter ce temps sachant qu'avec les cookies + temps c'est pas gerable car le jeu va trop vite.
Le site fonctionne tres simplement

pour un lien :      <a href="#" onClick="ShowPage(13)">Mon compte</a><br/>


dans head:        <script type='text/JavaScript'>
var xhr = null;
function getXhr()
{
     if(window.XMLHttpRequest)xhr = new XMLHttpRequest();
else if(window.ActiveXObject)
  {
  try{
     xhr = new ActiveXObject("Msxml2.XMLHTTP");
     } catch (e)
     {
     xhr = new ActiveXObject("Microsoft.XMLHTTP");
     }
  }
else
  {
  alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
  xhr = false;
  }
}

function ShowPage(page)
{
getXhr();
xhr.onreadystatechange = function()
    {
     if(xhr.readyState == 4 && xhr.status == 200)
     {
     document.getElementById('page').innerHTML=xhr.responseText;
     }
    }
xhr.open("GET","ajax.php?page="+page,true);
xhr.send(null);
}

</script>

Dans ajax.php : $page=$_GET['page'];


     if($page==1)require 'index2.php';

Si vous me donnez un idée plutot PHP, jsuis pas contre car le javascript et moi, c'est pas le top du tout lol...
Merci pour votre interret;
Très coordialement, sbool


mardi 4 septembre 2007 à 01:56:44 | Re : Requetes ajax

Evangun

Salut,

la réponse est dans la question :

mon fichier "ok.php" (fait pour valider une bonne réponse par sessions)

-> quand tu reçois la réponse tu mets :

if(!isset( $_SESSION['deja_repondu'])){
    enregistrement de la réponse ou ce que tu veux;
    $_SESSION['deja_repondu'] = true;
}
else {
    echo 'déjà répondu !';
}
mardi 4 septembre 2007 à 14:28:38 | Re : Requetes ajax

sbool

Salut evangun, merci de ton support,
j'ai compris ce que tu veux que je fasse, cepandant, durant le jeu, la personne est redirigée vers cette page (ok.php) a chaque bonne reponse, puis à la page qui met au hazard une autre question ainsi de suite...
Donc si j'ajoute le script, si le joueur à deux bonnes reponses à la suite ca ne va plus marcher.
C'est plutot autour de ca mon probleme je crois:
xhr.open("GET","ajax.php?page="+page,true);
mais je ne suis vraiment pas assez expérimenté en javascript pour optimiser ce petit bout.
Merci pour d'eventuelles suggestions, critiques ou support.
@ très bientôt , Sbool.

mardi 4 septembre 2007 à 14:34:25 | Re : Requetes ajax

Evangun

Réponse acceptée !
non, pas dans l'appel de la page, ça pourra être contourné...
plutôt une variable de session par question:

if(!isset( $_SESSION['question23_deja_repondu'])){
    enregistrement de la réponse ou ce que tu veux;
    $_SESSION['question23_deja_repondu'] = true;
}
else {
    echo 'question 23 : déjà répondu !';
}

ou sinon tu marques dans ta base de donnée que la question a déjà été répondue (je sais c'est pas français, mais on se comprend :))
mardi 4 septembre 2007 à 15:07:07 | Re : Requetes ajax

sbool


Oui, c'est parfait!
dans ok.php => $session'dejavu'++;
Dans moteur.php =>
$conneries = $session'dejavu';
if ($conneries < 1) { $session'scrore' = $score - $conneries; $session'dejavu'=0;}
elseif ($conneries < 5) { $session'scrore' = $score - $conneries; $session'dejavu'=0; echo'Merci de ne cliquer qu'une seule fois sur mes lien'; }

Avec un truc du genre je devrais m'en sortir.
Merci Evangun!!

mardi 4 septembre 2007 à 17:43:13 | Re : Requetes ajax

Evangun

Je t'en prie :)
mardi 4 septembre 2007 à 19:33:24 | Re : Requetes ajax

malalam

Administrateur CodeS-SourceS
Hello,

je ne suis pas convaincu (sauf ton respect Evan hein :-) ) : les sessions et Ajax, ça fait rarement bon ménage.
Puisque ton site requiert javascript (cf ajax), je pense que tu devrais passer par une solution bcp plus simple (sauf si la solution proposée fonctionne hein, à voir, je n'ai pas bien compris le fonctionnement de ton jeu et ce qu'Ajax vient faire là-dedans) : dès qu'il clique (que ce soit un bouton ou un lien), vant de faire ton appel ajax, tu désactives le lien/bouton.
<a href="bla.php" id="a1>bla</a>
=>
elem = document.getElementById('a1');
a1.href='';

<input type="button" onclick="bla();" value="bla" id="b1" />
=>
elem = document.getElementById('b1');
elem.disabled=true;


mardi 4 septembre 2007 à 20:08:16 | Re : Requetes ajax

Evangun

Hello Malalam :)

Mais avec cette solution tu laisses la faille qui permet d'avoir plus de points que prévu. Alors oui autant utiliser cette méthode aussi pour l'esthétique, mais comme complément.
Moi non plus je ne suis pas très au fait du fonctionnement de ce jeu, je donnais juste une solution générique à ce genre de problèmes. Après, Ajax + redirection, oui ça me paraît un peu louche aussi, mais bon :)
Ceci dit, Ajax + session, a priori pas de contre-indication !? A quoi penses-tu Malalam ?
mardi 4 septembre 2007 à 23:53:59 | Re : Requetes ajax

sbool


Voilà quelques echanges constructifs du coup.
Pour ma part et pour repondre à malalam dans un premier temps, les sessions passent nickel depuis que je tripote ajax, les cookies aussi d'ailleurs, mais j'ai je ne m'en sert que pour controler le temps et frequence d'utilisation.
J'ai testé:

<a href="#" id="a1" onClick="ShowPage(31)">bla</a>
<script type='text/JavaScript'>elem = document.getElementById('a1');
a1.href='';


Ca fonctionne comme d'hab, si click 10 fois, score = 10.

Pareil pour:

 <input type="button" onclick="ShowPage(31)" value="bla" id="b1" />
<script type='text/JavaScript'>
elem = document.getElementById('b1');
elem.disabled=true;
</script>

Sinon, pour mon post précédent, j'ai pas réussit a faire grand chose de productif en fait.
Je m'en remmet donc à vous et encore merci!


mercredi 5 septembre 2007 à 00:34:42 | Re : Requetes ajax

sbool



Jai egalement testé
<a href="#" id="a1" onDblClick="ShowPage(31)" onClick="ShowPage(31)">bla</a>
et même chose...

1 2

Cette discussion est classée dans : page, site, php, ajax, xhr


Répondre à ce message

Sujets en rapport avec ce message

Galère ajax et cookies avec php [ par sbool ] Bonsoir tout le monde;Je ramme grave depuis une heure avec mon script:Avec un exemple de wikipedia, je viens juste de me mettre à l'ajax (pourtant les Modifier une variable php sans passer par un fomulaire [ par mailliam ] Tcho à tous! Je veux afficher une grille faite avec 100 images (10x10). J'aimerais que quand je clique sur la 1ère image ça envoie une variable php a Problèmes listes déroulantes dynamiques avec php et ajax [ par maha1987 ] Bonjour tout le monde, je veux afficher 3 listes liées dynamiquement ,mon problème c'est que la 1ère et la 2ème liste s'affichent mais la 3ème non, vo Formulaire avec Ajax PHP MySQL [ par vargas ] Bonjour à tous je m'adresse à vous car je suis pris avec un grand problème, je sais qu'il y a beaucoup des post que parlent déjà de mon problème mais insertion d'un reponse ajax dans une page php [ par barcawi ] Bonjour Svp je cherche une solution à un problem qui m'a vraiment troublé,<br / chat et ajax affichage (aide) [ par speedylol ] bonjour j 'ai trouver sur la toîle c'est deux script un en ajax qui doit rafraîchir le script php mais je comprends pas bien le fonctionnement, seriez navigation avec ajax [ par speedylol ] bonjour je me demandais si quelqu'un aurais une idée pour changer la fin du script pour naviger avec le centre dans une veuille de style css a la GET intégration d'un site dans une page PHP [ par David_monchy ] Bonjour à tous,J'ai créé un site, dans lequel je passe entre les pages des paramètres.(exemple: www.monsite.com/index.php?a=1&b=2)Maintenant, je voudr chemin pour fonction xmlhttprequest [ par David_monchy ] salut,Comme je l'ai dit dans l'un de mes posts précédents, je suis en train d'intégrer un site déjà existant au sein meme d'un autre site. Pour cela, problème FRAME et PHP [ par xactise ] Bonjours voila sur mon site j'ai 2 frame une frame en haut qui contient une anim flash et une frame en bas qui contient mon site le problème c'est que


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,889 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales