Pour choisir à quel destinataire le visiteur veut envoyer son message dans le forum il doit le sélectionner dans une liste déroulante. Avec l'évènement Onchange j'appelle alors la fonction ecrire() à chaque changement dans la liste déroulante. Cette fonction créer un fichier txt et écrit dedans l'id du destinataire. Je dois donc mettre du code php dans la fonction ecrire(). Le problème c'est qu'au chargement de la page, le php est directement interprété et non pas comme un code qui ne se lirait que lors de l'appel de la fonction ecrire et du coup le fichier txt est créer immédiatement. Comment faire pour que le php ne soit lu et exécuté seulement à l'appel d'une fonction javascript ?
Marsh Posté le 27-07-2004 à 19:58:34
Salut,
Pour choisir à quel destinataire le visiteur veut envoyer son message dans le forum il doit le sélectionner dans une liste déroulante. Avec l'évènement Onchange j'appelle alors la fonction ecrire() à chaque changement dans la liste déroulante. Cette fonction créer un fichier txt et écrit dedans l'id du destinataire. Je dois donc mettre du code php dans la fonction ecrire(). Le problème c'est qu'au chargement de la page, le php est directement interprété et non pas comme un code qui ne se lirait que lors de l'appel de la fonction ecrire et du coup le fichier txt est créer immédiatement. Comment faire pour que le php ne soit lu et exécuté seulement à l'appel d'une fonction javascript ?
Voici mon code:
<SCRIPT language="javascript">
function ecrire()
{
<?
$nomfich="forum".$id_inscrit;
touch("$nomfich.txt" );
$fp=fopen("$nomfich.txt","a" );
fwrite($fp,"$dest" );
fclose($fp);
?>
}
</script>
<select name=dest id=dest style="display: none" class=form onChange="javascript:ecrire();">
<?
for ($i=0 ; $i<$nbl ; $i++)
{
$id_dest = mysql_result($sql,$i,id_inscrit);
if ($id_dest != $id_inscrit)
{
$nom = mysql_result($sql,$i,nom);
$prenom = mysql_result($sql,$i,prenom);
?>
<option value="<? echo $id_dest ?>"><? echo $nom." ".$prenom ?></option>
<?
}
}
?>
</select>
Merci d'avance