Précédent   Forum des professionnels en informatique > PHP > Langage > Syntaxe
Syntaxe Forum d'entraide sur la syntaxe de PHP et la POO. Avant de poster -> FAQ syntaxe, Cours d'initiation et cours de POO
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 24/10/2007, 23h18   #1
Candidat au titre de Membre du Club
 
Inscription : juin 2007
Messages : 47
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 47
Points : 13
Points : 13
Par défaut [PHP-JS] Passer une variable dans une fonction

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 ) :
Code :
1
2
3
4
<form name="post" onSubmit="do_multiply()" action=""/>
<textarea name="message" id="message" rows="8" cols="50"></textarea>
<input type="button" name="envoyer" value="Envoyer" onclick="do_multiply()"><br /></fieldset>
</form>
Il y a donc ensuite une partie Javascript qui prend le contenu du champ "message" et le transforme en variable "txtmessage" :
Code :
1
2
3
4
5
6
function do_multiply() {
		var txtmessage = document.post.message.value;
		x_multiply(txtmessage);
		alert(txtmessage);
		document.post.message.value = "";
}
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" :
Code :
1
2
3
4
5
6
7
function multiply($txtmessage) {
$conv_texte = mysql_real_escape_string(nl2br(htmlspecialchars($txtmessage, ENT_QUOTES)));
$conv_pseudo = mysql_real_escape_string(htmlspecialchars($_SESSION['pseudo']));
$temps = time();
 
mysql_query("INSERT INTO chat_prive VALUES('', '$conv_texte', '".$temps."', '$conv_pseudo')");
}
$_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.
Ziltoid est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/10/2007, 09h18   #2
Membre éclairé
 
Avatar de TucSale
 
Inscription : novembre 2005
Messages : 265
Détails du profil
Informations personnelles :
Âge : 30

Informations forums :
Inscription : novembre 2005
Messages : 265
Points : 301
Points : 301
Envoyer un message via MSN à TucSale
bonjour,

je ne comprends pas tres bien ce que tu veux faire

peux tu nous donner ta fonction x_multiply s'il te plait


ps: $txtmessage => $_POST['txtmessage'] ??
__________________
Tuc l'Original, On ne peut que l'aimer
TucSale est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h21.


 
 
 
 
Partenaires

Hébergement Web