Envoue de message d'erreur vers mon formulaire ?

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Envoue de message d'erreur vers mon formulaire ?

par charabia » 28 févr. 2006, 09:58

Généralement quand on peut le faire en une page c'est mieux, ça évite de faire plusieurs pages pour rien.

Sinon pour le passage tu as la méthode URL, la méthode formulaire, les sessions, les cookies et peut-être d'autres que je n'ai aps en tête.

par sam01 » 28 févr. 2006, 08:58

ben c'est pour faire plus propre.
mais bon soit.
D'une manière générale, quel est le moyen de faire passer une variable d'une page vers une autre?

par charabia » 27 févr. 2006, 23:06

Une question simple, lol tu te compliques la vie à faire un code en 2 pages pour avoir le résultat que je t'ai mis plus haut condensé en une...

Il y a une raison précise pour que tu veuilles absolument 2 pages différentes ?

par sam01 » 27 févr. 2006, 22:57

tu vas peut-être me trouver un peu ch...
mias j'aimerais que le message d'erreur apparaisse à côte de mon formulaire.
c'est possible ?

par charabia » 27 févr. 2006, 21:59

Page index.htm

Code : Tout sélectionner

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Untitled</title> </head> <body> <form action="verif.php" method="post"> <input type="Text" name="civilite" value=""> <input type="Submit" name="envoyer" value="Envoyer"> </form> </body> </html>
Page verif.php
<?php 
if(empty($civilite)) 
{ 
print("Merci de remplir le champs civilité"); 
exit(); 
}
?>
Mais c'est dommage de faire 2 pages différentes alors que tu peux en faire qu'une.

par sam01 » 27 févr. 2006, 21:10

oui, mais moi j'aimerais avoir mon code php dans un fichier et mon formulaire das un autre fichier. c'est pour cela que je cherche de quelle façon je peux faire aparaître mes messages d'erreur dans le formulaire.
Dans l'exemple que tu me donnes, tu mélange formulaire et code php.
aurais-tu un exemple ou les deux sont séparés?

merci d'avance.

par charabia » 27 févr. 2006, 12:42

Le souci avec le javascript c'est sa désactivation possible :)

Bases toi sur cet exemple et construit ton code à partir de là :

Page index.php :
<?php 
if (isset($_POST['envoyer']) && $_POST['envoyer'] == 'Envoyer')
{
	$civilite = $_POST['civilite'];
	
	if(empty($civilite)) 
	{ 
		$erreur = "Veuillez remplir le champ civilité";
	}
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
	<title>Untitled</title>
</head>

<body>
<?php if(isset($erreur)) echo $erreur;?>
<form action="index.php" method="post">
<input type="Text" name="civilite" value="">
<input type="Submit" name="envoyer" value="Envoyer">
</form>

</body>
</html>
Tu rajoutes ensuite les if et else à ta convenance ;)

par Dominic » 27 févr. 2006, 12:39

le javascript côté client me parait une solution bien plus rapide et souple

Envoue de message d'erreur vers mon formulaire ?

par sam01 » 27 févr. 2006, 12:17

Bonjour,

j'effectue des test sur mon formulaire rempli et s'il est mal rempli je voudrais que les message d'erreur apparaissent vers mon formulaire initiale. pour cela j'utilise Header, mais mes message d'erreurs n'apparaissent pas?

Voici mon code :
<?php 

$erreur = false; 

$civilite = $_POST['civilite']; 
$mail = $_POST['mail']; 
$point = strpos($mail,"."); 
$aroba = strpos($mail,"@"); 
$nom = $_POST['nom']; 
$prenom = $_POST['prenom']; 
$telephone = $_POST['telephone']; 
$mdp = $_POST['mdp']; 
$mdp=md5($mdp); 
$mdpc = $_POST['mdpc']; 
$mdpc=md5($mdpc); 
$ad_ligne1 = $_POST['ad_ligne1']; 
$ad_ligne2 = $_POST['ad_ligne2']; 
$ad_cp = $_POST['ad_cp']; 
$ad_ville = $_POST['ad_ville']; 
if(empty($mail)) 
{ 
echo ' <center>Le <b>Mail</b> est vide !</center> '; 
}elseif($point=='') 
{ echo 'Votre email doit comporter un <b>point</b>';} 
elseif($aroba=='') 
{ $erreur = true; 
  echo "Votre email doit comporter un <b>'@'</b>"; 
} 
else{} 
if(empty($nom)) 
{ 
$erreur = true; 
echo ' <center>Le <b>nom</b> est vide </center> '; 
}else{} 
if(empty($prenom)) 
{ 
echo ' <center>Le <b>prénom</b> est vide </center> '; 
}else{} 
if(empty($telephone)) 
{ 
echo ' <center>Le <b>Telephone</b> est vide </center> '; 
}else{} 
if(empty($mdp)) 
{ 
echo ' <center>Le <b>Mot de passe</b> est vide </center> '; 
}else{} 
if(empty($mdpc)) 
{ 
echo ' <center>Le <b>Mot de passe à confirmer</b> est vide </center> '; 
}else{} 
if(empty($ad_ligne1)) 
{ 
echo " <center>Merci de renseigner le première ligne de l'adresse</center> "; 
}else{} 
if(empty($ad_cp)) 
{ 
echo ' <center>Le <b>Code postal</b> est vide </center> '; 
}else{} 
if(empty($ad_ville)) 
{ 
echo ' <center>La <b>Ville</b> est vide </center> '; 
}else{} 

// si le formulaire n'est pas bien rempli , revoie des message d'erreur sur le formulaire initiale 

if ($erreur) { 
header("Location: crecli.htm"); 
}else{}
Merci d'avance de votre aide. :wink: