formulaire, vérification et redirection

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 : formulaire, vérification et redirection

par Truc » 11 févr. 2007, 01:48

ça me parait correct... effectuer le traitement PHP avant le code HTML

par rolusseum » 11 févr. 2007, 00:18

Bon, ben je valide ma soluce bricolo!!!!

par rolusseum » 09 févr. 2007, 01:10

Merci Truc,
je connaissais cet exemple de formulaire proposé par Cyrano et il m'avait déjà bien servi.
Mais il ne répond pas à mon ptit souci.

Pour l'instant, j'ai trouvé une solution un ptit peu bricolo:
//verif si action submitt
if(!empty($_POST['envoiForm'])|| !empty($_POST['envoiForm_x'])){
	//Récupération des valeurs du formulaire
	$value1= $_POST['val1'];
	$value2= $_POST['val2'];
        //Mises en session des valeurs du formulaire
       $_SESSION['value1']= $value1;
       $_SESSION['value2']= $value2;
       //$verif de condition si =0 (ok) si =1 (erreur)
       $verif=0;
       //Exemple de verification des valeurs du formulaire
       if($value1!='0'and $value2!='0')	{
	  $messageErreurSaisie='Vous ne pouvez pas sélectionner deux 
          champ dans la meme ligne!!!!!';
	  $verif =1;
          //Mise en session message erreur
	  $_SESSION['msgErrorSess']= $messageErreurSaisie;
	  //Redirection vers la page souhaitee en l'occurence la page encours
	  header ("Location: Page_Formulaire.php");
	}
        if($verif=='0'){
	$messageErreurSaisie='';
	$_SESSION['msgErrorSess']= $messageErreurSaisie;
	//Redirection vers la page souhaitee
	header("location:Page_Souhaitee.php");
	exit;
	}
}
Et ici le code Html et l'appel aux diverses $ session

Voilà le machin....Si vous avez des idées, des améliorations, je suis
preneur.

par Truc » 08 févr. 2007, 23:29

Salut,

Tout simplement en effectuant toute les vérifications avant affichage des données.

Regarde [url+http://www.phpfrance.com/forums/voir_sujet-12858.php]ce post[/url] pour un bon exemple

formulaire, vérification et redirection

par rolusseum » 08 févr. 2007, 23:26

Bonjour,

J'ai un formulaire que je valide sur la même page par:

Code : Tout sélectionner

<form method="post" action="<?$_SERVER['PHP_SELF'];?>" name="formulaire">
Sur la même page j'aimerais faire diverses vérifications des données saisies.
et si c'est ok rediriger vers une autre page par :

Code : Tout sélectionner

header ("Location: Page_Souhaitee.php"); exit;
Si dans mes vérifications j'ai une incohérence, j'affiche un message d'erreur et reste sur la page du formulaire.
Le problème est que je place la redirection de ma page après mes vérifications. Et le "header" n'aime pas trop le html et les echo avant lui...

Donc la redirection "header" doit être avant le code de vérification.

Comment pourrai-je faire en gardant le principe de la redirection "header"?