Problème formulaire
cyberthommy
-
bissdebrazza Messages postés 2886 Statut Contributeur -
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
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
A voir également:
- Problème formulaire
- Whatsapp formulaire opposition - Guide
- Formulaire de réclamation facebook compte désactivé - Guide
- Formulaire de reclamation instagram - Guide
- Récupérer compte outlook sans formulaire - Forum Hotmail / Outlook.com
- Confirmer le nouvel envoi du formulaire err_cache_miss - Forum Google Chrome
5 réponses
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 !
Pour que ça t'envoie dans ta boite mail,il faut utiliser la fonction mail() de php.
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" ) ;
?>
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" ) ;
?>
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
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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é';
}
?>