Problème formulaire

cyberthommy -  
bissdebrazza Messages postés 2886 Statut Contributeur -
Bonjour,

J'aimerai construire un formulaire qui renvoie vers ue page php pour éviter la fonction mailto du formulaire. Malheureusement mon code ne fonctionne pas !

Voici le code du formulaire :
<html>
<head>
<title>Récupérer des données provenant d'un formulaire, en PHP</title>
</head>
<body>
<table border="0">
<form name="formulaire" action="affiche-donnees.php" method="POST" enctype="multipart/form-data">
<tr>
<td width="231" align="center">Entrez votre nom</td>
<td width="317" align="center"><input type="text" name="nom"></td>
</tr>
<tr>
<td align="center">Entrez votre prenom</td>
<td align="center"><input type="text" name="prenom"></td>
</tr>
<tr>
<td align="center">De quel sexe êtes vous ?</td>
<td align="center"><input type="radio" name="sexe" value="Homme"> Homme
<input type="radio" name="sexe" value="Femme"> Femme
</td>
</tr>
<tr>
<td align="center">Entrez votre pays d'origine</td>
<td align="center">
<select name="pays">
<option value="Allemagne">Allemagne</option>
<option value="France">France</option>
<option value="Hollande">Hollande</option>
</select>
</td>
</tr>
<tr>
<td align="center">Envoyez votre photo</td>
<td align="center">
<input type="file" name="fichier">
<input type="hidden" name="taille_max" value="10000">
</td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" value="Envoyer"></td>
</tr>
</form>
</table>
</body>
</html>
----------------------------------------------------------------------------------------------------------------

Puis enfin le code de la page affiche-donnees.php qui affiche les données saisies par le visiteur dans le formulaire, mais qui ne renvoie pas le formulaire dans ma boîte mail.
<?php
$adresse="mon adresse mail";
$nom = $_POST['nom'] ;
$prenom = $_POST['prenom'] ;
$sexe = $_POST['sexe'] ;
$pays = $_POST['pays'] ;
$tailleMax = $_POST['taille_max'] ;

$nomFichier = $_FILES['fichier']['name'] ;
$tailleFichier = $_FILES['fichier']['size'] ;
$nomTmp = $_FILES['fichier']['tmp_name'] ;
$typeFichier = $_FILES['fichier']['type'] ;
$error = $_FILES['fichier']['error'] ;

echo( "Votre nom: <b>".$nom."</b><br>\n" ) ;
echo( "Votre prénom: <b>".$prenom."</b><br>\n" ) ;
echo( "Votre sexe: <b>".$sexe."</b><br>\n" ) ;
echo( "Votre pays d'origine: <b>".$pays."</b><br>\n" ) ;
echo( "Voilà les données de votre image: <br>\n nom => <b>".$nomFichier.
"</b><br>\n taille => <b>".$tailleFichier.
"</b> octets<br>\n nom sur le serveur => <b>".$nomTmp.
"</b><br>\n type de l'image => <b>".$typeFichier.
"</b><br>\n code de l'erreur => <b>".$error."</b><br>") ;
echo( "Taille maximale de l'image: <b>".$tailleMax."</b> octets</b>\n" ) ;
?>
----------------------------------------------------------------------------------------------------------------
Merci de me venir en aide
Cyberthommy

5 réponses

bissdebrazza Messages postés 2886 Statut Contributeur 712
 
Salut!
C'est quoi le message d'erreur qu'il te renvoie le code??
Cordialement!!
0
cyberthommy
 
Je n'ai aucun message d'erreur en retour, après avoir expédié le formulaire son contenu s'affiche sur la page php. Le problème est que la page php devrait m'envoyer le formulaire par mail mais ça ne marche pas !
0
bissdebrazza Messages postés 2886 Statut Contributeur 712
 
Pour que ça t'envoie dans ta boite mail,il faut utiliser la fonction mail() de php.
0
cyberthommy Messages postés 2 Statut Membre
 
