Bonsoir,
Après des heures et des heures de galères et de recherches je finis finalement pas solliciter votre aide parce que j'en peux vraiment plus.
Notez que je debute en Ajax.
Le problème : je n'arrive pas a récupérer les variable $_POST dans mon fichier starate.php
Explication :
Pour mon système de vote étoile j'utilise
Starbox qui est fort sympathique , un fois que le visiteur vote j'utilise une fonction pour effectuer ma requête Ajax :
function saveStar(event) {
new Ajax.Request('starate.php', {
parameters: event.memo,
method: 'post',
onComplete: function(xhr) {
// callback
}
});
}
document.observe('starbox:rated', saveStar);
J'y comprend un peu rien, dans mon fichier starate.php il y a une requête mysql INSERT INTO qui marche mais aucune valeur $_post n'est transmise donc sa me rajoute des ligne vide
J'ai aussi changer starate.php par une fonction que me renvoi tout les $_post et $_get sur un fichier texte mais rien aucune variable j'ai du louper un truc .
J'ai aussi tester avec Firebug , une fois que j'ai cliqué pour voter il me rajoute une ligne dans l'onglet réseau "POST starate.php" et quand j'ouvre la ligne dans l'onglet Post il n'y a rien du tout :s
(ni dans l'onglet réponse)
Je vous donne le code en entier :
<script language='javascript' type='text/javascript'>
function saveStar(event) {
new Ajax.Request('testeur.php', {
parameters: event.memo,
method: 'post',
onComplete: function(xhr) {
// optional callback
}
});
}
document.observe('starbox:rated', saveStar);
document.observe('starbox:rated', function(event) {
// event.memo holds important information like event.memo.rated
var memo = '';
for(var i in event.memo)
memo += i + ' : ' + event.memo[i] + '\n';
alert(memo);
// should you ever need the starbox element itself, use Event#findElement:
new Effect.Pulsate(event.findElement('.starbox'));
});
</script>
<form class="right3" id='<?php echo $id; ?>' name="<?php echo $id; ?>" action="" method="post" >
<img src='../images/loading.gif' >
<input type="hidden" value="<?php echo $plateforme; ?>" name="plat" >
<input type="hidden" value="<?php echo $nom; ?>" name="nom" ></form>
<script language='javascript' type='text/javascript'>
new Starbox('<?php echo $id; ?>', <?php echo $note; ?>,
{ rerate: false, indicator: 'Noté #{average} pour #{total} votes', total: <?php echo $total; ?>, onRate: function(element, info) {
var indicator = element.down('.indicator');
indicator.update('Votre note ' + (info.rated).toFixed(2));
// alert((info.rated).toFixed(2));
window.setTimeout(function() { indicator.update('Merci de participer') }, 2200);
new Effect.Highlight(indicator);
}
});
</script>
J'ai aussi essayé de passer mes variables $nom et $plateforme dans des input type hidden mais rien.
Il y a aussi un alert(memo); qui ne renvoi rien .
J'espère qu'un génie passera par la
Merci beaucoup .[/php]