PB DE SESSION SUREMENT...

alexthehobbit Messages postés 16 Date d'inscription lundi 30 juin 2003 Statut Membre Dernière intervention 22 octobre 2003 - 13 oct. 2003 à 11:05
Dfeprod Messages postés 42 Date d'inscription lundi 8 juillet 2002 Statut Membre Dernière intervention 8 mai 2013 - 13 nov. 2005 à 22:25
J'ai créé un site (les pages sont .php) avec une identification obligatoire pour pouvoir y accéder. Les identifiants et les mots de passe sont stockés dans une base mysql. Une session permet d'enregistrer le n° client correspondant à l'identification effectuée. Ce n° client permet d'avoir toute les informations du client correspondant. Quant je teste ce site en réseau local, tout fonctionne parfaitement sur n'importe quelle machine. Lorsque j'essai de me connecter de l'extérieur, je m'identifie et accède au site mais aucune information client ne s'affiche.
Le problème doit venir de la session qui n'enregistre pas la variable (n° client) qui me permettrait d'accéder aux infos. La base est bien interrogée car lorsque je saisi un mauvais mot de passe, je ne peut accéder au site.

Je ne comprend vraiment pas d'où pourrait venir le problème...

Merci de votre aide.

alexthehobbit

17 réponses

cs_Tortuegeniale Messages postés 1123 Date d'inscription lundi 7 janvier 2002 Statut Membre Dernière intervention 26 juin 2008
13 oct. 2003 à 11:41
Salut

t'as un message d'erreur ou un truc du genre ? et c koi ton hebergeur ?

++

ps : on appuis 1 fois sur le bouton pour envoyer un message dans le forum :| lol

------
Je cherche un poste de developpeur PHP mysql, si vous avez une proposition ou si vous voulez mon CV ==> [mailto:tortue.geniale@laposte.net mailto:tortue.geniale@laposte.net]

=> http://www.kame-house.org La plus grosse base de données de DA du net
0
alexthehobbit Messages postés 16 Date d'inscription lundi 30 juin 2003 Statut Membre Dernière intervention 22 octobre 2003
13 oct. 2003 à 12:04
Non aucun message d'erreur et l'hébergeur est france telecom.
La page permettant d'enregistrer les variables $identifiant et $password après l'identification :

<?
session_start();
session_register("identifiant");
session_register("password");
$identifiant = $log;
$password = $motdepasse;

$db = mysql_connect('localhost', 'root', ''); // connexion à la base
mysql_select_db('Euralliance',$db); // sélection de la base