Ca ne marche toujours pas à s'arracher les cheveux !
Voici le sript de la page qui récupère et envoie les données du formulaire :
Je dois faire une faute de syntaxe... Merci de me venir encore en aide.
<?php
mail("monadresse_mail");
$nom = $_POST['nom'] ;
$prenom = $_POST['prenom'] ;
$sexe = $_POST['sexe'] ;
$pays = $_POST['pays'] ;
$tailleMax = $_POST['taille_max'] ;

$nomFichier = $_FILES['fichier']['name'] ;
$tailleFichier = $_FILES['fichier']['size'] ;
$nomTmp = $_FILES['fichier']['tmp_name'] ;
$typeFichier = $_FILES['fichier']['type'] ;
$error = $_FILES['fichier']['error'] ;

echo( "Votre nom: <b>".$nom."</b><br>\n" ) ;
echo( "Votre prénom: <b>".$prenom."</b><br>\n" ) ;
echo( "Votre sexe: <b>".$sexe."</b><br>\n" ) ;
echo( "Votre pays d'origine: <b>".$pays."</b><br>\n" ) ;
echo( "Voilà les données de votre image: <br>\n nom => <b>".$nomFichier.
"</b><br>\n taille => <b>".$tailleFichier.
"</b> octets<br>\n nom sur le serveur => <b>".$nomTmp.
"</b><br>\n type de l'image => <b>".$typeFichier.
"</b><br>\n code de l'erreur => <b>".$error."</b><br>") ;
echo( "Taille maximale de l'image: <b>".$tailleMax."</b> octets</b>\n" ) ;
?>
0
cyberthommy Messages postés 2 Statut Membre
 
J'ai oublié cette fois j'ai un retour d'erreur :

Warning: mail() expects at least 3 parameters, 1 given in /homez.../nom_du_fichier.php on line 2
Votre nom:
Votre prénom:
Votre sexe:
Votre pays d'origine: Allemagne
Voilà les données de votre image:
nom =>
taille => 0 octets
nom sur le serveur =>
type de l'image =>
code de l'erreur => 4
Taille maximale de l'image: 10000 octets
0

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

Posez votre question
bissdebrazza Messages postés 2886 Statut Contributeur 712
 
Salut voici un code:

<?php
//déclare les variables

     $nom = $_POST['nom'] ;
     $prenom = $_POST['prenom'] ;
     $sexe = $_POST['sexe'] ;
     $pays = $_POST['pays'] ;
     $tailleMax = $_POST['taille_max'] ;
     $nomFichier = $_FILES['fichier']['name'] ;
     $tailleFichier = $_FILES['fichier']['size'] ;
     $nomTmp = $_FILES['fichier']['tmp_name'] ;
     $typeFichier = $_FILES['fichier']['type'] ;
     $error = $_FILES['fichier']['error'] ; 
     $headers ='From: "nom"<adresse@fai.fr>'."\n";
     $headers .='Reply-To: adresse_de_reponse@fai.fr'."\n";
     $headers .='Content-Type: text/html; charset="iso-8859-1"'."\n";
     $headers .='Content-Transfer-Encoding: 8bit';

     $message ='<html>
<head>
<title>Un titre ici</title>
</head>
<body>
 <font size="1">Votre nom:</font> <b>".$nom."</b><br>\n"  ;
 <font size="1">Votre prénom:</font> <b>".$prenom."</b><br>\n" ) ;
 <font size="1">Votre sexe:</font> <b>".$sexe."</b><br>\n" ) ;
 <font size="1">Votre pays d'origine:</font> <b>".$pays."</b><br>\n" ) ;
 <font size="1">Voilà les données de votre image:</font> <br>\n nom => <b>".$nomFichier.
</b><br>\n taille => <b>".$tailleFichier".
</b> octets<br>\n nom sur le serveur => <b>".$nomTmp".
</b><br>\n type de l'image => <b>".$typeFichier".
</b><br>\n code de l'erreur => <b>".$error."</b><br> ;
Taille maximale de l'image: <b>".$tailleMax."</b> octets</b>\n"  ; 


</body>
</html>';

     if(mail('adresse_du_destinataire@fai.fr', 'Sujet', $message, $headers))
     {
          echo 'Le message a été envoyé';
     }
     else
     {
          echo 'Le message n\'a pu être envoyé';
     }
?>

0