Condition (if) puis redirection (html) selon le choix

Petit nouveau ! | 3 Messages

05 oct. 2011, 15:32

Bonjour,

Cela doit être trés basique. Mais cela ne fonctionne pas avec header...
Une condition dans un formulaire de site d'alccol (vin) : plus ou moins de 18 ans
Si oui, aller à presentation.html
Si non, desole.html

Le formulaire :

Code : Tout sélectionner

<p> ATTENTION <br/><br/> En France, conformément au code de la santé publique, la consommation d'alcool est destinée aux personnes adultes de plus de 18 ans. Vous devez impérativement avoir l'âge légal pour visiter ce site web. </p> <form method="get" action="aller.php" name="entree" target="_self"> <p> <label><input name="age" type="radio" id="age_0" value="oui"/>J'ai moins de 18 ans</label><br /> <label><input type="radio" name="age" value="non" id="age_1" checked="checked" />J'ai plus de 18 ans</label><br /></p> <input type="button" name="OK" value="Entrer dans Vignobles Perrain" </form> <p> L'ABUS D'ALCOOL EST DANGEREUX POUR LA SANTÉ. À CONSOMMER AVEC MODÉRATION </p>
L'action : aller.php
Faut il 'inclure dans une page avec <head> et </head> ?
header et il la bonne solution.
J'ai lu : http://www.un-programmeur-php.ca/articles/header.php

L'action : aller.php

Code : Tout sélectionner

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>Document sans titre</title> <?php $age = $_GET['age']; //ob_start() if ($age == "oui") { // header("HTTP/1.1 301 Moved Permanently"); header('Location: http://www.vignoblesperrain.fr/vignobles-perrain/presentation.html'); } else { header('Location: http://www.vignoblesperrain.fr/vignobles-perrain/desole.html'); } //ob_end_flush() ?> </head> <body> </body> </html>

Il y a peut être plis simple...et mille exemples
Merci par avance de votre aide précieuse

Le site url :

http://www.vignoblesperrain.fr/alcool2.html
protection de la page :
karactere
32U3FA3SZ0

alain

ViPHP
ViPHP | 2577 Messages

05 oct. 2011, 15:53

Pour le formulaire, <input type="submit"...
(à la place de button)

Petit nouveau ! | 3 Messages

05 oct. 2011, 15:58

Merci, c'est fait.
Mais ça ne marche toujours pas...
C'est l'action que je ne sens pas du tout :=)

Eléphanteau du PHP | 31 Messages

05 oct. 2011, 22:44

Bonsoir,

C'est tout à fait normal et logique d'obtenir une erreur avec ton code.. il ne faut jamais mettre de code HTML (même pas un ESPACE !) avant une entête (header) !

Met juste :
<?php
$age = $_GET['age'];
//ob_start()
if ($age == "oui")
{
// header("HTTP/1.1 301 Moved Permanently");
header('Location: http://www.vignoblesperrain.fr/vignobles-perrain/presentation.html');
}
else
{
header('Location: http://www.vignoblesperrain.fr/vignobles-perrain/desole.html');
}
//ob_end_flush()
?>