Prb pour conserver une session en PHP
themoz
Messages postés
1
Date d'inscription
Statut
Membre
Dernière intervention
-
gryzzly Messages postés 4608 Date d'inscription Statut Contributeur Dernière intervention -
gryzzly Messages postés 4608 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je suis en train de finaliser un extranet. Toute l'application fonctionne uniquement sur une page index.php.
Dès le départ, j'initialise une session avec session_start. Je m'identifie et quand je suis reconnu comme membre, on affiche la page d'accueil de l'extranet. Jusque là tout va bien. Puis quand je clique sur un lien pour aller sur une autre page de l'extranet. il revient au formulaire d'inscription. Il faut alors que je me reconnecte pour que la session soit conservée.
J'ai fait afficher l'id de la session tout du long et je retrouve bien le même id sur la page avec le formulaire d'identification, puis sur la page d'accueil. En revanche, dès que je clique sur une page, j'ai un nouvel id de session. je n'arrive pas à comprendre pourquoi la session n'est pas conservée.
Avez-vous une idée ?
Voici le script de ma page index.php
Et ma fonction qui créé les variables de session
Je suis en train de finaliser un extranet. Toute l'application fonctionne uniquement sur une page index.php.
Dès le départ, j'initialise une session avec session_start. Je m'identifie et quand je suis reconnu comme membre, on affiche la page d'accueil de l'extranet. Jusque là tout va bien. Puis quand je clique sur un lien pour aller sur une autre page de l'extranet. il revient au formulaire d'inscription. Il faut alors que je me reconnecte pour que la session soit conservée.
J'ai fait afficher l'id de la session tout du long et je retrouve bien le même id sur la page avec le formulaire d'identification, puis sur la page d'accueil. En revanche, dès que je clique sur une page, j'ai un nouvel id de session. je n'arrive pas à comprendre pourquoi la session n'est pas conservée.
Avez-vous une idée ?
Voici le script de ma page index.php
session_start(); // On intègre tous les fichiers de configuration define("URL_PARAMETRES","parametres-sm"); require ("fichiers_conf.php"); // On récupère les variables communiquées par l'url $var_url = parse_str($_SERVER['QUERY_STRING'],$output); $section = $output['sec']; $action = $output['act']; $item = $output['id']; $affichage = $output['aff']; $upload_media = $output['upl']; $action_serveur = $output['ser']; $media = $output['med']; /* On contrôle s'il existe une session d'identification On contrôle que cette session n'est pas vide On contrôle que cette session a bien été ouverte Si tout est ok, on affiche une page intérieure. */ if ( isset($_SESSION['ID_USER']) AND $_SESSION['ID_USER'] > 0 ) { /* On controle que l'utilsateur est bien autorisé à accéder à cette section. Si oui, on affiche la page sans souci. Si non, on revient à la page d'accueil. */ if ( !empty($action_serveur) ) { echo templates_page_upl($upload_media,$action_serveur,$media); } else { if ( !empty($section) AND $tab_content[$section]['niveau_acces'] <= $_SESSION['NIVEAU_USER'] ) { echo templates_page_admin($action,$item,$section,$affichage); } else { echo templates_page_admin("","","",""); } } /* On met à jour le liste des flux RSS du site Si un problème empèche la création des flux, un email est envoyé à l'administrateur du site */ if (!empty($tab_flux) AND generer_liste_flux_rss($tab_flux) == FALSE) { $To = EMAIL_ADMIN; $Sujet = $phrase_gene['SujetEmailPrbRss']; $Message = $phrase_gene['TextePrbEmailRss'].NOM_SITE; $From = "From: Arnaud Meunier <arno_job@yahoo.fr>\n"; mail($To,$Sujet,$Message,$From); } } /* On contrôle que le formulaire d'identification a bien été envoyé Si oui, on contrôle le login et le mot de passe. Si l'utilisateur est reconnu, on l'enregistre dans le table "suivilog" et on recharge la page Si l'utilisateur n'est pas reconnu, on affiche le formulaire d'identification avec le message d'erreur */ else if ( isset($_POST['login']) AND !empty($_POST['login']) ) { // enregistrement dans suivilog et variables session dans la fonction de controle if (controle_identification($_POST['login'],$_POST['password']) == TRUE) { echo templates_page_admin("","","",""); } else { echo templates_login($phrase_gene['VosIdentifiantsNonReconnus'],$_POST); } } /* Si on a aucune action en cours et de session ouverte, on affiche le formulaire d'identification */ else { $valeurs_form = array(); echo templates_login("",$valeurs_form); exit(); }
Et ma fonction qui créé les variables de session
function controle_identification($login,$password) { $val = FALSE; if ($login != "" AND $password != "") { connexion_base(SERVEUR,HOST,PASSWORD,BASE); $requete = rq_existence_membre($login,$password); $rs = mysql_query($requete) or die(mysql_error()); connexion_end(); if (mysql_num_rows($rs) > 0) { $row = mysql_fetch_array($rs); $_SESSION['ID_USER'] = $row['ID']; $_SESSION['LANGUE_USER'] = $row['Langue']; $_SESSION['NIVEAU_USER'] = $row['Niveau']; connexion_base(SERVEUR,HOST,PASSWORD,BASE); $requete = rq_insert_suivilog($_SESSION['ID_USER'],$_SESSION['LANGUE_USER'],$_SESSION['NIVEAU_USER'],$_SERVER['REMOTE_ADDR']); $rs = mysql_query($requete) or die(); connexion_end(); } $val = TRUE; } return $val; }
A voir également:
- Prb pour conserver une session en PHP
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Veuillez ouvrir une session avec les privilèges du gestionnaire ✓ - Forum Windows
- Www.yahoomail.com ouverture de session - Forum Yahoo mail
- Teamviewer code de session expiré ✓ - Forum logiciel systeme