[RESOLU] validation conditionnelle à partir du contenu d'un champ texte

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 : [RESOLU] validation conditionnelle à partir du contenu d'un champ texte

Re: validation conditionnelle à partir du contenu d'un champ texte

par Lola Michel » 30 déc. 2016, 14:40

Bien vu, c'était effectivement un problème d'espace !
Je te remercie beaucoup pour ton aide !

Re: validation conditionnelle à partir du contenu d'un champ texte

par Spols » 29 déc. 2016, 23:50

vérifie qu'il n'y ait aucun espace avant ou aprés ton mot.
essaye un var_dump() à la place de echo pour connaître la longueur des 2 chaines, si besoin fait une comparaison caractère par caractère.
tente aussi un trim() sur les 2 chaines avant comparaison

Re: validation conditionnelle à partir du contenu d'un champ texte

par Lola Michel » 29 déc. 2016, 21:50

Merci pour ta réponse or 1.
En fait l'affichage donne bien les 2 valeurs identiques avec :
echo $texte."<br />";
et
echo $mot."<br />"
par contre le message n'est pas le bon : j'obtiens tout le temps le message "Le mot n'est pas bon. Cliquez ici pour resaisir le mot". Comme si on n'entrait pas dans la bonne condition !

Re: validation conditionnelle à partir du contenu d'un champ texte

par or 1 » 29 déc. 2016, 21:13

cela fonctionne chez moi.

$mot = $_SESSION["mot"] ;
echo $mot."<br />";
cela affiche bien ce qui est attendu ?

validation conditionnelle à partir du contenu d'un champ texte

par Lola Michel » 29 déc. 2016, 20:42

Bonjour,
Voici mon problème :
Je génère de façon aléatoire un mot que je dois recopier dans un champ de texte et valider en appuyant sur OK.
La validation m'amène sur une nouvelle page. (validation.php)
Si j'ai bien recopié le mot, j'ai un message comme quoi c'est bon, sinon il m'invite à recopier le nouveau mot.
Dans mon cas, il me dit tout le temps que le mot n'est pas bon (même si j'ai bien recopié !)
Voyez-vous d'où vient l'erreur ?
Un grand merci pour votre aide !

Voici le code de la page accueil :
<?php session_start(); ?>

<html>
<head>
<meta charset="utf-8">
</head>
<body>

<?php
$lemot = chr(rand(65,90)).chr(rand(97,122)).chr(rand(48,57)).chr(rand(97,122)).chr(rand(65,90)).chr(rand(48,57));
echo "LE MOT EST :  ".$lemot."<br />";
$_SESSION["mot"] = $lemot ;
?>

<p>Entrez le texte que vous voyez ci-dessus :<p>
<form name="formulaire" method="post" action="validation.php">
	<input type="text" name="texte" id="texte" />
	<input type="submit" name="valide" value="OK" />
</form>

</body>
</html>
Voici le code de validation :
<?php
session_start();

if ((isset($_POST["valide"]))&&(isset($_SESSION["mot"])))
{
	$texte = $_POST["texte"];	
	//$_SESSION["texte"] = $texte ;
	echo $texte."<br />";

	$mot = $_SESSION["mot"] ;
	echo $mot."<br />";	

	if ($texte == $mot)
	{
		echo "Le mot est ok !";
	}
	else
	{
		echo "Le mot n'est pas bon. Cliquez <a href='accueil.php'>ici</a> pour resaisir le mot" ;
	}
}
?>