Vérification formulaire PHP

Résolu/Fermé
sethyy Messages postés 32 Date d'inscription jeudi 19 juin 2008 Statut Membre Dernière intervention 23 décembre 2009 - 8 nov. 2008 à 19:35
nomadus Messages postés 3 Date d'inscription dimanche 7 avril 2013 Statut Membre Dernière intervention 8 avril 2013 - 7 avril 2013 à 11:19
Bonjour,

Je désirerais faire une vérification d'un formulaire en PHP. Je m'explique : j'ai deux fichiers, formulaire.php et traitement.php
Comme vous le devinez, formulaire.php envoie les informations des champs remplis à traitement.php.
Seulement voila : dans formulaire.php, je souhaiterais établir un script qui vérifie si un champs obligatoire a été rempli, et si ce n'est pas le cas, afficher un message d'erreur juste à coté du champ... Enfin, si l'utilisateur a bien rempli tous les champs obligatoires, les données sont transmises à traitement.php

Voici le code de formulaire.php :

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Document sans titre</title>
</head>

<body>
<form id="form1" name="form1" method="post" action="traitement.php">
<p>
Nom * :
<input type="text" name="nom" id="textfield" />
<?php
if(isset($_REQUEST["envoyer"]))
{
if(!isset($_REQUEST["nom"]) || $_REQUEST["nom"]=="")
{
die ("Ce champ doit être renseigné.");
}
}
?>
</p>
<p>
Prénom * :
<input type="text" name="prenom" id="textfield" />
<?php
if(isset($_REQUEST["envoyer"]))
{
if(!isset($_REQUEST["prenom"]) || $_REQUEST["prenom"]=="")
{
die ("Ce champ doit être renseigné.");
}
}
?>
</p>
<p>
<input type="submit" name="envoyer" id="button" value="Envoyer" />
</p>
</form>
</body>
</html>

Merci d'avance pour votre aide !!
A voir également:

11 réponses

muska92 Messages postés 277 Date d'inscription lundi 14 février 2005 Statut Membre Dernière intervention 14 août 2009 42
11 nov. 2008 à 22:31
bonsoir voila un bout de code qui peut t'aider : ( simple avec un code claire )

if(isset($_POST["envoyer"]))
{

if(!isset($_POST["nom"]) || $_POST["nom"]=="")
{
$nom = "Ce champ doit être renseigné.";
}
elseif(!isset($_POST["prenom"]) || $_POST["prenom"]=="")
{
$prenom = "Ce champ doit être renseigné.";
}
else {

header('location:traitement.php');

}

}

~~~~~~~~~~
by Muska92
http://www.easy-ocas.com
6
sethyy Messages postés 32 Date d'inscription jeudi 19 juin 2008 Statut Membre Dernière intervention 23 décembre 2009 16
8 nov. 2008 à 20:07
Bonsoir Soadmystic,

Non je préfère le faire en PHP, au cas où l'utilisateur désactive le JS...
2
Soadmystic Messages postés 1262 Date d'inscription lundi 22 octobre 2007 Statut Membre Dernière intervention 1 avril 2009 249
8 nov. 2008 à 19:52
tu veux pas faire ça en javascript c'est (pour moi) pour approprié ?
1
sethyy Messages postés 32 Date d'inscription jeudi 19 juin 2008 Statut Membre Dernière intervention 23 décembre 2009 16
10 nov. 2008 à 00:28
bon bah j'ai trouvé :

<?php
if(isset($_POST["envoyer"])) {

if(!isset($_POST["nom"]) || $_POST["nom"]=="") {
$nom = "Ce champ doit être renseigné.";
} else {
$nom = "";
}

if(!isset($_POST["prenom"]) || $_POST["prenom"]=="") {
$prenom = "Ce champ doit être renseigné.";
} else {
$prenom = "";
}

if (($nom == "") && ($prenom == "")) {
header('location:traitement.php');
}
}
?>

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Document sans titre</title>
</head>

<body>
<form id="form1" name="form1" method="post" action="#">
<p>
Nom * :
<input name="nom" type="text" id="textfield" value="<?php
if (isset ($_POST['nom'])) {
echo $_POST['nom'];
}
?>" />
<?php
if(isset($_POST["envoyer"])) {
echo $nom;
}
?>
</p>
<p>
Prénom * :
<input name="prenom" type="text" id="textfield" value="<?php
if (isset ($_POST['prenom'])) {
echo $_POST['prenom'];
}
?>" />
<?php
if(isset($_POST["envoyer"])) {
echo $prenom;
}
?>
</p>
<p>
<input type="submit" name="envoyer" id="button" value="Envoyer" />
</p>
</form>
</body>
</html>

RoCk n' RoLL !
1

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

Posez votre question
sethyy Messages postés 32 Date d'inscription jeudi 19 juin 2008 Statut Membre Dernière intervention 23 décembre 2009 16
10 nov. 2008 à 01:59
Rectification! Il y a un problème...

Les messages d'erreurs s'affichent, ca ok. Mais aucune information n'est envoyée à traitement.php !

