begin process at 2012 02 12 08:44:12
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

Sessions : passage de PHP4 à PHP5


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Sessions : passage de PHP4 à PHP5

dimanche 4 mars 2007 à 12:27:33 | Sessions : passage de PHP4 à PHP5

arnold002

Bonjour à tous,

Je fais tourner un site web en local grâce à EasyPhp.
Je viens de passer de la version 1.8 (PHP4) à la version 2.0 (PHP5).
Aucun problème sauf.... pour mes sessions.
Il m'est impossible de déclarer mes sessions, les variables ne se créent pas.

Voici un aperçu du code que j'utilise et qui fonctionne correctement sur PHP4 (en local et sur le serveur web).

Page qui vérifie si un utilisateur existe :

session_start();
$verif

=mysql_query('SELECT nom,prenom,,id,ip FROM membre WHERE login=\''.mysql_real_escape_string($login).'\' AND pass=\''.md5($pass).'\' ',$connexion)ordie(mysql_error());
if(mysql_num_rows($verif)>0){
session_register
("authentification");
$_SESSION
=mysql_fetch_assoc($verif);
$_SESSION
['authentification']=true;
$checkplus=$_SERVER['HTTP_USER_AGENT'];
$_SESSION
['userCheck']=md5($_SESSION['ip'].$checkplus);
setcookie('SID',md5(uniqid(rand(),true)),$timestamp_expire_id,'/'); 
header('Location: ./accueil.php');
exit
();
}

Sur la page accueil.php :

session_start

();
if(isset
($_SESSION['authentification'])&&$_SESSION['authentification']==true){
$checkplus
=$_SERVER['HTTP_USER_AGENT'];
$check
=$_SERVER['REMOTE_ADDR'];

if($_SESSION['userCheck']!=md5($check.$checkplus)&&!isset($_COOKIE['SID'])){
header
('Location: ./index.php?erreur=erreur');
exit
();
}
}
else{
header
('Location: ./index.php?erreur=erreur');
exit
();
}

J'ai pas mis l'ensemble des variables utilisées, juste celles qui sont nécessaires dans le cas présent.
J'ai laissé le config du php.ini par défaut.
Est ce un probleme de code de ma part ou une mauvaise configuration du php.ini ?
Je n'ai pas vraiment étudié les différences sur la gestion des sessions entre PHP 4 et 5.
Merci de votre aide
dimanche 4 mars 2007 à 14:06:10 | Re : Sessions : passage de PHP4 à PHP5

coockiesch

Salut!
Y'a qq trucs qui me gênent:
- on utilise pas session_register
- je comprend pas trop: $_SESSION = mysql_fetch_assoc( $verif );
  >> on fait pas ca, comme ca, en règle générale: $_SESSION['nom'] = $variable;

Quel est le pb, exactement?

@++

R@f

La boîte à bouts de codes
"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
dimanche 4 mars 2007 à 14:31:51 | Re : Sessions : passage de PHP4 à PHP5

arnold002

Bonjour et merci de ta réponse !
Mon probleme, c'est que la session(authentification) ne s'initialise pas. Aucune variable de session (nom, prenom etc...) ne se créé.
Je voulais savoir si c'était un problème de codage (ce qui semble être le cas) ou une conséquence du passage de PHP4 à PHP5.
L'authentification que j'utilise m'a été fournie par un membre de ce forum, il y a quelques mois déjà, voila pourquoi j'utilise $_SESSION = mysql_fetch_assoc( $verif );
Auparavant, j'initialisait toutes variables les unes après les autres.
Si je ne dois pas utiliser session_register(), je le remplace par qqe chose ?

dimanche 4 mars 2007 à 14:34:44 | Re : Sessions : passage de PHP4 à PHP5

coockiesch

Heu... oui, dsl pr le mysql_fetch_assoc, c'est moi qui suis à la masse... :D

session_register fonctionne comme ceci:
$var = 'aaa';
session_register("var"); // ici, $_SESSION['var'] = aaa

