Problème de Cookies
Dernière réponse : dans Programmation
Bonjour, alors je débute direct par vous montrer les codes concernés
:
ça c'est la page de l'include :
truc byzarre mais avec code j'ai le problème de header que avec le funky_design et pas avec default_design
et ce sur n'importe quel page meme si j'ai pas mis l'include tout en haut
ça, c'est la page où est inséré l'include :
et ça c'est le code de mon menu déroulant :
Donc voilà mon problème, j'ai crée deux designs
et un menu déroulent pour que le visiteur puisse le changer
mais le cookie ne passe pas
et me donne différentes erreur comme le header qui existe pas ^_^
:ça c'est la page de l'include :
<?php
<?php
if (isset($_GET['style']))
{
if ($_GET['style'] =="funky_design")
{
setcookie('design', 'funky_design', time() + 365*24*3600);
$design = 'funky_design';
}
elseif ($_GET['style'] =="default_design")
{
setcookie('design', 'default_design', time() + 365*24*3600);
$design = 'default_design';
}
}
elseif (!isset($_COOKIE['design']))
{
setcookie('design', 'funky_design', time() + 365*24*3600);
$design = 'cannabis_design';
}
else { $design = $_COOKIE['design']; }
echo '<link rel="stylesheet" media="screen" type="text/css" title="'.$design.'" href="'.$design.'.css" />'
?>
truc byzarre mais avec code j'ai le problème de header que avec le funky_design et pas avec default_design
et ce sur n'importe quel page meme si j'ai pas mis l'include tout en haut
ça, c'est la page où est inséré l'include :
<html xmlns="<a href="http://www.w3.org/1999/xhtml" target="_blank">http://www.w3.org/1999/xhtml</a>" xml:lang="fr" lang="fr">
<head>
<title>Accueil</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<?php
// On inclue le haut de la page
include("design.php");
?>
<base target="_top">
</head>
<body>
<div id="en_tete">
</div>
<div id="menu">
<div class="element_menu">
<?php
// On inclue le haut de la page
include("menu.php");
?>
</div>
</div>
<div id="corps">
<h1>Mon Site</h1>
<?php
echo 'Aujourd\'hui, nous sommes le : ' . date('d/m/Y');
?>
<?php
echo 'il est avec précision ( la classe :p ) : ' . date('H\h i\m\i\n s\s');
?>
<p>
Bonjour, je me prénomme Manson, j'ai créé ce site pour le plaisir d'appliquer mes connaissances et par la même occasion partager un peu de ma vie avec les personnes qui visiteront ce site. J'espère que vous ne serez pas déçus de ce site et dans la foulée de moi. Ce site, publié le Samedi 19 Février, risque de s'améliorer encore avec le temps donc n'hésitez pas à revenir de temps en temps.
Merci
<?php
mysql_connect("***********", "********", "********");
mysql_select_db("***************");
// On récupère les 5 dernières news
$retour = mysql_query('SELECT * FROM news ORDER BY id DESC LIMIT 0, 3');
while ($donnees = mysql_fetch_array($retour))
{
?>
<div class="news">
<h3>
<?php
echo $donnees['titre'];
?>
<em>le <?php echo date('d/m/Y à H\hi', $donnees['timestamp']); ?></em>
</h3>
<p>
<?php
// On enlève les éventuels antislash PUIS on crée les entrées en HTML ( )
$contenu = nl2br(stripslashes($donnees['contenu']));
echo $contenu;
?>
</p>
</div>
<?php
} // Fin de la boucle des news
?>
PS : ce site n'est pas encore aux normes W3C donc il est fortement recommandé de le visiter depuis mozilla firefox pour une meilleure vue ;)
<FONT COLOR="#00CC00">
<center>
<?php
// Connexion à MySQL
mysql_connect("*********", "***********", "*******");
mysql_select_db("********");
// -------
// ETAPE 1 : on vérifie si l'IP se trouve déjà dans la table
// Pour faire ça, on n'a qu'à compter le nombre d'entrées dont le champ "ip" est l'adresse ip du visiteur
$retour = mysql_query('SELECT COUNT(*) AS nbre_entrees FROM connectes WHERE ip=\'' . $_SERVER['REMOTE_ADDR'] . '\'');
$donnees = mysql_fetch_array($retour);
if ($donnees['nbre_entrees'] == 0) // L'ip ne se trouve pas dans la table, on va l'ajouter
{
mysql_query('INSERT INTO connectes VALUES(\'' . $_SERVER['REMOTE_ADDR'] . '\', ' . time() . ')');
}
else // L'ip se trouve déjà dans la table, on met juste à jour le timestamp
{
mysql_query('UPDATE connectes SET timestamp=' . time() . ' WHERE ip=\'' . $_SERVER['REMOTE_ADDR'] . '\'');
}
// -------
// ETAPE 2 : on supprime toutes les entrées dont le timestamp est plus vieux que 5 minutes
// On stocke dans une variable le timestamp qu'il était il y a 5 minutes :
$timestamp_5min = time() - (60 * 5); // 60 * 5 = nombre de secondes écoulées en 5 minutes
mysql_query('DELETE FROM connectes WHERE timestamp < ' . $timestamp_5min);
// -------
// ETAPE 3 : on compte le nombre d'ip stockées dans la table. C'est le nombre de visiteurs connectés
$retour = mysql_query('SELECT COUNT(*) AS nbre_entrees FROM connectes');
$donnees = mysql_fetch_array($retour);
// Ouf ! On n'a plus qu'à afficher le nombre de connectés !
echo '<p>Il y a actuellement ' . $donnees['nbre_entrees'] . ' visiteurs connectés sur mon site !</p>';
?>
Nombre Total De Visiteurs Depuis le Mardi 7 Mars 2006 :
<script type="text/javascript" src="<a href="http://www.ovnet.net/cpt/?code=6/28/6086/0/1&ID=38313" target="_blank">http://www.ovnet.net/cpt/?code=6/28/6086/0/1&ID=38313</a>"></script>
</center>
</FONT>
</p>
</div>
<div id="pied_de_page">
<?php
// On inclue le haut de la page
include("pied de page.php");
?>
</div>
</body>
</html>
et ça c'est le code de mon menu déroulant :
<h3>Change le design du site :D :</h3> <form name="mescss" method="get" action="<?php $_SERVER['PHP_SELF']; ?>">
<select name="style">
<option value="1">funky_design</option>
<option value="2">default_design</option>
</select>
<input type="submit" value="Valider" />
</form>
Donc voilà mon problème, j'ai crée deux designs
et un menu déroulent pour que le visiteur puisse le changer
mais le cookie ne passe pas
et me donne différentes erreur comme le header qui existe pas ^_^
Autres pages sur : probleme cookies
Lassé par la pub ? Créez un compte
<?php <------ en trop
<?php
if (isset($_POST['style']))
{
if ($_POST['style'] =="funky_design")
{
setcookie('design', 'funky_design', time() + 365*24*3600);
$design = 'funky_design';
}
elseif ($_POST['style'] =="default_design")
{
setcookie('design', 'default_design', time() + 365*24*3600);
$design = 'default_design';
}
}
elseif (!isset($_COOKIE['design']))
{
setcookie('design', 'funky_design', time() + 365*24*3600);
$design = 'cannabis_design';
}
else { $design = $_COOKIE['design']; }
echo '<link rel="stylesheet" media="screen" type="text/css" title="'.$design.'" href="'.$design.'.css" />'
?>
ensuite le menu deroulant
<form name="mescss" method="post" action="">
<select name="style">
<option value="1">funky_design</option>
<option value="2">default_design</option>
</select>
<="submit" value="Valider" />
</form>
ca devrait fonctionner.
maintenant utilisé ce code qu'on m'a donné et qui marche du tonnerre, c'est les sessions :
Donc voilà mon problème est résolu
Merci à tous ceux qui ont essayé de m'aider
<?php
session_start();
?>
<html>
<head>
<title>Accueil</title>
<?php
if(!isset($_SESSION['design']))
{
echo '<link rel="stylesheet" media="screen" type="text/css" title="default_design" href="default_design.css" />';
}
else
{
echo '<link rel="stylesheet" media="screen" type="text/css" title="'.$design.'" href="'.$design.'.css" />';
}
?>
<h3>Change le design du site :D :</h3> <form name="mescss" method="post" action="<?php $_SERVER['PHP_SELF']; ?>">
<select name="style">
<option value="1">funky_design</option>
<option value="2">default_design</option>
</select>
<input type="submit" value="Valider" />
</form>
<?php
if ($style== '1')
{
$design = 'funky_design';
}
else {
$design = 'default_design';
}
?>
Donc voilà mon problème est résolu
Merci à tous ceux qui ont essayé de m'aider
Lassé par la pub ? Créez un compte
- Contenus similaires :
Tags :