Erreur avec mes cookies.

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Erreur avec mes cookies.

Re: Erreur avec mes cookies.

par bils » 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>

Re: Erreur avec mes cookies.

par Aureusms » 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 ?

Erreur avec mes cookies.

par djun » 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>