Enlever le formulaire lorqu'on a déja posté

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 : Enlever le formulaire lorqu'on a déja posté

par Invité » 26 juin 2006, 13:09

merci, j'essaye

par guilt92 » 26 juin 2006, 13:08

Si tu places le header("Location: mapage.php"); dans le IF, alors cela n aura lieu QUE si la condition du if est vraie...
setcookie("ip",$_SERVER['REMOTE_ADDR'],time()+.3600*60*90); 

// Si le cookie est égale à l'ip du client alors on le stop 
if (isset($_COOKIE['ip']) && $_COOKIE['ip']==$_SERVER['REMOTE_ADDR']) 
{ 
        header("Location: mapage.php");
       
} 
else {
//déroulement "normal"
}

par Invité » 26 juin 2006, 13:05

oui, mais une redirection quelorsque la personne a déja posté, comme ça, je fais une page sans le formulaire, juste avec les messages.

par guilt92 » 26 juin 2006, 13:02

Bonjour,

si j ai bien compris tu veux simplement une redirection... Il te suffit de mettre à la place de ton echo la commande :

header("Location: mapage.php");

Cela fera une redirection. Sinon si les headers ont déjà été envoyés et que tu n as pas le choix tu peux aussi faire cela en javascript avec window.location = "mapage.php";

Sinon si tu ne veux pas faire d autre page tu peux aussi procéder comme cela :

Si le cookie est deja présent alors tu defini une variable $deja_venu = true; sinon à false et par exemple si la variable est a true tu ajoutes a ton bouton de validation disabled="disabled", ainsi le bouton de validation du formulaire sera grisé et inclicable...

Enlever le formulaire lorqu'on a déja posté

par Oliv » 26 juin 2006, 12:53

Salut a tous!
décidément, ce livre d'or ne me pose que des problèmes.
Je voudrais que lorsqu'un visiteur a déja posté un message le formulaire disparaisse (comme ça, il poste plus :p ) ou alors, losqu'il a déja posté, il soit redirigé vers une page ou il n'y a pas le formulaire.
Par exemple, j'ai ce script en haut de page:
setcookie("ip",$_SERVER['REMOTE_ADDR'],time()+.3600*60*90);

// Si le cookie est égale à l'ip du client alors on le stop
if (isset($_COOKIE['ip']) && $_COOKIE['ip']==$_SERVER['REMOTE_ADDR'])
{
        echo "<h1>Vous ne pouvez émettre qu'un seul avis et vous l'avez déjà donné !</h1>";

        // On stop le script
        exit;
}
Bah j 'aimerais qu'à la place de
<h1>Vous ne pouvez émettre qu'un seul avis et vous l'avez déjà donné !</h1>
, ça m'enmène vers une page ou il n'y a pas de formulaire.
merci d'avance :)