[PHP]$_SESSION qui disparaissent
brutax
Messages postés
40
Statut
Membre
-
bg62 Messages postés 26230 Statut Modérateur -
bg62 Messages postés 26230 Statut Modérateur -
Bonjour à tous.
voilà, je suis en train de faire un site avec du PHP et des sessions utilisateurs.
J'ai donc mis mon session_start(); en début de chaque page.
Mais avec IE... aie aie aie (comme d'hab !). Les variables de session disparaissent. Pas toujours sur la même page, ça arrive aléatoirement. Ca me l'a fait une fois sous firefox, alors que c'est presque systématique sous IE après une dizaine de clics de navigation.
Après quelques recherches, je me suis demandé si ce n'était pas dû à une mauvaise gestion des cookies. Voici quelques bouts de code et quelques pistes.
j'ai essayé de remplacer
par
c'est pas mieux.
Est-ce que ça vient de l'initialisation des cookies ?
Peu probable.
Est-ce que ça vient d'un manque de session_start(); ?
Possible, mais il est écrit en première ligne de la page dans laquelle toutes les autres sont incluses.
Est-ce que ça viendrait pas de ma structure à base de switch case ? et/ou des calculs pour les valeurs des cookies ?
Y'a pas une commande pour dire "supprimer tous les cookies" ? Au moins, ça me permettrai d'écarter la théorie du cookie...
Sinon je fais un cookie pour remplacer les variables de session. Mais ça m'ennuie de procéder comme çar...
Voilà. Si quelqu'un a des infos, je prends.
Merci bien à tout le monde
voilà, je suis en train de faire un site avec du PHP et des sessions utilisateurs.
J'ai donc mis mon session_start(); en début de chaque page.
Mais avec IE... aie aie aie (comme d'hab !). Les variables de session disparaissent. Pas toujours sur la même page, ça arrive aléatoirement. Ca me l'a fait une fois sous firefox, alors que c'est presque systématique sous IE après une dizaine de clics de navigation.
Après quelques recherches, je me suis demandé si ce n'était pas dû à une mauvaise gestion des cookies. Voici quelques bouts de code et quelques pistes.
j'ai essayé de remplacer
setcookie('cookie_form[totalvp]');
par
setcookie('cookie_form[totalvp']','',0,'/','',0);
c'est pas mieux.
Est-ce que ça vient de l'initialisation des cookies ?
Peu probable.
Est-ce que ça vient d'un manque de session_start(); ?
Possible, mais il est écrit en première ligne de la page dans laquelle toutes les autres sont incluses.
<?php
session_start();
include("blabla.php");
include("scripts.php");
?>
Est-ce que ça viendrait pas de ma structure à base de switch case ? et/ou des calculs pour les valeurs des cookies ?
switch ($page) {
case "action" :
setcookie('cookie_charges[fpedago]', $_POST['fpedago'], (time() + 14400));
setcookie('cookie_charges[sstrait]', $_POST['sstrait'], (time() + 14400));
setcookie('cookie_charges[honoraires]', $_POST['honoraires'], (time() + 14400));
setcookie('cookie_charges[locationext]', $_POST['locationext'], (time() + 14400));
break;
case "charges" :
setcookie('cookie_form[faf'.$i.']', $_POST['faf'.$i], (time() + 14400));
setcookie('cookie_form[prepa'.$i.']', round(($_POST['faf'.$i]/(1-($_POST['tx_prepa'.$i]/100)))-$_POST['faf'.$i], 2), (time() + 14400));
setcookie('cookie_form[ac'.$i.']', $_POST['ac'.$i], (time() + 14400));
setcookie('cookie_form[cht'.$i.']', $_POST['cht'.$i], (time() + 14400));
setcookie('cookie_form[lecout'.$i.']', str_replace(" ", "", $_POST['lecout'.$i]), (time() + 14400));
setcookie('cookie_form[tx_prepa'.$i.']', $_POST['tx_prepa'.$i], (time() + 14400));
break;
default;
//et là on supprime tous les cookies du dessus
}
Y'a pas une commande pour dire "supprimer tous les cookies" ? Au moins, ça me permettrai d'écarter la théorie du cookie...
Sinon je fais un cookie pour remplacer les variables de session. Mais ça m'ennuie de procéder comme çar...
Voilà. Si quelqu'un a des infos, je prends.
Merci bien à tout le monde
A voir également:
- [PHP]$_SESSION qui disparaissent
- Easy php - Télécharger - Divers Web & Internet
- Chaine qui disparaissent - Accueil - TV & Vidéo
- Expert php pinterest - Télécharger - Langages
- Pourquoi mes contacts disparaissent - Accueil - Guide Android
- Pourquoi mes sms disparaissent - Forum Xiaomi
4 réponses
si cela peut te servir:
https://longuetraine.fr/?article422/url-etrange-generee-sur-un-serveur-ovh
plusieurs solutions ;)
https://longuetraine.fr/?article422/url-etrange-generee-sur-un-serveur-ovh
plusieurs solutions ;)
J'ai essayé de remplacer les variables de session par des cookies.
Le problème persiste, et uniquement sous IE.
En fait, j'ai l'impression que quand ça lui pète, il supprime toutes les variables de sessions et les cookies.
Par exemple, pour la variable $_COOKIE['niveau'], j'ai
Notice: Undefined index: niveau in C:\xampp\htdocs\logb\calcul\rentabilite.php on line 2
Même chose si je mets $_SESSION['niveau'] à la place du cookie (sachant que j'ai initialisé mes sessions, mes variables et tout avant).
Quelle est la bonne syntaxe pour supprimer un cookie sous IE ?
Merci
Le problème persiste, et uniquement sous IE.
En fait, j'ai l'impression que quand ça lui pète, il supprime toutes les variables de sessions et les cookies.
Par exemple, pour la variable $_COOKIE['niveau'], j'ai
Notice: Undefined index: niveau in C:\xampp\htdocs\logb\calcul\rentabilite.php on line 2
Même chose si je mets $_SESSION['niveau'] à la place du cookie (sachant que j'ai initialisé mes sessions, mes variables et tout avant).
Quelle est la bonne syntaxe pour supprimer un cookie sous IE ?
Merci