$sql="SELECT DenominationClient FROM clients where LoginClient='$identifiant' and PasswordClient='$password'";
$result = mysql_query($sql) or die('Erreur SQL !
'.$sql.'
'.mysql_error());
$total = mysql_num_rows($result);

if ($total)
{
header('location: afficher.php');// Redirection sur une page pour afficher le résultat
}

mysql_close();
?>
alexthehobbit
0
mightteam Messages postés 143 Date d'inscription lundi 1 septembre 2003 Statut Membre Dernière intervention 2 juin 2008
13 oct. 2003 à 14:40
j'ai eu un problème similaire il y a peu de temps sur un de mes sites

c'etais tout simplement parce que la session ne démarais pas je l'ai configurée en AutoStart sur mon serveur et c'est passé sans problème ou alors cela peut-etre l'endroit de stockage du cookie session qui serais soit erroné soit innéxistant

Msn & Mail : Technical@adverbo.be
0
mightteam Messages postés 143 Date d'inscription lundi 1 septembre 2003 Statut Membre Dernière intervention 2 juin 2008
13 oct. 2003 à 14:42
je vois aussi que dans ta requète tu n'as pas mis de mot de passe pourle serveur Mysql

aurais tu bien configurer tes param§tres de connection au serveur de france-telecom??

Msn & Mail : Technical@adverbo.be
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
alexthehobbit Messages postés 16 Date d'inscription lundi 30 juin 2003 Statut Membre Dernière intervention 22 octobre 2003
13 oct. 2003 à 15:34
J'ai paramétré la session en AutoSart et toujours pareil... Sur les paramétrages de stockage du cookie seesion, php.ini m'indique c:\Program Files \EasyPhp\tmp et les fichiers de session s'y trouve bien...

alexthehobbit
0
willowman Messages postés 143 Date d'inscription vendredi 5 juillet 2002 Statut Membre Dernière intervention 18 mars 2006 1
14 oct. 2003 à 23:09
Salut !

Crée une page test contenant un phpinfo(), et appelle la depuis l'exterieur, puis en locale. Compare tes parametres, surtout au niveau session !!

Tu dis que tes fichiers de session se trouvent bien sous le repertoire indiqué par ton php.ini, ceci est vrai lorsque tu accedes a ton site en locale ET depuis l'exterieur ??

Compare egalement la taille de tes fichiers sessions crées, tu pourras peut etre valider que tel acces depuis tel endroit te génère un fichier session plus au moins gros, pour une meme action sur ton site (à savoir se connecter avec login/pwd qui seront sauvegarder en session)

Autre chose, quelle version de php utilises-tu ?? As-tu testé de sauvegarder tes variables de session via $_SESSION[$var]
peux-tu fournir une partie de ton php.ini, celle traitant des sessions ??

Avec quel apache ?? As-tu utilisés easyphp, ou alors, des modules séparés ?

Arretes moi si je me trompes :

- tu disposes d'un serveur web sur lequel tes pages php utilisant les sessions marchent parfaitement en locale !

- des que tu accedes a ce meme serveur, mais depuis une connexion internet exterieur, tu as accès a ta base de données, mais la gestion des sessions de tes pages php merde !!

Est-ce bien cela ??

A+

Anli.
0
alexthehobbit Messages postés 16 Date d'inscription lundi 30 juin 2003 Statut Membre Dernière intervention 22 octobre 2003
15 oct. 2003 à 10:30
Alors :
- J'utilise PHP 4.2.0
- Installation avec EasyPHP
- J'ai essayé avec $_SESSION($var) et le résultat est le même

PHP.ini sur les sessions :
session.save_handler files ; session.save_path "C:\Program Files\EasyPHP\tmp";
session.use_cookies = 1 ; whether to use cookies
session.name = PHPSESSID
session.auto_start = 1 ;
session.cookie_lifetime = 0
session.cookie_path = /session.cookie_domain session.serialize_handler php
session.gc_probability = 1
session.gc_maxlifetime = 1440 session.referer_check session.entropy_length 0 session.entropy_file ; session.entropy_length 16
; session.entropy_file = /dev/urandom
session.cache_limiter = nocache
session.cache_expire = 180
session.use_trans_sid = 1
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"

alexthehobbit
0
mightteam Messages postés 143 Date d'inscription lundi 1 septembre 2003 Statut Membre Dernière intervention 2 juin 2008
15 oct. 2003 à 14:16
J'utilise un serveur apache et le PHP4.3.3 et voici mes parametres de session

et chez moi ca fonctionne

[Session]
; Handler used to store/retrieve data.
session.save_handler = files

; Argument passed to save_handler. In the case of files, this is the path
; where data files are stored. Note: Windows users have to change this
; variable in order to use PHP's session functions.
; As of PHP 4.0.1, you can define the path as:
; session.save_path = "N;/path"
; where N is an integer. Instead of storing all the session files in
; /path, what this will do is use subdirectories N-levels deep, and
; store the session data in those directories. This is useful if you
; or your OS have problems with lots of files in one directory, and is
; a more efficient layout for servers that handle lots of sessions.
; NOTE 1: PHP will not create this directory structure automatically.
; You can use the script in the ext/session dir for that purpose.
; NOTE 2: See the section on garbage collection below if you choose to
; use subdirectories for session storage
session.save_path =d:/web/bruno/root/e-comm-php/cookie

; Whether to use cookies.
session.use_cookies = 1

; This option enables administrators to make their users invulnerable to
; attacks which involve passing session ids in URLs; defaults to 0.
; session.use_only_cookies = 1

; Name of the session (used as cookie name).
session.name = PHPSESSID

; Initialize session on request startup.
session.auto_start = 1

; Lifetime in seconds of cookie or, if 0, until browser is restarted.
session.cookie_lifetime = 1

; The path for which the cookie is valid.
session.cookie_path =d:/web/bruno/root/e-comm-php/cookie

; The domain for which the cookie is valid.
session.cookie_domain =pages-concept.be

; Handler used to serialize data. php is the standard serializer of PHP.
session.serialize_handler = php

; Define the probability that the 'garbage collection' process is started
; on every session initialization.
; The probability is calculated by using gc_probability/gc_divisor,
; e.g. 1/100 means there is a 1% chance that the GC process starts
; on each request.

session.gc_probability = 1
session.gc_divisor = 100

; After this number of seconds, stored data will be seen as 'garbage' and
; cleaned up by the garbage collection process.
session.gc_maxlifetime = 1440

; NOTE: If you are using the subdirectory option for storing session files
; (see session.save_path above), then garbage collection does *not*
; happen automatically. You will need to do your own garbage
; collection through a shell script, cron entry, or some other method.
; For example, the following script would is the equivalent of
; setting session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes):
; cd /path/to/sessions; find -cmin +24 | xargs rm