Aidez-moiiiiiiii j'en peux plus :(:(:(
1
sethyy Messages postés 32 Date d'inscription jeudi 19 juin 2008 Statut Membre Dernière intervention 23 décembre 2009 16
11 nov. 2008 à 18:50
Personne pour m'aider ? :(
1
sethyy Messages postés 32 Date d'inscription jeudi 19 juin 2008 Statut Membre Dernière intervention 23 décembre 2009 16
20 nov. 2008 à 16:00
merci beaucoup ca a marché!!!
1
nomadus Messages postés 3 Date d'inscription dimanche 7 avril 2013 Statut Membre Dernière intervention 8 avril 2013
7 avril 2013 à 11:19
Bonjour sethyy,
Tu dis que cela a marché mais comment ? J'ai exactement le même problème que toi. Merci beaucoup par avance car je n'en vois pas le bout!
0
j.tel Messages postés 133 Date d'inscription mercredi 14 mai 2008 Statut Membre Dernière intervention 13 mai 2013 1
20 nov. 2008 à 16:52
il faut que utilise le language javascript parceque c'est un language client (il s'exécute chez le client donc ta pas besoin d'envoyer les données au serveur).
c'est la solution la plus fiable.
1
j.tel Messages postés 133 Date d'inscription mercredi 14 mai 2008 Statut Membre Dernière intervention 13 mai 2013 1
20 nov. 2008 à 16:54
si tu veux utiliser le php donc tu dois apprendre l'ajax.
1
Il a raison de vouloir le faire ne php au cas où l'utilisateur aurait désactivé je JS.Ajax utilise du JavaScript, donc inutile dans son cas.

Il faudrait idéalement faire une vérification:
- JS avant l'envoi du formulaire
- php après l'envoi mais avant l'enregistrement
0
bonjour svp sethyy comment ça a marché moi il m'affiche pas les erreurs :s , je dois faire la meme chose svp répondez :(
1
Bonjour,


Je suis débutant et je n'arrive pas a faire fonctionner mon formulaire newsletter. Pouvez vous me donner un coup de main sur ce problème de premier choix.

Je ne reçois pas l' Email de confirmation

Pouvez-vous adapter <?php……?> avec <form>……</form>


Le lien de ma page: http://www.cijoint.fr/cjlink.php?file=cj200910/cijyw5NMrK.txt


<head>

<?php if($_POST['action'] == "formok")
{
$e_mail = $_POST['email'];
if($e_mail == ""|| $e_mail == "e-mail")
{
$txt = " votre e-mail";
}
else
{
$destinataire= "bwba@hotmail.fr";
$objet = "Demande d'inscription";
$headers = "From: bwba@hotmail.fr \n\r";
$headers.= "Content-Type: text/html; charset=utf-8";
$headers .= "MIME-Version: 1.0 ";
$msg = "Nous vous informons d'une demande d'inscription suivant : ". $e_mail ."";
$msg = nl2br($msg);
mail($destinataire, $objet, $msg, $headers);
$msg2= "
Nous avons bien pris en compte votre demande d'inscription ? la newsletter.
Pour vous d?sinscrire, contactez nous

";
mail($e_mail, $objet, $msg2, $headers);
$txt = "Vous avez un message";
}
}
?>
</head>





<style type="text/css">
body {
font-family:Verdana, Arial, Helvetica, sans-serif;
font-size:60%;
margin:50px;
color:#666666;}
.fieldset {
width:300px;
border: 0px solid red;
}
.fieldset label {
text-align:right;
width:70px;
float:left;
padding:0.2em;
margin:0;
margin-top:0.3em;
}
.fieldset .nobr {display:none;} .fieldset .textfield {
margin:3px;
height:20px;
width:200px;
border:solid 1px #8caf10;
background: transparent url("http://") no-repeat;
}
.fieldset .textarea {
margin:3px;
height:165px;
width:200px;
border:solid 0 #fff;
}
.submit {
margin:3px;
height:20px;
border:solid 1px #8caf10;
width:80px;
font:1.1em Verdana, Arial, Helvetica, sans-serif;
color:#000000;
text-transform:uppercase;
background: transparent url("http://") no-repeat;
}
}
</style>




<body>

<form action="" method="post">
<fieldset class="fieldset"><br>
<span class="" style="direction: ltr; text-align: left;"><label
for="email"></label></span> <br class="nobr">
<input name="email" class="textfield" id="email"
type="text"> <span class=""
style="direction: ltr; text-align: left;"><br>
<span class="" style="direction: ltr; text-align: left;">
<br class="nobr">
<br>
<label for="submit"> </label><br
class="nobr">
<input name="submit" class="submit" id="submit"
value="envoyer" type="submit"></span></span></fieldset>
</form>

</body>
1
Tu ne mets pas d'action dans ton formulaire <form action="mapage.php" ...>
Le formulaire ne sait dont pas quelle page charger pour le traitement des données.

Si tu as toujours de problèmes, essaie de faire des "echo" pour voir o?u en est le traitement des données


<?php
echo "Début de l'analyse";
if($_POST['action'] == "formok")
{
echo "Le formulaire est OK";
...
}
...
?>
...
0