Erreur avec mes cookies.

Eléphant du PHP | 226 Messages

04 mai 2013, 16:56

Bonjour,

Je suis un débutant en php. Je voudrais savoir quel est mon erreur puisque je ne l'a trouve pas. Mon code consiste a créer un historique de toute les couleurs choisis dans un textarea avec la date. Le problème s'est que sa affiche toujours 'white' comme couleur. Je voudrais que ça affiche les couleurs choisis.
<?php
if(empty($_COOKIE['fondo']))
{
	setcookie('fondo','white',time()*259200000*259200000*259200000);
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
<head>
<title>Color</title>
</head>
<script language="javascript">
function setCookie(c_name,value,exdays)
{
var exdate=new Date();
exdate.setDate(exdate.getDate() + exdays);
var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString());
document.cookie=c_name + "=" + c_value;
}

function getCookie(c_name)
{
var c_value = document.cookie;
var c_start = c_value.indexOf(" " + c_name + "=");
if (c_start == -1)
  {
  c_start = c_value.indexOf(c_name + "=");
  }
if (c_start == -1)
  {
  c_value = null;
  }
else
  {
  c_start = c_value.indexOf("=", c_start) + 1;
  var c_end = c_value.indexOf(";", c_start);
  if (c_end == -1)
  {
c_end = c_value.length;
}
c_value = unescape(c_value.substring(c_start,c_end));
}
return c_value;
}
</script>
<style type="text/css">
div
{
 width:25px;
 height:25px;
 border:1px solid black;
}

#negro
{
 background-color:black;
}

#blanco
{
 background-color:white;
}

#rojo
{
 background-color:red;
}

#verde
{
 background-color:green;
}

#azul
{
 background-color:blue;
}

#armillo
{
 background-color:yellow;
}

#rosa
{
 background-color:pink;
}

#gris
{
 background-color:grey;
}

#naranja
{
 background-color:orange;
}

#marron
{
 background-color:brown;
}

#malva
{
 background-color:purple;
}

textarea
{
 width:450px;
 height:150px;
 text-align:center;
}
</style>
<body onload="document.body.style.backgroundColor = getCookie('fondo');">
<div id="blanco" onclick="body.style.backgroundColor='white';setCookie('fondo','white',getTime()*259200000*259200000*259200000)"></div><br>
<div id="negro" onclick="body.style.backgroundColor='#636363';setCookie('fondo','#636363',getTime()*259200000*259200000*259200000)"></div><br>
<div id="gris" onclick="body.style.backgroundColor='grey';setCookie('fondo','grey',getTime()*259200000*259200000*259200000)"></div><br>
<div id="rojo" onclick="body.style.backgroundColor='red';setCookie('fondo','red',getTime()*259200000*259200000*259200000)"></div><br>
<div id="verde" onclick="body.style.backgroundColor='green';setCookie('fondo','green',getTime()*259200000*259200000*259200000)""></div><br>
<div id="azul" onclick="body.style.backgroundColor='blue';setCookie('fondo','blue',getTime()*259200000*259200000*259200000)"></div><br>
<div id="malva" onclick="body.style.backgroundColor='purple';setCookie('fondo','purple',getTime()*259200000*259200000*259200000)"></div><br>
<div id="naranja" onclick="body.style.backgroundColor='orange';setCookie('fondo','orange',getTime()*259200000*259200000*259200000)"></div><br>
<div id="armillo" onclick="body.style.backgroundColor='yellow';setCookie('fondo','yellow',getTime()*259200000*259200000*259200000)"></div><br>
<div id="marron" onclick="body.style.backgroundColor='brown';setCookie('fondo','brown',getTime()*259200000*259200000*259200000)"></div><br>
<div id="rosa" onclick="body.style.backgroundColor='pink';setCookie('fondo','pink',getTime()*259200000*259200000*259200000)"></div><br>
<center><textarea readonly="readonly">
<?php
$fechaSalvado = getdate(date("U"));
$fechaOrganizado = $fechaSalvado['weekday'] ." ". $fechaSalvado['mday']." ". $fechaSalvado['month'] ." ". $fechaSalvado['year'];
if(empty($_COOKIE['historico']))
{
	$texto = $fechaOrganizado ." : blanco&#10";
	setcookie('historico',$texto,time()*259200000*259200000*259200000);
}
$texto = $fechaOrganizado ." : ". $_COOKIE['fondo'] ."&#10";
setcookie('historico',$_COOKIE['historico'] . $texto, time()*259200000*259200000*259200000);
echo $_COOKIE['historico'];
?>
</textarea></center>
</body>
</html>
Djun, L'inoubliable et l'incontournable

ViPHP
ViPHP | 1996 Messages