; PHP 4.2 and less have an undocumented feature/bug that allows you to
; to initialize a session variable in the global scope, albeit register_globals
; is disabled. PHP 4.3 and later will warn you, if this feature is used.
; You can disable the feature and the warning seperately. At this time,
; the warning is only displayed, if bug_compat_42 is enabled.

session.bug_compat_42 = 0
session.bug_compat_warn = 0

; Check HTTP Referer to invalidate externally stored URLs containing ids.
; HTTP_REFERER has to contain this substring for the session to be
; considered as valid.
session.referer_check =

; How many bytes to read from the file.
session.entropy_length = 0

; Specified here to create the session id.session.entropy_file ;session.entropy_length 16

;session.entropy_file = /dev/urandom

; Set to {nocache,private,public,} to determine HTTP caching aspects
; or leave this empty to avoid sending anti-caching headers.
session.cache_limiter = nocache

; Document expires after n minutes.
session.cache_expire = 180

; trans sid support is disabled by default.
; Use of trans sid may risk your users security.
; Use this option with caution.
; - User may send URL contains active session ID
; to other person via. email/irc/etc.
; - URL that contains active session ID may be stored
; in publically accessible computer.
; - User may access your site with the same session ID
; always using URL stored in browser's history or bookmarks.
session.use_trans_sid = 0

; The URL rewriter will look for URLs in a defined set of HTML tags.
; form/fieldset are special; if you include them here, the rewriter will
; add a hidden field with the info which is otherwise appended
; to URLs. If you want XHTML conformity, remove the form entry.
; Note that all valid entries require a "=", even if no value follows.
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=,fieldset="

Msn & Mail : Technical@adverbo.be
0
alexthehobbit Messages postés 16 Date d'inscription lundi 30 juin 2003 Statut Membre Dernière intervention 22 octobre 2003
15 oct. 2003 à 14:59
j'ai mis les mêmes paramètres que toi et...pff tjrs pareil. Juste une chose, c'est koi ce paramètre : session.cookie_domain =pages-concept.be

Moi j'ai simplement :
session.cookie_domain =

Y'a juste ça qui change, mais je sais pas koi mettre

alexthehobbit
0
alexthehobbit Messages postés 16 Date d'inscription lundi 30 juin 2003 Statut Membre Dernière intervention 22 octobre 2003
15 oct. 2003 à 14:59
j'ai mis les mêmes paramètres que toi et...pff tjrs pareil. Juste une chose, c'est koi ce paramètre : session.cookie_domain =pages-concept.be

Moi j'ai simplement :
session.cookie_domain =

Y'a juste ça qui change, mais je sais pas koi mettre

alexthehobbit
0
mightteam Messages postés 143 Date d'inscription lundi 1 septembre 2003 Statut Membre Dernière intervention 2 juin 2008
15 oct. 2003 à 15:03
tu a changé ton session.cookie_path??
chez toi il est blanc il faut mettre le repertoire ou il stocke le cookie

Msn & Mail : Technical@adverbo.be
0
mightteam Messages postés 143 Date d'inscription lundi 1 septembre 2003 Statut Membre Dernière intervention 2 juin 2008
15 oct. 2003 à 15:04
<?
if ( $_GET[ssid] == "")
{
$variable = "tortue";
session_save_path("cookie");
session_start("PHPSESSID");
session_register("variable");
$id = session_id();
?>
<meta http-equiv="refresh" content="0;URL=?ssid=<? print($id);?>">
<?

}
?>

voici une source que j'utilise et ki marche peut-etre ke ca marche ra chez toi ;)

Msn & Mail : Technical@adverbo.be
0
mightteam Messages postés 143 Date d'inscription lundi 1 septembre 2003 Statut Membre Dernière intervention 2 juin 2008
15 oct. 2003 à 15:05
je l'ai repiqué sur le site ss la modif je signale ;) :D

Msn & Mail : Technical@adverbo.be
0
willowman Messages postés 143 Date d'inscription vendredi 5 juillet 2002 Statut Membre Dernière intervention 18 mars 2006 1
15 oct. 2003 à 15:38
Ce n'est pas évident !!!

Bon, a priori, tu as comme paramètre :
session.use_cookies = 1

Ce qui implique donc, que tu utilises les cookies pour enregistrer l'identifiant de session sur le client !

Question :

- Acceptes-tu les cookies sur le navigateur ou tu te connectes depuis l'exterieur ??

- As-tu bien valider que lorsque tu te connectes depuis internet, tu retrouves bien un fichier de session sous ton /tmp, et que celui ci contient bien les infos sauvegarder ??

- Teste en configurant la variable session.use_cookies = 0, redemarre le tout, puis vérifie si tu retrouves tes infos (identifiant de session) passées via l'url ??

session.cookie_domain : te permets d'indiquer un nom de domaine qui sera utilisé lors de la création de tes cookies !
(cela n'a aucun rapport avec ton problème !)

a+

Anli.
0
Dfeprod Messages postés 42 Date d'inscription lundi 8 juillet 2002 Statut Membre Dernière intervention 8 mai 2013
12 nov. 2005 à 13:06
bonjour j'ai l'erreur
Warning: session_destroy(): Session object destruction failed
et
Warning: Unknown(): write failed: No space left on device (28) in Unknown on line 0

Warning: Unknown(): Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/tmp) in Unknown on line 0

alors que tout fonctionnait pourquoi merci
0
willowman Messages postés 143 Date d'inscription vendredi 5 juillet 2002 Statut Membre Dernière intervention 18 mars 2006 1
13 nov. 2005 à 22:09
Salut dfeprod !

Warning: Unknown(): write failed: No space left on device Warning: Unknown(): write failed: No space left on device

A priori, tu n'as plus d'espace sur ton dur !!! (et donc devrait rencontrer d'autres erreurs ou autres comportements etranges de ton serveur...)
Que te donnes un df -k ??

Cela expliquerait pourquoi tu ne peux plus utiliser les sessions puisque celle-ci ne peuvent etre sauvegardées sous /tmp !...

a++
0
Dfeprod Messages postés 42 Date d'inscription lundi 8 juillet 2002 Statut Membre Dernière intervention 8 mai 2013
13 nov. 2005 à 22:25
cela donne
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/ad4s1a 507630 184428 282592 39% /
devfs 1 1 0 100% /dev
/dev/ad4s1g 68231768 138330 62634898 0% /home
/dev/ad4s1e 1012974 4 931934 0% /tmp
/dev/ad4s1f 5077038 4323406 347470 93% /usr
/dev/ad4s1d 2026030 668328 1195620 36% /var

après avoir fais le ménage donc pourquoi mes fichiers sesion reste sur le DD, j'ai déplacé depuis dans /session mes fichiers session
0
Rejoignez-nous