Rechercher : dans
Par :

Vérification formulaire PHP

Dernière réponse le 28 oct 2009 à 13:33:30 sethyy, le 8 nov 2008 à 19:35:06 
 Signaler ce message aux modérateurs

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

Meilleures réponses pour « Vérification formulaire PHP » dans :
[PHP] Upload de fichiers VoirLe langage PHP permet de gérer des fichiers envoyés (uploadés) grâce à un formulaire HTML. Formulaire d'envoi de fichiers Configuration de PHP pour permettre l'upload Récupération du fichier avec PHP Formulaire d'envoi de fichiers La...
PHP - Récupération de données VoirPHP rend très simple la récupération de données envoyées par l'intermédiaire de formulaires HTML. Création d'un formulaire Grâce à la balise FORM du langage HTML, il est très simple de créer des formulaires comprenant : des champs de saisie des...
PHP - Mail et fonctions réseau VoirPHP étant un langage consacré au Web, il possède bien évidemment des fonctions lui permettant de communiquer avec le "monde extérieur" à l'aide de fonctions standards. Le service le plus utilisé sur Internet étant la messagerie électronique, il est...

1

Soadmystic, le 8 nov 2008 à 19:52:28

Tu veux pas faire ça en javascript c'est (pour moi) pour approprié ? Merci d'être clair et d'écrire des phases avec de la ponctua­tion 
(pas de langage sms, ça me donne pas envie de répondre)

Répondre à Soadmystic

2

sethyy, le 8 nov 2008 à 20:07:06

Bonsoir Soadmystic,

Non je préfère le faire en PHP, au cas où l'utilisateur désactive le JS...

Répondre à sethyy

3

sethyy, le 10 nov 2008 à 00:28:55

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 !

Répondre à sethyy

4

sethyy, le 10 nov 2008 à 01:59:02

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 :(:(:(

Répondre à sethyy

5

sethyy, le 11 nov 2008 à 18:50:19

Personne pour m'aider ? :(

Répondre à sethyy

6

muska92, le 11 nov 2008 à 22:31:20

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

Répondre à muska92

7

sethyy, le 20 nov 2008 à 16:00:57

Merci beaucoup ca a marché!!!

Répondre à sethyy

8

j.tel, le 20 nov 2008 à 16:52:50

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.

Répondre à j.tel

9

j.tel, le 20 nov 2008 à 16:54:52

Si tu veux utiliser le php donc tu dois apprendre l'ajax.

Répondre à j.tel

10

leica69, le 7 jan 2009 à 17:09:14

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

Répondre à leica69

11

yasmine, le 12 mai 2009 à 23:03:49

Bonjour svp sethyy comment ça a marché moi il m'affiche pas les erreurs :s , je dois faire la meme chose svp répondez :(

Répondre à yasmine

12

eddy, le 28 oct 2009 à 01:54:28

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>

Répondre à eddy

13

 leica69, le 28 oct 2009 à 13:33:30

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";
...
}
...
?>
...

Répondre à leica69
Collection CommentÇaMarche.net