formulaire suivi d'un pop up

Eléphant du PHP | 152 Messages

28 juil. 2005, 10:57

bon je voudrais ouvrir la confirmation de l'envoye de mon formulaire dans un pop-up

voici mon script :

formulaire.php
<HTML>
<HEAD>
<TITLE>Commentaire de News</TITLE>
<SCRIPT LANGUAGE="JavaScript">
function centerWindow() {
if (document.all)
var xMax = screen.width, yMax = screen.height;
else
if (document.layers)
var xMax = window.outerWidth, yMax = window.outerHeight;
else
var xMax = 640, yMax=480;
var xOffset = (xMax - 200)/2, yOffset = (yMax - 200)/2;
window.open('envoi.php','windowbis',
'width=200,height=200,screenX='+xOffset+',screenY='+yOffset+',top='+yOffset+',left='+xOffset+'');
}
</SCRIPT>
</HEAD>
<BODY>

<P>nom:<br>
<INPUT type="text" name="nom" size=30>
</p>
<P>Sujet:<br>
<INPUT type="text" name="sujet" size=39>
</p>
<P>Message:<br>
<textarea name="message" cols=30 rows=5></textarea>
<input type=button value="Test pop-up" onclick="centerWindow()">
</p>
</FORM>
</BODY>
</HTML>
et envoi.php
<?php 
$nom = $_POST['nom'];
$message = $_POST['message'];
$sujet = $_POST['sujet'];
$msg = "expéditeur:\t$nom\n";
$msg .= "Message:\t$message\n\n";
$recipient = "[email protected]";
$mailheaders = "De:  <$nom (commentaire de news)> \n";
mail($recipient, $sujet, $msg, $mailheaders);
echo "<HTML><HEAD>";
echo "<TITLE>Message Envoyé!</TITLE></HEAD><BODY>";
echo "<H1 align=center>merci, $nom</H1>";
echo "<P align=center>";
echo "</BODY></HTML>";
?> 
merci d'avance

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

28 juil. 2005, 10:58

Et ? c'est quoi le probléme ? Quel est l'erreur ? Ou est-ce que tu bloque ?

Question vague = réponse vague
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 152 Messages

28 juil. 2005, 11:09

oui excusez moi en faite sa m'ouvre bien le popup mais dedans sa me met que les variables ne sont pas definit

assez precis , ou je met message exact ?

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

28 juil. 2005, 11:13

Je pense que le message exact pourrait être utile
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

28 juil. 2005, 11:34

bon je voudrais ouvrir la confirmation de l'envoye de mon formulaire dans un pop-up
Ben c'est du javascript alors ?
Règle n°2 du webmaster : Toujours commencer par le HTML qu'on veut obtenir....toujours ! :priere:
J'aime apprendre de nouvelles choses.

Mammouth du PHP | 543 Messages

28 juil. 2005, 11:47

Tu as bien mis la balise <form ? :p

Eléphant du PHP | 152 Messages

28 juil. 2005, 11:52

euh oui bien vu ... j'ai remis le form mais sa ne resoud rien j'ai toujours se message qui apparait dans le popup

Notice: Undefined index: nom in c:\easyphp1-8\www\envoi.php on line 2

Notice: Undefined index: message in c:\easyphp1-8\www\envoi.php on line 3

Notice: Undefined index: sujet in c:\easyphp1-8\www\envoi.php on line 4

merci,

Eléphant du PHP | 152 Messages

28 juil. 2005, 12:25

une petite idée ???

Mammouth du PHP | 543 Messages

28 juil. 2005, 12:26

bah oui, envoi.php n'est pas l'action du form donc ne pourra en aucun recupérer des $_POST

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

28 juil. 2005, 12:26

J'en ai une mais elle ne va pas te plaire. Et je risque de te choquer.
Enfin, voilà mon idée : sors tes doigts de ton c.. et bosse !

signé : mere-teresa excedée par ceux qui n'aident personne mais se font bien aider, eux.
Modifié en dernier par mere-teresa le 28 juil. 2005, 12:30, modifié 1 fois.

Eléphant du PHP | 152 Messages

28 juil. 2005, 12:29

je dois envoi.php par quoi dans ce cas ? ou alors justement il faut que je rajoute action=envoi.php ?

Mammouth du PHP | 543 Messages

28 juil. 2005, 12:34

Je ne vais pas cette fois faire tout le code pour toi, car j'ai du boulot de mon coté, mais je vais t'eclairer.

En fait il faut donner une action a ton form, mais rajouter dans la balise form un onsubmit="return unefonctionjavascript()"

dans cette fonction tu testes tes champs, tu fait un window.open du popup.

Si les champs sont ok tu return true, le formulaire sera envoyé, sinon tu return false.


Dans la popup ouverte, tu recupere les valeur des champs de la fenetre parente via opener.document.forms["nom_du_form"].elements["nom_du_champs"].value;

Tu as deja une piste :p

Eléphant du PHP | 152 Messages

28 juil. 2005, 12:45

merci bien je vais chercher