Problème pour récupérer la valeur d' un cookie

Répondre
Bzh
le 26/03/2005 à 16:57
Bzh
Bonjour tout le monde...

Voilà, je comprends pas du tout, mais je n' arrive pas à récupérer la valeur du cookie pourtant il est bien présent dans le navigateur !!!

Voilà mon code:

<?php
if( isset($_POST['D1'])){ session_start();

$temps = time() + 365*24*3600;
$location = "Location: ../index.php";

setcookie ("zoneprivate_style", $_POST['D1'], $temps);
$_SESSION['style'] = $_POST['D1'];

header($location);

}else{

if(isset($_COOKIE['zoneprivate_style'])){ $_SESSION['style'] = $_COOKIE['zoneprivate_style']; }



if(isset($_SESSION['style'])){

echo "<link href=\"feuilles_de_styles/style".$_SESSION['style'].".css\" rel=\"stylesheet\" type=\"text/css\">";

}else{

echo "<link href=\"feuilles_de_styles/style1.css\" rel=\"stylesheet\" type=\"text/css\">";

}
}
?>


Ciao...
Bzh
le 27/03/2005 à 16:49
Bzh
J' essaye un peu de relancer mon sujet !!!smiley

Je comprends pas...
Je n' arrive pas à récupérer la valeur de mon cookie et pourtant lorsque je regarde dans les cookies de mon navigateur il est bien là...

Là sérieu je ne vois pas...

Si quelqu' un pourrais me donner une petite astuce ou quoique se soit se serait vraiment cool !!!

Ciao...
Keny
le 27/03/2005 à 18:16
Keny
Salut.

form.php : le formulaire

form_traitement.php : pour traiter les données du formulaire

cookie.php : pour afficher l'information contenue dans le cookie.

// fichier form.php 

<HTML>

<BODY>

<?php

// si le cookie existe et n'est pas vide, on affiche sa valeur

if ($_COOKIE['pseudo'] != "") {

echo 'Bonjour '.$_COOKIE['pseudo'].' !';

}

/*

si le cookie n'existe pas, on affiche un formulaire permettant au visiteur de saisir son pseudo

*/

else {

echo'<TABLE ALIGN="center">';

// on fait pointer le formulaire vers la page traitant les données

echo'<FORM ACTION="./form_traitement.php" METHOD="post">';

echo'<B>Pseudo : </B><INPUT TYPE="text" NAME="pseudo" SIZE="40"><BR><BR>';

echo'<INPUT TYPE="submit" VALUE="Poster" SIZE="10">';

echo'</FORM></TABLE>';

}

?>

</BODY>

</HTML>

// fichier form_traitement.php

<?

if (isset($_POST['pseudo']))

$pseudo = $_POST['pseudo'];

else

$pseudo = "";

// fonction nous permettant de faire des redirections

function redirection($url){

if (headers_sent()){

print('<meta http-equiv="refresh" content="0;URL='.$url.'">');



else {

header("Location: $url");

}

}

// on teste le contenu de la variable $pseudo

if ($pseudo=="") {

echo '<BODY onLoad="alert(\'Le pseudo est vide...\')">';

redirection('./form.php');

exit;

}

// si tout est bon, on peut créer le cookie

else {

// on définit une durée de vie de notre cookie (en secondes), un an dans ce cas

$temps = 365*24*3600;

/*

on envoie un cookie de nom 'pseudo' portant la valeur de la variable $pseudo,

c'est-à-dire la valeur qu'a saisi la personne qui a rempli le formulaire et on limite

son champ d'action au domaine qui l'a créé avec "/" (le cookie ne pourra être lu que par un script appartenant au site qui l'a créé)

*/

setcookie("pseudo",$pseudo, time() + $temps,"/");

/*

on redirige vers cookie.php qui va afficher l'information que l'on vient d'inscrire dans le cookie

*/

redirection('./cookie.php');

// on stop le script.

exit;

}

?>

// fichier cookie.php

<HTML>

<HEAD>

<TITLE>Page de récupération du cookie</TITLE>

</HEAD>

<BODY>

<?php

if ($_COOKIE['pseudo'])

echo 'Votre pseudo est '.$_COOKIE['pseudo'];

else

echo 'Aucun cookie présent';

?>

</BODY>

</HTML>


ATTENTION :
Le setcookie, comme le session_start(), doit être positionné dans le script avant toute sortie HTML.

++
Little Keny
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours