picture picture
août 11, 2008 PHP 4 Commentaires

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

4 Responses to “Tester un formulaire… sans utiliser JavaScript !”

4 Commentaires

  1. Negozooheno dit :

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

  2. Negozooheno dit :

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

  3. :/ dit :

    ben ué mais y’a des cons partout meme sur le oueb

  4. :| dit :

    c’st con de desactiver les javascripts…

Commentaire

Name

Mail (ne sera pas publié)

Website

Laisser ces deux champs tels quels :
:D :-) :( :o 8O :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: