Page 1 sur 2
sessions qui existe mais ne fonctionne pas
Posté : 21 nov. 2006, 15:32
par Invité
Bonjour,
Je viens d'installer apache_2.0.58, php-5.1.4 et mysql-4.1.20 sur un nouveau serveur (Windows 2000 server) et je n'arrive pas à faire fonctionner mes sessions.
Mes fichiers de sessions se sauvent bien dans le répertoire prévu à cet effet et avec un nom de fichier "cohérant" --> genre sess_3bcc5dffa738c3760601a7622bb15467
Hors à l'intérieur du fichier, j'ai bien le nom de la variable passé en cessions mais pas sa valeur!
Un tuyau?
Merci d'avance
Posté : 21 nov. 2006, 15:48
par Ajoloca
Bonjour,
Tu commences toutes tes pages par session_start() ?
Sinon, peux-tu nous montrer un bout de code?
Posté : 21 nov. 2006, 15:54
par Invité
Bonjour Ajoloca,
Oui je commence bien par session_start()
Ces pages fonctionnent très bien sur un autre serveur et le fichier de cession est complet
Posté : 21 nov. 2006, 16:03
par Ajoloca
Re,
Tu peux nous montrer un bout de code qui affecte les variables session et un autre où tu les récupères
Posté : 21 nov. 2006, 16:13
par Invité
page index.php (pas d'enregistrement de cession, juste un formulaire vers verif.php ... je tue la cession si on y repasse)
<?php
session_start();
session_unset();
session_destroy();
?>
<html>
<head>
<title></title>
</head>
<body>
<div>
<form enctype="multipart/form-data" method="post" name="identform" action="verif.php" />
<p>login <input type="text" class="field" name="veriflogin" value="" title="login" /></p>
<p>password <input type="password" class="field" name="verifpass" value="" title="password" /></p>
<p><input type="submit" name="connect" value="connect" title="connect" /></p>
</form>
</div>
</body>
</html>
page verif.php (traite l'info et enregistre la cession)
<?php
session_start();
require_once 'inc/connect.inc.php';
require_once 'inc/mysqlConnector.class.php';
require_once 'inc/function.inc.php';
// ici récuperation de data ...
$tabses = array();
$tabses['id_user'] = $row['id_user'];
$tabses['login'] = $veriflogin;
$tabses['nom'] = $row['nom'];
$tabses['prenom'] = $row['prenom'];
$tabses['initial'] = $row['initial'];
$tabses['id_groupe'] = $row['id_groupe'];
$tabses['groupe'] = $row['groupe'];
$tabses['siege'] = $row['siege'];
session_register( 'tabses' );
header( 'location:home.php' );
home.php (ici quand je dump $tabses il me dit NULL)
<?php
session_start();
$tabses = $_SESSION['tabses'];
?>
Posté : 21 nov. 2006, 16:23
par Ajoloca
Re,
Essaie avec cette syntaxe
Pour l'affectation
$_SESSION['tabses'] = serialize($tabses);
Et pour la récupération
$tabses = unserialize($_SESSION['tabses']);
Posté : 21 nov. 2006, 16:28
par Invité
ça ne marche pas ... à mon avis le problème n'est pas dans le code --> mes fichiers de cession sont bien crée mais vide, il contiennent juste le nom de la variable
Posté : 21 nov. 2006, 16:47
par Invité
Autant pour moi!!!
ça ne marche tjs pas mais mon fichier de cession n'est plus vide --> il est incomplet maintenant
Posté : 21 nov. 2006, 16:49
par Ajoloca
Re,
Fais un var_dump($tabses) avant l'affectation de la session.
Posté : 21 nov. 2006, 16:57
par Invité
ok,
quand je dump $tabses avant de le serialize() tout est dedans
et une fois que je le dump à la sortie, après unserialize() il me donne bool(false)
note: mon fichier cession est incomplet (comme corrompu) il manque la moitier des éléments du tableau
Posté : 21 nov. 2006, 17:26
par Invité
autre chose étrange : une fois serialisé et donc visible en partie dans le fichier de cession, le nom tabses n'y est plus indiqué, alors que sur l'autre serveur, le fichier de cession commence par tabses|

je nage
Posté : 21 nov. 2006, 17:33
par Ajoloca
Re,
En effet, c'est biz... ça.
A ma connaissance 'tabses' n'est pas un mot réservé. Mais par curiosité 2 choses.
1 - Vérifie que tu n'as pas d'espaces (ou caractères louches) entre les ' de $_SESSION['tabses'].
2 - change le nom de ta variabe session exp. 't_session'.
Je ne suis pas sur que ça change grande chose mais...
Posté : 21 nov. 2006, 17:58
par Invité
non ça ne change rien
... au pire, il faut que je ré-install quoi? plutôt apache ou php?
Posté : 21 nov. 2006, 18:05
par Ajoloca
Je ne suis pas sur qu'une réinstal s'impose.
On vas commencer par le commencement.
Les scripts qui te posent problème fonctionnent ailleurs.
1 - Le système, c'est le même ?
2 - Si oui, les versions des produits sont les mêmes ?
3 - Si oui, as-tu accès aux deux ?
4 - Si oui, as-tu fait une comparaison entre les deux configs (phpinfo()) ?
Posté : 21 nov. 2006, 18:14
par Invité
merci
Les scripts qui te posent problème fonctionnent ailleurs.
oui
1 - Le système, c'est le même ?
non ça tourne sur un xp et ça ne tourne pas sous un 2000 server
2 - Si oui, les versions des produits sont les mêmes ?
sur l'xp il y a un wamp qui tourne avec APACHE 2.0.58, PHP 5.1.4 and PECL, MYSQL 5.0.22 PHPMYADMIN 2.8.1, SQLITEMANAGER 1.2.0
sur le serveur 2000 : install à la main
apache_2.0.58, php-5.1.4 et mysql-4.1.20
3 - Si oui, as-tu accès aux deux ?
oui totalement
4 - Si oui, as-tu fait une comparaison entre les deux configs (phpinfo()) ?
oui et elle n'est pas identique :-\