Vote en Ajax

Fredy07
Invité n'ayant pas de compte PHPfrance

09 sept. 2009, 05:34

Bonjour, je voudrais faire un petit exemple sur le tuto de vote sur un site, et je vois que les valeurs ne sont pas transmises, voila les codes:

votes.php:
<head>
<script type="text/javascript" src="poll.js"></script>

</head>
<div id="poll">
<form>
<input name="etoile" type="radio" value="1" onclick="getVote(this.value)"  />: <img src="Mes_Images/Icones/rating_1.gif" /><br />
<input name="etoile" type="radio" value="2" onclick="getVote(this.value)"  />: <img src="Mes_Images/Icones/rating_2.gif" /><br />
<input name="etoile" type="radio" value="3" onclick="getVote(this.value)"  />: <img src="Mes_Images/Icones/rating_3.gif" /><br />
<input name="etoile" type="radio" value="4" onclick="getVote(this.value)"  />: <img src="Mes_Images/Icones/rating_4.gif" /><br />
<input name="etoile" type="radio" value="5" onclick="getVote(this.value)"  />: <img src="Mes_Images/Icones/rating_5.gif" /><br />
</form>
</div>
votes_check.php:
<?php

include 'Fonctions.php';
db_connect();


$etoile = $_REQUEST['etoile'];

echo 'etoile'.$etoile;
?>
poll.js:
var xmlhttp;

function getVote(int)
{
xmlhttp=GetXmlHttpObject();
if (xmlhttp==null)
  {
  alert ("Browser does not support HTTP Request");
  return;
  }
var url="votes_check.php";
url=url+"?vote="+int;
url=url+"&sid="+Math.random();
xmlhttp.onreadystatechange=stateChanged;
xmlhttp.open("GET",url,true);
xmlhttp.send(null);
}

function stateChanged()
{
  if (xmlhttp.readyState==4)
  {
  document.getElementById("poll").innerHTML=xmlhttp.responseText;
  }
}

function GetXmlHttpObject()
{
var objXMLHttp=null;
if (window.XMLHttpRequest)
  {
  objXMLHttp=new XMLHttpRequest();
  }
else if (window.ActiveXObject)
  {
  objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
return objXMLHttp;
} 
Merci

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

09 sept. 2009, 14:05

Salut,

je vois

Envoie:
url=url+"?vote="+int;
url=url+"&sid="+Math.random();
Récupération:
$etoile = $_REQUEST['etoile'];

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Fredy07
Invité n'ayant pas de compte PHPfrance

10 sept. 2009, 03:36

Et comment puis je l'integrer dans une page que le lien est sous forme de:
index.php?page=detail_page
sachant que cette detail_page est une variable, elle recupere les donnees de la BD suivant des liens.

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

10 sept. 2009, 14:40

Je n'ai pas compris...

mais si dans votes_check.php tu as un vote ou sid qui apparait tu aurais certainement plus de chances de récupérer quelque chose

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Fredy07
Invité n'ayant pas de compte PHPfrance

11 sept. 2009, 16:24

Je n'ai pas compris...

mais si dans votes_check.php tu as un vote ou sid qui apparait tu aurais certainement plus de chances de récupérer quelque chose
Le lien de ma page est: index.php?page=detail_page, alors sur cette page j'ai mis include 'Files/vote.php', quand je selectionne le vote, ca ne se rafraichis pas, et le fichier poll.js se trouve entre <head> et </head>

Fredy07
Invité n'ayant pas de compte PHPfrance

13 sept. 2009, 02:57

Je veux savoir si on fait un include de la page vote dans une autre page, est ce le script doit marcher ou il y a des modifications a porter?

Merci

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

14 sept. 2009, 09:37

si ta page est incluse alors les variables sont disponibles comme si le code (de la page incluse) était collé a la suite dans la page appelante.
Donc ça ne change rien je ne vois pas de passage d'un élément "etoile"

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Fredy07
Invité n'ayant pas de compte PHPfrance

15 sept. 2009, 08:55

Merci Truc, ca etait une erreur de saisie bete, j'ai mis les lunettes pour la trouver :)

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

17 sept. 2009, 10:59

Modération :
Si ta question est résolue, pense à l'indiquer pour que les futures personnes qui voudront consulter ce sujet sachent qu'il contient une solution.
Tu peux réaliser cette opération toi-même en cliquant sur le bouton Image en haut à droite de la réponse qui te semble la plus pertinente.

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute