Aller au contenu

Méthode Post et formulaires


eurisko

Sujets conseillés

Bonjour,

Il y a 15 jours que je décortique le code source et je ne comprends pas.

j'ai constaté sur le hub que d'autres ont des soucis semblables, mais les réponses apportées ne m'éclairent pas.

j'ai créé 2 formulaires sucessifs (choix à sélectionner).

J'ai adapté un script php pour placer 2 cookies chez le visiteur puis les récupérer à chaque démarrage.

Tout fonctionne pour la première variable mais la seconde est déclarée indéfinie.

<?php
if(isset($_POST['change_format69']))
// On vérifie que le formulaire a été soumis
{
if(file_exists("./".$_POST['format69']."/format69.css"))
{
// On fait un cookie d'une année de durée pour garder en mémoire le format choisi et le récupérer à la prochaine visite

setcookie('format69', $_POST['format69'], time()+(365*24*3600));
// Si le fichier *.css existe on définit une variable $form correspondant au format choisi
$form = $_POST['format69'];
}
}
elseif(isset($_COOKIE['format69']))
// Si le formulaire n'a pas été soumis, on vérifie si le cookie format existe et si tel est le cas on définit une variable $form correspondant à ce style
{
$form = $_COOKIE['format69'];
}
else
// Si le cookie n'existe pas et que le formulaire n'a pas été soumis, on définit une variable $form correspondant au style par défaut
{
$form= "format69-1";
}
?>
<?php
echo " <style type=\"text/css\" media=\"screen\">\n";
echo " @import url(".$form."/format69.css);\n";
echo " </style>\n";
?>
<?php
if(isset($_POST['change_tonalite69']))
// On vérifie que le formulaire a été soumis
{
if(file_exists("./".$_POST['tonalite69']."tonalite69.css"))
{
// On fait un cookie d'une année de durée pour garder en mémoire la tonalite choisie et le récupérer à la prochaine visite

setcookie('tonalite69', $_POST['tonalite69'], time()+(365*24*3600));
// Si le fichier *.css existe on définit une variable $ton correspondantà la tonalité choisie
$ton = $_POST['tonalite69'];
}
}
elseif(isset($_COOKIE['tonalite69']))
// Si le formulaire n'a pas été soumis, on vérifie si le cookie tonalite69 existe et si tel est le cas on définit une variable $ton correspondant à ce style
{
$ton = $_COOKIE['tonalite69'];
}
else
// Si le cookie n'existe pas et que le formulaire n'a pas été soumis, on définit une variable ton correspondant à la tonalité par défaut
{
$ton = "tonalite69-1";
}
?>
<?php
echo " <style type=\"text/css\" media=\"screen\">\n";
echo " @import url(".$ton."/tonalite69.css);\n";
echo " </style>\n";
?>

Les options du formulaire permettent de sélectionner les noms des dossiers (format69-1 format69-2... ou tonalite69-1, tonalite69-2...) dans lesquels se trouvent les fichiers à récupérer (format69.css ou tonalite69.css=

La variable $ton est déclarée indéfinie.

J'ai essayé d'inverser l'ordre des scripts et/ou des formulaires mais c'est toujours la variable $ton qui est indéfinie.

<form method="post" action="<?php $_SERVER['PHP_SELF'] ?>">
<fieldset>
<legend>Choisissez un format</legend>
<select name="format69" >
<option value="format69-1" selected="selected">800</option>
<option value="format69-2">1204</option>
<input type="submit" name="change_format69" value="Changer " />
</select>
</fieldset>
</form>
<form method="post" action="<?php $_SERVER['PHP_SELF'] ?>">
<fieldset>
<legend>Choisissez une tonalite</legend>
<select name="tonalite69">
<option value="tonalite69-1" selected="selected"> beige</option>
<option value="tonalite69-2">bleu</option>
</select>
<input type="submit" name="change_tonalite69" value="Changer " />
   <a href="aide.html"> Aide</a>
</fieldset>
</form>

je pense avoir fait une erreur mais je ne vois pas laquelle :?:

merci de m'avoir lu (rédiger ceci est aussi une manière de réfléchir).

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...