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 !!

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
41
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