Formulaires

Fermé
aurelka Messages postés 4 Date d'inscription mardi 7 mai 2013 Statut Membre Dernière intervention 2 août 2013 - 7 mai 2013 à 16:33
aurelka Messages postés 4 Date d'inscription mardi 7 mai 2013 Statut Membre Dernière intervention 2 août 2013 - 7 mai 2013 à 18:57
Bonjour,
J'ai de gros problèmes avec les formulaires php, pour le créer, tout va bien.
Le problème, c'est que je n'arrive pas à récupérer et retransmettre les données introduites par l'utilisateur en utilisant $_POST.

Pourriez-vous m'aider?
merci

3 réponses

Utilisateur anonyme
7 mai 2013 à 16:36
Salut salut,

Peux tu poster ton formulaire ça nous aidera ;)
1
djsquinje Messages postés 736 Date d'inscription lundi 19 janvier 2009 Statut Membre Dernière intervention 31 mai 2017 255
7 mai 2013 à 16:36
bonjour,

<form method="post" action="mail.php">

<h2>CONTACT</h2>

<p>
Votre Email <br />
<input type="text" name="votremail" />

<!-- Valeur par défaut de l'objet du mail -->
<input type="hidden" name="objet" value="Vous avez un nouveau message" />
</p>

<p>
Votre message <br />
<textarea cols="50" rows="10" name="message"></textarea>
</p>

<p>
<input type="submit" value="Envoyer" />
</p>

</form>
<!-- On ferme la balise form, notre formulaire est fini -->

<head>
<?php
// La variable $verif va nous permettre d'analyser si la sémantique de l'e-mail est bonne
$verif="!^[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]{2,}\.[a-zA-Z]{2,4}$!";

// On assigne et protège nos variables
$votremail=$_POST["votremail"];
$from=htmlspecialchars("From: ".$votremail."\r\n");
$message=stripslashes(htmlspecialchars($_POST["message"]));

// On met ici notre e-mail
$destinataire="destinataire@hotmail.fr<script type="text/javascript">
/* <![CDATA[ */
(function(){try{var s,a,i,j,r,c,l,b=document.getElementsByTagName("script");l=b[b.length-1].previousSibling;a=l.getAttribute('data-cfemail');if(a){s='';r=parseInt(a.substr(0,2),16);for(j=2;a.length-j;j+=2){c=parseInt(a.substr(j,2),16)^r;s+=String.fromCharCode(c);}s=document.createTextNode(s);l.parentNode.replaceChild(s,l);}}catch(e){}})();
/* ]]> */
</script>";

/* On place le sujet du message qui, ici, sera toujours le même
puisque dans la partie Html, on l'a mis en caché grâce au type="hidden"<couleur nom="rouge"> <img src="../../bundles/tinymce/vendor/tiny_mce/plugins/emotions/img/clin.png" title=";)" alt=";)"> </couleur> avec comme valeur "Vous avez un nouveau message" */
$objet=$_POST['objet'];

// C'est bon : on est ok, vérifions si l'e-mail est valide, grâce à notre sympathique REGEX
if(!preg_match($verif,$votremail))
{
echo "Votre e-mail n'est pas valide";
}

// On vérifie s'il y a un message
elseif (trim($message)=="")
{
echo "Y'en a marre des messages vides !";
}

// Si tout est ok, on envoie l'e-mail
else
{
mail($destinataire,$objet,$message,$from);
echo "Message envoyé au webmaster";
}

?>
</head><br>

Le Site du Zero
0
aurelka Messages postés 4 Date d'inscription mardi 7 mai 2013 Statut Membre Dernière intervention 2 août 2013
7 mai 2013 à 18:57
<html>
<meta charset="utf-8"/>
<h1>PHP avance-serie 1</h1><br/>
<body>
<form method="POST" action="cible.php">
<p>
Quel est votre prenom?
<input type="text" name="prenom" value=" "/><br/>
Quel est votre nom?
<input type="text" name="nom" value=" "/><br/>
Veuillez entrer ici un mot de passe
<input type="password" name="mot de passe"/><br/>
Veuillez confirmer votre mot de passe
<input type="password" name="confirmez votre mot de passe"/><br/>
Etes-vous un homme ou une femme?
homme
<input type="radio" name="homme" value="oui" id="oui1" checked="checked"/><label for="oui1">Oui</label>
<input type="radio" name="homme" value="non" id="non1" /><label for="non1">Non</label><br/>
femme
<input type="radio" name="femme" value="oui" id="oui2" /><label for="oui2">Oui</label>
<input type="radio" name="femme" value="non" id="non2"/><label for="non2">Non</label><br/>
Quelle est votre activite favorite?
<select name="Activite favorite"><br/>
<option value=" ">----Votre choix-----</option><br/>
<option value="choix1">Sorties culturelles</option>
<option value="choix2">Informatique</option>
<option value="choix3">Voyages</option>
<option value="choix4">Politique</option>
</select><br/>
<h2>Voulez-vous recevoir notre newsletter?</h2><br>
<input type="checkbox" name="newsletter" value="oui" id="oui" checked="checked"/><label for="oui">Oui</label>
<input type="checkbox" name="newsletter" value="non" id="non"/><label for="non">Non</label><br/>
<h2>Avez-vous des commentaires?</h2><br/>
<textarea name="commentaires" rows="10" cols="50">
Votre texte ici
</textarea><br/>
<input type="submit" value="envoyer"/>
<input type="reset" value="annuler"/><br/>
</p>
</form>

Voilà le formulaire, qui est bon, j'ai vérifié.

Et voilà ce qui cloche ;

<?php
echo "Merci d'avoir rempli le formulaire. Voici les données introduites :";
echo '<br/>';
echo 'Votre prénom est : ';
echo $_POST['firstName']; // méthode post utilisé dans le formulaire registration
echo '<br/>';
echo 'Votre nom est : ';
echo $_POST['lastName'];
echo'<br/>';
echo 'Votre mot de passe 1 est : ';
echo $_POST['password1'];
echo '<br/>';
echo 'Votre mot de passe 2 est : ';
echo $_POST['password2'];
echo '<br/>';
echo 'Vous êtes de sexe : ';
echo $_POST['gender'];
echo '<br/>';
echo $_POST['favoriteWidget'];
echo '<br/>';
echo 'Recevoir newsletter : ';
echo $_POST['newsletter'];
echo '<br/>';
echo 'Vos commentaires : ';
echo $_POST['comments'];
echo '<br/>';

?>

Merci pour vos réponses, je sais que c'est un peu long. Je vais voir avec les guillemets, mon prof me dit toujours qu'il faut mettre des apostrophes.
0