01net    Web


Actuellement en ligne : 199 Utilisateurs dont 5 dans Programmation et développement >S'inscrire      >S'identifier      >Recherche      >Aide  
modéré par A.Ouloube, Beno@  
01net > Forum de 01net > Programmation et développement > PHP
> Passer une variable dans une fonction
Passionné(e) d'internet, de logiciels, de forums ? 01net recrute...
Auteur
Message
 
<     1       >
Ziltoid
  
   
      ?   @     Posté le 24/10/2007 23:24:46  
Voter pour ce message
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 :D ) :
<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" :
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. :sol:

Ensuite le Javascript précédent renvoi la valeur "txtmessage" à une autre fonction PHP, "multiply" :
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. :heink:
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 :D , mais ça fait une heure que je galère juste sur ça...).
Merci d'avance pour vos réponses. ;)
e-deby
  Vendeur de larmes
  Groupe :  Equipe 01net
  :-)
      ?   ^   @     Posté le 25/10/2007 00:59:33  
Voter pour ce message
Je ne vois pas trop comment ta fonction javascript envoie une valeur directement à une fonction php

détailles cette étape car expliqué comme cela, d'une ce n'est pas possible, et de deux l'erreur est la dedans
<     1       >

01net > Forum de 01net > Programmation et développement > PHP
> Passer une variable dans une fonction

Aller à :

Page générée en : 0.046s - X2board 2.2

Nous contacter | Charte de confiance | Voir notice légale

Tous droits réservés © 1999 - 2008 Groupe Tests - 01net.


Sites du réseau 01net Network : 01net - 01men - Rmc.fr - Bfmtv.fr - Radiobfm.com - TousLesPodcasts - Micro Achat

Comparateur
Comparer, changer, économiser : Testez le débit de votre connexion Internet en un clic !
Jeux
Nouveauté : Venez vous amuser avec ce jeu de bowling, et affrontez les elfes.