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

Oliv
Invité n'ayant pas de compte PHPfrance

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

Mammouth du PHP | 1353 Messages

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...
Modifié en dernier par guilt92 le 26 juin 2006, 13:06, modifié 1 fois.
Tell me and I forget. Teach me and I remember. Involve me and I learn.

Invité
Invité n'ayant pas de compte PHPfrance

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.

Mammouth du PHP | 1353 Messages

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"
}
Tell me and I forget. Teach me and I remember. Involve me and I learn.

Invité
Invité n'ayant pas de compte PHPfrance

26 juin 2006, 13:09

merci, j'essaye