Passer une variable dans une fonction - PHP - Programmation
Marsh Posté le 24-10-2007 à 23:36:28
Connais pas grand chose à ça alors je peux me planter :
La valeur de la variable javascript pourrait se retrouver dans le php ?!
Je ne comprends pas comment. Le javascript s'exécute sur le client et le php sur le serveur non ?
Ou alors on la fait passer sur validation d'un truc, en post.
Marsh Posté le 24-10-2007 à 23:52:48
Moi aussi je peux me tromper mais ce n'est pas justement le principe de l'AJAX de faire que client et serveur reste connectés?
Le code sur lequel je me suis basé (et qui fonctionne bien entendu ) :
Javascript :
Code :
|
PHP :
Code :
|
Chez eux ça ne pose pas de problème.
Leur code complet (pour les curieux ) : http://www.modernmethod.com/sajax/ [...] ly.php.txt
Marsh Posté le 25-10-2007 à 00:46:39
Ajax ne permet pas que le client et le serveur reste connecté. Ajax sert juste à faire des requetes get ou post au serveur afin de ne raffraichir qu'une partie de la page.
Si tu veux qu'une variable javascript soit envoyé au php, il faut l'envoyer à l'aide d'une requete ajax dans laquelle tu passerais ta variable en get ou en post.
Je ne vois pas ou tu utilises ajax là
Peut etre dans le x_multiply() mais faudrait que tu me postes ta fonction.
Marsh Posté le 24-10-2007 à 23:27:59
Bonjour à tous.
Je réalise un chat en AJAX. Je veux passer le contenu d'une textarea dans une fonction, qui elle-même ira ensuite ajouter ce texte dans la base de donnée, accompagné du pseudo et de la date.
Quand on appuie sur le bouton Envoyer, le contenu "message" du formulaire "post" est envoyé à la fonction "do_multiply" (le nom importe peu, c'est parce que c'est bidouillé à partir d'un autre code ) :
Il y a donc ensuite une partie Javascript qui prend le contenu du champ "message" et le transforme en variable "txtmessage" :
Le "alert(txtmessage);" me permet de vérifier que la variable "txtmessage" existe et qu'elle contient bien le texte de la textarea.
Donc jusqu'ici tout va bien.
Ensuite le Javascript précédent renvoi la valeur "txtmessage" à une autre fonction PHP, "multiply" :
$_SESSION['pseudo'] fonctionne bien, mais $txtmessage ici ne retourne plus rien.
La requête MySQL enregistre bien le pseudo et le time, mais le texte du message reste vide.
Si quelqu'un pouvait m'expliquer pourquoi et ce qu'il faut que je change pour que $txtmessage contienne bien la valeur transmise (ça doit être tout bête je suis sûr , mais ça fait une heure que je galère juste sur ça...).
Merci d'avance pour vos réponses.