Problème bête en html/php

Fermé
lucasdu16400 Messages postés 13 Date d'inscription dimanche 7 juin 2009 Statut Membre Dernière intervention 24 mars 2010 - 7 juin 2009 à 16:37
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 - 7 juin 2009 à 19:37
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>
A voir également:

11 réponses

Utilisateur anonyme
7 juin 2009 à 16:41
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"; 
0
lucasdu16400 Messages postés 13 Date d'inscription dimanche 7 juin 2009 Statut Membre Dernière intervention 24 mars 2010
7 juin 2009 à 16:51
Oui mais comment faire pour que quand je clique sur ''envoyer", la deuxieme page s'affiche???
0
Utilisateur anonyme
7 juin 2009 à 17:07
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.
0
lucasdu16400 Messages postés 13 Date d'inscription dimanche 7 juin 2009 Statut Membre Dernière intervention 24 mars 2010
7 juin 2009 à 17:25
Ah d'accord j'ai compris, la deuxième, je l'avais appellé formmail.htm
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
lucasdu16400 Messages postés 13 Date d'inscription dimanche 7 juin 2009 Statut Membre Dernière intervention 24 mars 2010
7 juin 2009 à 17:29
Cela ne marche toujours pas
0
Utilisateur anonyme
7 juin 2009 à 17:35
Il y a des erreurs qui s'affichent ? J'ai pas testé, donc c'est possible.
0
Optimal-effect Messages postés 14 Date d'inscription mercredi 3 juin 2009 Statut Membre Dernière intervention 12 mars 2010 1
7 juin 2009 à 17:45
Salut

Vérifie bien que ton fichier formmail.php soit bien dans le même dossier que ton fichier qui contient ton formulaire

Bye
0
Utilisateur anonyme
7 juin 2009 à 17:47
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.
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
7 juin 2009 à 18:35
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 ?
0
lucasdu16400 Messages postés 13 Date d'inscription dimanche 7 juin 2009 Statut Membre Dernière intervention 24 mars 2010
7 juin 2009 à 19:08
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
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
7 juin 2009 à 19:37
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 &eacute;t&eacute; envoy&eacute;. <br />
	Nous vous r&eacute;pondrons dans les plus brefs d&eacute;lais. </p>";
	
	}else{
		echo "Pb envoi mail ";
	}
}

?>
</p>
	</body>
	</html>
-1