Probleme cookie unserialize

Résolu
msatter Messages postés 8 Date d'inscription mercredi 11 avril 2007 Statut Membre Dernière intervention 10 mai 2010 - 25 juin 2008 à 14:50
msatter Messages postés 8 Date d'inscription mercredi 11 avril 2007 Statut Membre Dernière intervention 10 mai 2010 - 25 juin 2008 à 17:17
Bonjour,
j'ai un probleme qui ne s'est averer que quand je suis passer de esyphp2.01b à xampp .
le probleme est que mon cookie refuse de se "unserialiser"
code:
serialisation:
<?php
include("config.php");
if((isset($_POST['username']))AND(isset($_POST['password'])))
{
if((empty($_POST['username']))||(empty($_POST['password'])))
{
die ("nom d'utilisateur ou mot de passe incorrect");
}
$username=$_POST['username'];
$password=md5($_POST['password']);
mysql_connect($Serveur,$Utilisateur,$MotDePasse)or die ("erreur de connexion"); // connexion mysql
mysql_select_db($Base) or die ("erreur dans la selection de la base");
$sql " SELECT * FROM site_user WHERE login '".$username."' " ;
// on envoie la requête
$req = mysql_query($sql) or die('Erreur SQL !
'.$sql.'
'.mysql_error());
$data = mysql_fetch_array($req);
if(($data['pass']==$password)&&($data['login']==$username))
{
$v = serialize($data);
// creation de la commande de cookie
setcookie($cookie_user,$v,time()+$dure_cookie,"/");
// redirige
header("location:index.php");
}
else
{
echo "nom d'utilisateur ou mot de passe incorrect";
}
}
else
{
echo "nom d'utilisateur ou mot de passe incorrect";
}

?>
------------------------------------------------------
code unserialise:
<?php
include("config.php");
if (isset ($_COOKIE[$cookie_user]))
{//test test si pas admin

// extraction du cookie

$verif = array();
$a=' \ ';
eregi_replace(" ","",$a);
$d=$_COOKIE[$cookie_user];
eregi_replace($a, "", $d);
$verif = unserialize($d);

}
else
{

header("location:login.html");
}
?>
-------------------------------------------------------------
quand j'affiche var_dump(($_COOKIE[$cookie_user]));

j'ai:
a:10:{i:0;s:1:"1";s:7:"id_user";s:1:"1";i:1;s:5:"­;admin";s:5:"login";s:5:"admin";i:2;s:32:"1a1dc91c9073­25c69271ddf0c944bc72";s:4:"pass";s:32:"1a1dc91c907325c69271ddf0c94­4bc72";i:3;s:6:"aymane";s:3:"nom";s:6:"aymane";i­:4;s:1:"1";s:5:"admin";s:1:"1";}
probleme:
il y a des "" qui se sont ajouter lors du setcookie je crois ce qui fait que
var_dump(unserialize($_COOKIE[$cookie_user])); retourne false.

j'ai essayer de remplacer les "" ajoutés par des "" grace a ereg_replace() ,str_replace()... mais je n'ai trouver aucun moyen de l'exprimer en tant qu'expression régulière que faire
je crois que je suis pas loin de l'explosion

2 réponses

neigedhiver Messages postés 2480 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 14 janvier 2011 19
25 juin 2008 à 16:01
Salut,

Jette un oeil par là :
http://fr.php.net/manual/fr/function.stripslashes.php
http://fr.php.net/manual/fr/function.get-magic-quotes-gpc.php

<hr size="2" width="100%" />Neige

N'hésitez pas à lire la doc de PHP avant de poser des questions triviales...
3
msatter Messages postés 8 Date d'inscription mercredi 11 avril 2007 Statut Membre Dernière intervention 10 mai 2010
25 juin 2008 à 17:17
pb résolu merci
3
Rejoignez-nous