04 mai 2013, 18:51

Si j'ai bien compris lors du test : if(empty($_COOKIE['fondo'])), aucun cookie ne doit être présent. As tu vérifié cela ?
Est ce que le cookie existe pendant le fonctionnement de ton navigateur internet ?
It is nice to be important but it is more important to be nice
http://www.aureuswebfactory.fr

bils
Invité n'ayant pas de compte PHPfrance

05 mai 2013, 18:25

Salut,

Il faut modifier la fonction javascript setcookie et les valeurs que tu lui envois en parametres.

<?php
if(empty($_COOKIE['fondo']))
{

setcookie('fondo','white',time()*259200000*259200000*259200000);
}



?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
<head>
<title>Color</title>
</head>
<script language="javascript">



function setCookie(c_name,value)
{
var d = new Date();

var exdate=new Date();

var exdays = exdate.getTime()*259200000*259200000*259200000;

exdate.setDate(exdate.getDate() + exdays);

var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString());
document.cookie=c_name + "=" + c_value;




}

function getCookie(c_name)
{
var c_value = document.cookie;
var c_start = c_value.indexOf(" " + c_name + "=");
if (c_start == -1)
{
c_start = c_value.indexOf(c_name + "=");
}
if (c_start == -1)
{
c_value = null;
}
else
{
c_start = c_value.indexOf("=", c_start) + 1;
var c_end = c_value.indexOf(";", c_start);
if (c_end == -1)
{
c_end = c_value.length;
}
c_value = unescape(c_value.substring(c_start,c_end));
}
return c_value;
}
</script>
<style type="text/css">
div
{
width:25px;
height:25px;
border:1px solid black;
}

#negro
{
background-color:black;
}

#blanco
{
background-color:white;
}

#rojo
{
background-color:red;
}

#verde
{
background-color:green;
}

#azul
{
background-color:blue;
}

#armillo
{
background-color:yellow;
}

#rosa
{
background-color:pink;
}

#gris
{
background-color:grey;
}

#naranja
{
background-color:orange;
}

#marron
{
background-color:brown;
}

#malva
{
background-color:purple;
}

textarea
{
width:450px;
height:150px;
text-align:center;
}
</style>
<body onload="document.body.style.backgroundColor = getCookie('fondo');">
<div id="blanco" onclick="body.style.backgroundColor='white';setCookie('fondo','white');window.location.reload(true);"></div><br>
<div id="negro" onclick="body.style.backgroundColor='#636363';setCookie('fondo','#636363');window.location.reload(true);"></div><br>
<div id="gris" onclick="body.style.backgroundColor='grey';setCookie('fondo','grey');window.location.reload(true);"></div><br>
<div id="rojo" onclick="body.style.backgroundColor='red';setCookie('fondo','red');window.location.reload(true);"></div><br>
<div id="verde" onclick="body.style.backgroundColor='green';setCookie('fondo','green');window.location.reload(true);"></div><br>
<div id="azul" onclick="body.style.backgroundColor='blue';setCookie('fondo','blue');window.location.reload(true);"></div><br>
<div id="malva" onclick="body.style.backgroundColor='purple';setCookie('fondo','purple');window.location.reload(true);"></div><br>
<div id="naranja" onclick="body.style.backgroundColor='orange';setCookie('fondo','orange');window.location.reload(true);"></div><br>
<div id="armillo" onclick="body.style.backgroundColor='yellow';setCookie('fondo','yellow');window.location.reload(true);"></div><br>
<div id="marron" onclick="body.style.backgroundColor='brown';setCookie('fondo','brown');window.location.reload(true);"></div><br>
<div id="rosa" onclick="body.style.backgroundColor='pink';setCookie('fondo','pink');window.location.reload(true);"></div><br>
<center>


<textarea readonly="readonly">
<?php
$fechaSalvado = getdate(date("U"));
$fechaOrganizado = $fechaSalvado['weekday'] ." ". $fechaSalvado['mday']." ". $fechaSalvado['month'] ." ". $fechaSalvado['year']." ". $fechaSalvado['hours']." ". $fechaSalvado['minutes']." ". $fechaSalvado['seconds'];

if(empty($_COOKIE['historico']))
{

$texto = $fechaOrganizado ." : blanco&#10";
setcookie('historico',$texto,time()*259200000*259200000*259200000);
}
$texto = $fechaOrganizado ." : ". $_COOKIE['fondo'] ."&#10";

// echo ($_COOKIE['fondo']);

setcookie('historico',$_COOKIE['historico'] . $texto, time()*259200000*259200000*259200000);
echo $_COOKIE['historico'];
?>
</textarea></center>
</body>
</html>