A la place, on fait:
$_SESSION['var'] = 'aaa';

@++

R@f

La boîte à bouts de codes
"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
lundi 5 mars 2007 à 15:22:11 | Re : Sessions : passage de PHP4 à PHP5

arnold002

Réponse acceptée !

Bonjour,

Après quelques tests, je viens de m'apercevoir que le probleme des sessions qui ne se transmettent pas de page en page, ne provient pas de la configuration du php.ini, ni même du codage que j'emploi, mais provient de la version de php installée dans easyphp 2.0.
La version installée dans easyphp est la version 5.2.0. Après vérification sur php.net, j'ai upgradé la version pour passer en 5.2.1, qui corrige certains bugs.
Après redémarrage de easyphp et sans rien modifier à mon code (hormis la suppression de session_register('authentification') ), les variables de session se transmettent bien de page en page.
Problème résolu.
Merci à  coockiesch pour son aide.

lundi 5 mars 2007 à 16:07:09 | Re : Sessions : passage de PHP4 à PHP5

coockiesch

Lol, de rien! Mais j'ai rien fait, :D

@++

R@f

La boîte à bouts de codes
"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
dimanche 28 septembre 2008 à 14:30:31 | Re : Sessions : passage de PHP4 à PHP5

medhan

Monsieur Arnold, ou les autres amis,

J'ai le même le problème que le tiens.! J'ai developpé un site par php de easyphp 1.8 (php 4). Mais quand je passe à easyphp 2.0 (php5) mon site ne marche pas.!

J'ai fais des recherches pour trouver la verssion 5.2.1 mais j'ai pas pu la trouver. Je te remercie, Arnold et les autres lecteurs aussi, de m'indiquer où est ce je peux trouver cette verssion.

Merci 1000 fois



Cette discussion est classée dans : php, mysql, session, sessions, php4


Répondre à ce message

Sujets en rapport avec ce message

Session php [ par chmanu ] Bonjour, voici mon pb : j'execute une requete SQL dont j'affiche les resultats dans "page1.php". A coté de chaque resultat, je met un lien qui renvoi pb avec les sessions. [ par Zebra1928 ] bonjour,plz j'ai besoin d'aide, j'ai 1 vrai pb avec les sessions, je m'explique:j le fichier suivant:log.php$host="localhost";$user="root";$password=" sessions [ par gegelarep ] bonjour,je suis dans une page ouverte par une session qui porte une url du type http://www.site.com/fr/majprod?produit=591et j'aimerai dire au program pb session php/mysql [ par joduak ] Yop ! Voilà j'ai 2 petites questions urgentes. Vous serez super cool de bien répondre à mes questions !! :) C'est au niveau des sessions php avec bas Warning session: IIS sous win2003serveur PHP5 [ par RoX5 ] Bonjour,J'ai installé mon serveur tournant sous Windows 2003 Server et IIS6 et php5Déjà avant les fonction mysql_connect et tout n'allais pas sa j'ai Sessions permissions [ par Soul EX ] session_start(); $login = $_POST["login"]; $password = $_POST["password"]; $connexion = mysql_connect("*","*","*"); mysql_select_db("*",$connexion); pb de boucle je supose en php ( navigation dans un tableau associé) [ par fredericmaill ] Bonjour @ tous !!! Voila je vous explique mon problème, je réalise un système d’authentification en php avec un system de sessions. Ce script permet l pb de boucle je supose en php ( navigation dans un tableau associé) [ par fredericmaill ] Bonjour @ tous !!! Voila je vous explique mon problème, je réalise un système d’authentification en php avec un system de sessions. Ce script permet l problème avec les sessions [ par nadddd ] bonjour, j'ai un probleme avec les sessions, des que j'appelle la session d'une autre page,il ne reconnait pas la variable. voila mes fichiers : index Petit probleme avec les Sessions [ par Baguauda ] Voila mon probleme est que ma session ce vide et je n'arrive pas a capter pourquoi.voila en gros la structure du code.Primo le formulaireajout.php   s


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,482 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales