Récupérer correctement les données d'un formulaire par mail

Récupérer correctement les données d'un formulaire par mail - PHP - Programmation

Marsh Posté le 02-05-2007 à 20:44:18    

Bonjour à tous, enfin bonsoir,
 
Voilà, j'ai une page html qui renvoie vers un fichier php (fait sur bloc-notes) avec une méthode post.
 
Problème : il manque les infos
 
Voici un extrait du code :
 
<?
 
/* Fichier formulaire.php */
 
$nom =$_POST['nom'];
$prenom =$_POST['prenom'];  
 
$message="$nom $prenom
 
mail("nom@domaine.com", "Demande",$message);  
echo "<BR>";
echo "Votre demande a bien été envoyée<BR>";
echo "<BR>";
echo "Votre prénom : ".$_POST['prenom']."<br>";  
echo "<strong>Votre nom :</strong>" .$_POST['nom']."<br>";  
echo "<i><a href=javascript:window.close()>Fermer cette fenêtre</a></i>";
 
?>  
 
Lorsque je reçois la demande par mail, les infos s'affiche sans le nom du champ correspondant.
J'aimerai avoir :
Nom : le nom de la personne
Prénom : le prénom.
 
Or, j'ai :
 
nom
prénom

 
 
J'espère que ces informations sont assez claires ?!
 
Question bonus !!!
Dans ma page php (sous bloc-notes), je propose de fermer la fenêtre :
echo "<i><a href=javascript:window.close()>Fermer cette fenêtre</a></i>";
?>  
 
Comment dois-je faire pour proposer de retourner vers ma page d'accueil
J'ai essayé  
echo "<a href=www.adresse.com>Retour vers le site</a>";et plusieurs variantes mais à chaque fois il m'indique une erreur.
 
Merci beaucoup pour votre aide.

Reply

Marsh Posté le 02-05-2007 à 20:44:18   

Reply

Marsh Posté le 02-05-2007 à 22:30:44    

$nom =$_POST['nom'];  
$prenom =$_POST['prenom'];  
 
ton problème est simple : "=" est l'opérateur d'attribution en php et "$" celui qui designe une variable
 
donc ce que tu fait c'est mettre le contenu de $_POST['nom'] (ce qui est renvoyé par ton formulaire dans le champ correspondant donc) dans la variable $nom et pareil pour $prenom
 
et ta ligne suivante $message est pas très claire lo mais simplement en utilisant l'opérateur de concaténation "."
$message="Nom : ".$nom.", Prenom : ".$prenom;
 
c'est la seule méthode mais une des plus claires à mon gout

Reply

Marsh Posté le 03-05-2007 à 00:09:20    

Dommage !
Lorsque je mets ce code là :
$message="Nom : ".$nom.", Prenom : ".$prenom;  
il m'indique :
Parse error: syntax error, unexpected T_VARIABLE  
J'ai tenté çà, mais j'ai la même chose
$message="Nom : ".$_POST['nom'].", Prenom : ".$_POST['prenom'].";  
 
Aurais-tu une autre idée;
Tu me dis que ma ligne suivante $message n'est pas très claire.
Pourquoi ?

Reply

Marsh Posté le 03-05-2007 à 18:25:55    

tu est sur d'avoir mit exactement ca !! ?
car dans le doute j'ai quand meme vérifié et :
 
<?php
$nom="dd";
$prenom="ggg";
$message="Nom : ".$nom.", Prenom : ".$prenom;  
echo $message;
?>
 
et ca comme prévu aucun probleme

Reply

Marsh Posté le 05-05-2007 à 04:00:30    

D'abord, merci beaucoup de ton suivi, c'est cool et rassurant
 
En effet, ce code fonctionne, j'avais du faire une erreur de frappe
$message="NOM : ".$nom." PRENOM : ".$prenom.";
En local, ça fonctionne bien mais dès que je bascule chez l'hebergeur, j'ai un message 405, donc une erreur dans ma programmation.
 
Est-ce que tu vois où est le problème ?
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
    <head>
        <title>contact</title>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    </head>
    <body>
 
 <?php
 
/* Fichier contact.php */
 
$nom =$_POST['nom'];
$prenom =$_POST['prenom'];  
 
 
$message="NOM : ".$nom." PRENOM : ".$prenom.";
 
mail("contact@domaine.com", "contact",$message);  
echo "<BR>";
echo "Votre demande a bien été envoyée. <br />";
 
?>
 
 
 </body>
</html>

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed