Tester un formulaire… sans utiliser JavaScript !
Quelques utilisateurs (désagréables pour les développeurs …) trouvent subtils de désactiver les javascripts de leurs navigateurs… rendant du même coup inefficaces tous les scripts de contrôles des formulaires.
La question est donc de pouvoir demander dynamiquement un retour en page d’envoi en cas de non-respect d’une règle, par exemple lorsqu’un un champ obligatoire est vide…
Il existe une solution en PHP !
Ce test est à insérer en haut de page pour éviter les erreurs de parsing liées à l’envoi d’un autre « header » avant le test.
if ($_POST['mot'] == '') { if(stristr($_SERVER['HTTP_REFERER'], '?') == FALSE) header("location: ".$_SERVER['HTTP_REFERER']."?error=vide"); else header("location: ".$_SERVER['HTTP_REFERER']."&error=vide"); exit; }
Explication :
– Si le champ du formulaire « mot » est vide, on renvoit à la page précédente grâce à la fonction header() et à la variable prédéfinie $_SERVER[‘HTTP_REFERER’] qui stocke la valeur de la page d’envoi.
– La variable « error=vide » renvoyée dans l’URL en GET permet d’afficher un message d’erreur sur la page d’envoi.
– Le seul problème est donc de détecter si cette URL contient déjà un variable en GET, de façon à passer ‘error » avec un « ? » ou un « & »… ce que la fonction stristr() fait très bien.
NB : il est à noter que $_SERVER[‘HTTP_REFERER’] est vide si l’URL est saisie directement par l’internaute… il faudra donc prévoir un retour conditionnel vers une page fixe (l’index par exemple) pour ce cas limite.
thx
<a href="http://www.feal.fr/index.php?top...
Les prix les plus bas . Acheter viagra en ligne sur internet Acheter du viagra en ligne
<a href=http://www.feal.fr/index.php?top... viagra</a>
<a href="http://www.feal.fr/index.php?top... viagra</a> :-()) Les prix les plus bas . Achat viagra canada Achat viagra en ligne dans notre pharmacie.
<a href=http://www.feal.fr/index.php?top... pas cher</a>
ben ué mais y’a des cons partout meme sur le oueb
c’st con de desactiver les javascripts…