[javascript/php] pb de

Résolu/Fermé
Utilisateur anonyme - 8 mars 2007 à 11:28
 Utilisateur anonyme - 13 mars 2007 à 18:34
J'ai un petit souci pour faire communiquer des informations entre php et javascript.
Je m'explique.
J'ai un formulaire permetant de renseigner un email.
Une fois le formulaire envoyer, je teste grace a php si cette email est déja dans une BD. Si c'est les cas, j'affiche une boite de dialogue.
Si l'utilisateur clique sur oui, je doit rajouter la personne dans la BD.
Comment faire pour que php sache que j'ai cliqué sur oui et donc rajouter la personne dans la base.
Je sais qu'il est impossible de "mélanger" du php et js pour la simple et bonne raison que php s'exècute coté serveur et js coté client.
J'essaye actuellement en passant par un renvoi de formulaire, mais ca marche pas.
Je vous met le code, du formulaire:
<form action="index.php" method="POST" name="form">
<input type="text" name="email" value=<?php if($bemail) echo $email; else echo "email";?> 
<input type="hidden" name="reajou" value="">
<select name="liste">
</select>
<input type="submit" name="Ok" value="Ok">
</form>


et celui du traitement de la boite de dialogue
<script type="text/javascript" language="javascript">
				  if (confirm("Cette personne etait dans la base, elle s'est désinscrite. Souhaitez vous la réabonner?")) {
				  document.form.reajou.value="oui";
   				  document.form.submit();
				  }
				  else {
				  alert("non");
				  }
				</script>


Merci de votre aide.
A voir également:

1 réponse

salut
j'ai deja eu cette situation x fois...

il faut passer par un champ caché (hidden value à 0) dans la forme
l'idée est que quand tu fais submit (evenement onclick du bouton), tu passes par un javascript qui va te passer value du champ caché à 1.
ensuite tu fais un submit de la forme (toujours dans la procédure javascript onclick)

c'est là que va intervenir php.
tu viens de faire un submit, donc rechargement de ta feuille
là au début tu insère un code php qui récupère la valeur de ton champ caché ( <? if($_GET("champ_caché") == 1){...}... ?> )
si tu es dans le cas valeur du champ caché = 1, tu fais tontraitement php normal, tu interroges ta BDD pour savoir si existe deja...

je sais ca parait pas facile a expliquer à l'écrit
0
Utilisateur anonyme
8 mars 2007 à 14:49
C'est bien ce que j'avai en tete, mais le problème c'est comment le faire.
L'evenement qui me pose problème n'est pas au moment du premier submit, mais une fois que l'email a été envoyé et trouvé dans la base. C'est la que je veut faire deux actions (insertion dans la base) en fonction de la réponse de l'utilisateur a la boite de dialogue.
0
d'accord... donc si je comprends bien tu veux inserer du php dans un javascript...
malheureusement ca marchera pas, tu peux pas inserer de php dans javascript car php executé sur serveur et javascript sur client...
il faut refaire un submit avec un champ caché...
0
Utilisateur anonyme
8 mars 2007 à 15:50
Le problème c'est que j'arrive pas a le faire. Mon code ne marche pas.
0
rasta67 > Utilisateur anonyme
8 mars 2007 à 15:56
il faut inserer le code php au debut de la page pour qu'au rechargement du sublit il fasse le traitement :

<?php
if($_GET["reajou"] == "oui")
{

traitement

}
?>
0
Utilisateur anonyme > Utilisateur anonyme
8 mars 2007 à 16:57
mon formulaire utilise la methode post.
j'teste donc sur $_POST['reajou'].
Le pb vient-il de la ou c'est une erreur de ta part?
J'pense plus que mon problème vient du submit en javascript.
0