Vérification formulaire PHP

Résolu
sethyy Messages postés 32 Date d'inscription   Statut Membre Dernière intervention   -  
nomadus Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -
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   Statut Membre Dernière intervention   42
 
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   Statut Membre Dernière intervention   16
 
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   Statut Membre Dernière intervention   249
 
tu veux pas faire ça en javascript c'est (pour moi) pour approprié ?
1
sethyy Messages postés 32 Date d'inscription   Statut Membre Dernière intervention   16
 
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   Statut Membre Dernière intervention   16
 
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   Statut Membre Dernière intervention   16
 
Personne pour m'aider ? :(
1
sethyy Messages postés 32 Date d'inscription   Statut Membre Dernière intervention   16
 
merci beaucoup ca a marché!!!
1
nomadus Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention   1
 
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   Statut Membre Dernière intervention   1
 
si tu veux utiliser le php donc tu dois apprendre l'ajax.
1
leica69
 
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
yasmine
 
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
eddy
 
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
leica69
 
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