Problème bête en html/php
lucasdu16400
Messages postés
13
Statut
Membre
-
Alain_42 Messages postés 5413 Statut Membre -
Alain_42 Messages postés 5413 Statut Membre -
Je n'arrive pas à relier :
<form method=POST action=formmail.php >
<table align="center">
<tr>
<td>Nom:</td>
<td><input type=text name=nom size=30 /></td>
</tr>
<tr>
<td>Prénom:</td>
<td><input name=prenom type=text size=30 /></td>
</tr>
<tr>
<td>Email:</td>
<td><input name=mail type=text size=30 /></td>
</tr>
<tr>
<td>Telephone:</td>
<td><input name=phone type=text size=30 /></td>
</tr>
<tr>
<td>Ville:</td>
<td><input type=text name=ville size=30 /></td>
</tr>
</table>
<p align="center">Message : </p>
<div align="center">
<p>
<textarea name=message cols=32 rows=6 ></textarea>
</p>
<p>
<input name="submit" type=submit value=Envoyer />
<input name="reset" type=reset value=Annuler />
<input type=hidden name=subject value=formmail />
<br />
</p>
</div>
</form></td>
ET SA:
<?php
//Pour définir chaque input du formulaire, ajouter le signe de dollar devant
$msg .= "Nom:\t$nom\n";
$msg .= "Prenom:\t$prenom\n";
$msg .= "E-Mail:\t$mail\n";
$msg .= "Telephone:\t$phone\n";
$msg .= "Ville:\t$ville\n";
$msg .= "Message:\t$message\n";
//Pourait continuer ainsi jusqu'à la fin du formulaire MODIFIER L'ADRESSE D'ENVOI
$TO = "email@domaine.com";
$h = "From: " . $TO;
$subject = "Prise de Contact";
$message = "";
while (list($key, $val) = each($HTTP_POST_VARS))
{$message .= "$key : $val\n";}
mail($TO, $subject, $msg);
?>
<body>
<p align="center">Merci <? echo($prenom) ?> <? echo($nom) ?>, le message a bien été envoyé. <br />
Nous vous répondrons dans les plus brefs délais. </p>
</body>
</html>
<form method=POST action=formmail.php >
<table align="center">
<tr>
<td>Nom:</td>
<td><input type=text name=nom size=30 /></td>
</tr>
<tr>
<td>Prénom:</td>
<td><input name=prenom type=text size=30 /></td>
</tr>
<tr>
<td>Email:</td>
<td><input name=mail type=text size=30 /></td>
</tr>
<tr>
<td>Telephone:</td>
<td><input name=phone type=text size=30 /></td>
</tr>
<tr>
<td>Ville:</td>
<td><input type=text name=ville size=30 /></td>
</tr>
</table>
<p align="center">Message : </p>
<div align="center">
<p>
<textarea name=message cols=32 rows=6 ></textarea>
</p>
<p>
<input name="submit" type=submit value=Envoyer />
<input name="reset" type=reset value=Annuler />
<input type=hidden name=subject value=formmail />
<br />
</p>
</div>
</form></td>
ET SA:
<?php
//Pour définir chaque input du formulaire, ajouter le signe de dollar devant
$msg .= "Nom:\t$nom\n";
$msg .= "Prenom:\t$prenom\n";
$msg .= "E-Mail:\t$mail\n";
$msg .= "Telephone:\t$phone\n";
$msg .= "Ville:\t$ville\n";
$msg .= "Message:\t$message\n";
//Pourait continuer ainsi jusqu'à la fin du formulaire MODIFIER L'ADRESSE D'ENVOI
$TO = "email@domaine.com";
$h = "From: " . $TO;
$subject = "Prise de Contact";
$message = "";
while (list($key, $val) = each($HTTP_POST_VARS))
{$message .= "$key : $val\n";}
mail($TO, $subject, $msg);
?>
<body>
<p align="center">Merci <? echo($prenom) ?> <? echo($nom) ?>, le message a bien été envoyé. <br />
Nous vous répondrons dans les plus brefs délais. </p>
</body>
</html>
Configuration: Windows XP Internet Explorer 7.0
11 réponses
-
Bonjour,
C'est plutôt (à tester) :$msg = "Nom:\t".$_POST['nom']."\n"; $msg .= "Prenom:\t".$_POST['prenom']."\n"; $msg .= "E-Mail:\t".$_POST['mail']."\n"; $msg .= "Telephone:\t".$_POST['phone']."\n"; $msg .= "Ville:\t".$_POST['ville']."\n"; $msg .= "Message:\t".$_POST['message']."\n";
-
Oui mais comment faire pour que quand je clique sur ''envoyer", la deuxieme page s'affiche???
-
Ta deuxième page, elle doit s'appeler formmail.php. Elle contient ce code :
<?php //Pour définir chaque input du formulaire, ajouter le signe de dollar devant $msg = "Nom:\t".$_POST['nom']."\n"; $msg .= "Prenom:\t".$_POST['prenom']."\n"; $msg .= "E-Mail:\t".$_POST['mail']."\n"; $msg .= "Telephone:\t".$_POST['phone']."\n"; $msg .= "Ville:\t".$_POST['ville']."\n"; $msg .= "Message:\t".$_POST['message']."\n"; //Pourait continuer ainsi jusqu'à la fin du formulaire MODIFIER L'ADRESSE D'ENVOI $TO = "email@domaine.com"; $h = "From: " . $TO; $subject = "Prise de Contact"; $message = ""; while (list($key, $val) = each($HTTP_POST_VARS)) {$message .= "$key : $val\n";} mail($TO, $subject, $msg); ?> <html> <body> <p align="center">Merci <?php echo $_POST['prenom']; ?> <?php echo $_POST['nom']; ?>, le message a bien été envoyé. <br /> Nous vous répondrons dans les plus brefs délais. </p> </body> </html>
Donc je comprends pas trop ton problème. -
Ah d'accord j'ai compris, la deuxième, je l'avais appellé formmail.htm
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
-
-
Salut
Vérifie bien que ton fichier formmail.php soit bien dans le même dossier que ton fichier qui contient ton formulaire
Bye -
Que l'on mette des guillements ou pas, ça ne change rien. C'est juste conventionnel. ^^ Mais c'est quand même conseillé.
J'ai testé le code, ça fonctionne sauf pour $HTTP_POST_VARS, il faut mettre une valeur dedans $HTTP_POST_VARS['valeur']. Je sais pas ce que tu veux mettre dedans par contre. -
je reconnais ce problème auquel j'ai déja répondu tout à l'heure.
Pourquoi poster plusieurs fois un même PB sous des pseudos différents ? -
Ce n'est pas la meme personne que vous avez vu tout à l'heure, j'ai juste repris son code et reposer la même question espérant avoir une réponse satisfaisante
-
ha excuses alors voiçi une copie de ma réponse:
Bon je t'ai rectifié pas mal de choses voir commentaires: il reste à completer le $headers, ça ne marchera pas comme ça suivant l'hebergeur, vas voir sur Google <?php /*plusieurs erreurs - si tu concatènes il faut partir de qq chose donc le premier doit etre un $msg = .... - il faut récupérer le svaleurs postées $_POST car selon la config de ton serveur tu ne peux pas avoir directement $nom il faut faire $nom=$_POST['nom'] - pour eviter une errur de php il faut verifier que le formulaire a été posté if(isset($_POST('submit'] */ //Pour définir chaque input du formulaire, ajouter le signe de dollar devant:: NON ça marche pas tout le temps si Register Global est à OFF !! if(isset($_POST['submit'])){ //recup des valeurs postées $nom=$_POST['nom']; //maintenant on met $_POST au lieu de $HTTP_POST_VARS $prenom=$_POST['prenom']; $mail=$_POST['mail']; $phone=$_POST['phone']; $ville=$_POST['ville']; $message=$_POST['message']; $msg = "Nom:\t$nom\n"; $msg .= "Prenom:\t$prenom\n"; $msg .= "E-Mail:\t$mail\n"; $msg .= "Telephone:\t$phone\n"; $msg .= "Ville:\t$ville\n"; $msg .= "Message:\t$message\n"; $TO = "email@domaine.com"; $headers = "From: " . $TO; $subject = "Prise de Contact"; //$message = ""; si tu mets ça ici ça écrase ce qui est dans ta variable $message ligne 16 !!!!!! /* POURQUOI CETTE BOUCLE TU ReCUPeRES D2JA LES VALEURS AVANT ! while (list($key, $val) = each($HTTP_POST_VARS)) {$message .= "$key : $val\n";} */ $env_mail=mail($TO, $subject, $msg,$headers); //messages ?> <body> <p align="center"> <?php if($env_mail){ echo "Merci $prenom $nom) le message a bien été envoyé. <br /> Nous vous répondrons dans les plus brefs délais. </p>"; }else{ echo "Pb envoi mail "; } } ?> </p> </body> </html>