A voir également:
- Les sessions PHP
- Easy php - Télécharger - Divers Web & Internet
- Bouton php - Forum PHP
- Php?id=1 - Forum PHP
- \R php ✓ - Forum PHP
- Php if plusieurs conditions ✓ - Forum PHP
8 réponses
Utilisateur anonyme
16 mars 2009 à 17:29
16 mars 2009 à 17:29
tu à bien pensé à mettre le "session_start();" en hut de chacune de tes pages ?
IpIpIpIpOne
Messages postés
436
Date d'inscription
mercredi 18 février 2009
Statut
Membre
Dernière intervention
24 mai 2009
116
16 mars 2009 à 17:31
16 mars 2009 à 17:31
Ami Terrien, as-tu bien mis un " session_start(); " sur ta page index.php et sur la page qui traite ton formulaire d'identification ?
Ouarf, non, pas du tout :D
En fait, je croyais qu'il ne fallait mettre le session_start() qu'au démarrage de la fonction de login, dans login.php, puis qu'après c'était comme un tableau de variables accessible de n'importe quel page durant 30 minutes.
Donc il faut mettre une session_start() en haut de chaque page utilisant les sessions? Il ne risque pas d'y avoir des interférences ou quoi que ce soit?
En fait, je croyais qu'il ne fallait mettre le session_start() qu'au démarrage de la fonction de login, dans login.php, puis qu'après c'était comme un tableau de variables accessible de n'importe quel page durant 30 minutes.
Donc il faut mettre une session_start() en haut de chaque page utilisant les sessions? Il ne risque pas d'y avoir des interférences ou quoi que ce soit?
Utilisateur anonyme
16 mars 2009 à 17:48
16 mars 2009 à 17:48
non, aucun risque d'interférance (du moins je n'en ai jamais eu), tu démarre la session en haut de ta page avec session_start(); et c'est bon, mais il faut obligatoirement le mettre dès que tu veux utiliser une session.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
IpIpIpIpOne
Messages postés
436
Date d'inscription
mercredi 18 février 2009
Statut
Membre
Dernière intervention
24 mai 2009
116
16 mars 2009 à 17:49
16 mars 2009 à 17:49
Oui, il faut mettre le session_start au début de chaque page qui utilise les sessions, c'est INDISPENSABLE.
Au début de chaque page, ça veut dire avant le premier "echo", sinon tu auras une erreur genre "Impossible d'envoyer les headers ..."
Au début de chaque page, ça veut dire avant le premier "echo", sinon tu auras une erreur genre "Impossible d'envoyer les headers ..."
J'ai pas envie de polluer le forum avec 10000 threads de déutant, alors je pose une question totalement différente ici.
Pour gérer les connexion MySQL, deux choix:
1) créer un fichier du genre connecteur.php (contenant les quelques commandes de connexion) qui sera appelée via un include() dans chaque page où il la faut, et rajouter les mysql_close() à la fin de chaque page où elle est appelée;
OU
2) se connecter à la base de donnée au début de chaque page et rajouter le mysql_close() à la fin de chaque page.
Pour des raisons de programmation, j'avouerais que je préférerais utiliser la seconde solution, mais j'ai peur qu'elle soit trop gourmande en ressource, car par exemple:
- je visualise une new -> connexion puis déconnexion
- je décide de me loguer -> connexion puis déconnexion
- je dépose un commentaire sur une des new -> connexion puis déconnexion
Si on multiplie ça par le nombre de personnes qui se connectent, ça fait pas un peu trop?
De plus, je me demande s'il n'y a pas une différence d'un point de vue sécurité, non?
Pour gérer les connexion MySQL, deux choix:
1) créer un fichier du genre connecteur.php (contenant les quelques commandes de connexion) qui sera appelée via un include() dans chaque page où il la faut, et rajouter les mysql_close() à la fin de chaque page où elle est appelée;
OU
2) se connecter à la base de donnée au début de chaque page et rajouter le mysql_close() à la fin de chaque page.
Pour des raisons de programmation, j'avouerais que je préférerais utiliser la seconde solution, mais j'ai peur qu'elle soit trop gourmande en ressource, car par exemple:
- je visualise une new -> connexion puis déconnexion
- je décide de me loguer -> connexion puis déconnexion
- je dépose un commentaire sur une des new -> connexion puis déconnexion
Si on multiplie ça par le nombre de personnes qui se connectent, ça fait pas un peu trop?
De plus, je me demande s'il n'y a pas une différence d'un point de vue sécurité, non?
IpIpIpIpOne
Messages postés
436
Date d'inscription
mercredi 18 février 2009
Statut
Membre
Dernière intervention
24 mai 2009
116
16 mars 2009 à 19:02
16 mars 2009 à 19:02
Ami Terrien, pour toi en exclusivité, voici en résumé le genre de technique que j'utilise ...
$connecte_a_la_base = false;
function mysql_query_bis($sql){
global $connecte_a_la_base;
if(!$connecte_a_la_base){
mysql_connect( ...
mysql_select_db( ...
$connecte_a_la_base = true;
}
mysql_query($sql);
}
switch ($bidon) {
case 1 :
mysql_query_bis('SELECT champ1 FROM table1;');
break;
case 2 :
mysql_query_bis('SELECT champ1 FROM table1;');
mysql_query_bis('SELECT champ2 FROM table2;');
break;
default :
echo 'pas besoin de se connecter à la bdd';
break;
}
if($connecte_a_la_base)mysql_close();
$connecte_a_la_base = false;
function mysql_query_bis($sql){
global $connecte_a_la_base;
if(!$connecte_a_la_base){
mysql_connect( ...
mysql_select_db( ...
$connecte_a_la_base = true;
}
mysql_query($sql);
}
switch ($bidon) {
case 1 :
mysql_query_bis('SELECT champ1 FROM table1;');
break;
case 2 :
mysql_query_bis('SELECT champ1 FROM table1;');
mysql_query_bis('SELECT champ2 FROM table2;');
break;
default :
echo 'pas besoin de se connecter à la bdd';
break;
}
if($connecte_a_la_base)mysql_close();
Utilisateur anonyme
16 mars 2009 à 19:13
16 mars 2009 à 19:13
interressant comme technique, va falloir que je fasse ça moi :p