Problème bête en html/php

lucasdu16400 Messages postés 13 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>
Configuration: Windows XP Internet Explorer 7.0

11 réponses

  1. Utilisateur anonyme
     
    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
  2. lucasdu16400 Messages postés 13 Statut Membre
     
    Oui mais comment faire pour que quand je clique sur ''envoyer", la deuxieme page s'affiche???
    0
  3. Utilisateur anonyme
     
    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
  4. lucasdu16400 Messages postés 13 Statut Membre
     
    Ah d'accord j'ai compris, la deuxième, je l'avais appellé formmail.htm
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. lucasdu16400 Messages postés 13 Statut Membre
     
    Cela ne marche toujours pas
    0
  7. Utilisateur anonyme
     
    Il y a des erreurs qui s'affichent ? J'ai pas testé, donc c'est possible.
    0
  8. Optimal-effect Messages postés 16 Statut Membre 1
     
    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
  9. Utilisateur anonyme
     
    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
  10. Alain_42 Messages postés 5413 Statut Membre 904
     
    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
  11. lucasdu16400 Messages postés 13 Statut Membre
     
    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
  12. Alain_42 Messages postés 5413 Statut Membre 904
     
    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