php SESSION var se perdre sur mon serveur.

  • kickoutbettman
  • Born
  • Born
  • No Avatar
  • Inscription: Avr 08, 2009
  • Messages: 3
  • Status: Offline

Message Avril 8th, 2009, 8:42 am

Salut tout le monde.

Im avoir un problème avec ma session PHP vars se perdre ou ne pas écrire d'informations du tout.
So heres un couple de l'information.

1. Il travaille sur ma machine NT localhost.
2. Lorsque son ne fonctionne pas sur mon serveur de son hôte client. (Hôte FATCOW à fatcow.com)
3. Hôte serveur utilise PHP: 4.4.8

Donc, fondamentalement, j'ai une page de connexion html (login.php)
Alors envoyez-login.php info à (login-exec. php) (ci-je vérifier ma base de données pour voir si nom d'utilisateur existe et si oui redirection utilisant la fonction header...
Puis la redirection mène à une page "membre" où j'ai require (auth.php) pour vérifier si la session existe si non, je suis redirigé vers page Access denied
Et theres le problème, il me donnent toujours l'accès refusé page.

So heres my code.

login-exec.php
Code: [ Select ]
 
    <?php
    //Start session
    session_start();
   
    //Include database connection details
    require_once('../Connections/golf_stats.php');
   
    //Array to store validation errors
    $errmsg_arr = array();
   
    //Validation error flag
    $errflag = false;
   
    //Connect to mysql server
    $link = mysql_connect($hostname_golf, $username_golf_stats, $password_golf_stats);
    if(!$link) {
        die('Failed to connect to server: ' . mysql_error());
    }
   
    //Select database
    $db = mysql_select_db($database_golf_stats, $golf_stats);
    if(!$db) {
        die("Unable to select database");
    }
   
    //Function to sanitize values received from the form. Prevents SQL injection
    function clean($str) {
        $str = @trim($str);
        if(get_magic_quotes_gpc()) {
            $str = stripslashes($str);
        }
        return mysql_real_escape_string($str);
    }
   
    //Sanitize the POST values
       
    $login = clean($_POST['login']);
    $password = clean($_POST['password']); 
   
    //Input Validations
    if($login == '') {
        $errmsg_arr[] = 'Login ID missing';
        $errflag = true;
    }
    if($password == '') {
        $errmsg_arr[] = 'Password missing';
        $errflag = true;
    }
   
    //If there are input validations, redirect back to the login form
    if($errflag) {
        $_SESSION['ERRMSG_ARR'] = $errmsg_arr;
        session_write_close();
        header("location: login.php");
        exit();
    }
   
    //Create query     
    mysql_select_db($database_golf_stats, $golf_stats);
    $query_members = "SELECT * FROM members WHERE username = '$login'";
    $list_members = mysql_query($query_members, $golf_stats) or die(mysql_error());
    $row_members = mysql_fetch_assoc($list_members);
    $totalRows_members = mysql_num_rows($list_members); 
       
    //Check whether the query was successful or not
    if($list_members) {
        if($totalRows_members == 1) {
            //Login Successful         
            $_SESSION['SESS_MEMBER_USERNAME'] = $row_members['username'];
            $_SESSION['SESS_JOUEUR_ID'] = $row_members['idJoueur'];
            $_SESSION['SESS_JOUEUR_NAME'] = $row_members['name'];
           
            session_write_close();
            header("location: ../members/members-index.php");
            exit();
        }else {
            //Login failed
            header("location: login-failed.php");
            exit();
        }
    }else {
        die("Queryisfailed");
    }
?>
 
  1.  
  2.     <?php
  3.     //Start session
  4.     session_start();
  5.    
  6.     //Include database connection details
  7.     require_once('../Connections/golf_stats.php');
  8.    
  9.     //Array to store validation errors
  10.     $errmsg_arr = array();
  11.    
  12.     //Validation error flag
  13.     $errflag = false;
  14.    
  15.     //Connect to mysql server
  16.     $link = mysql_connect($hostname_golf, $username_golf_stats, $password_golf_stats);
  17.     if(!$link) {
  18.         die('Failed to connect to server: ' . mysql_error());
  19.     }
  20.    
  21.     //Select database
  22.     $db = mysql_select_db($database_golf_stats, $golf_stats);
  23.     if(!$db) {
  24.         die("Unable to select database");
  25.     }
  26.    
  27.     //Function to sanitize values received from the form. Prevents SQL injection
  28.     function clean($str) {
  29.         $str = @trim($str);
  30.         if(get_magic_quotes_gpc()) {
  31.             $str = stripslashes($str);
  32.         }
  33.         return mysql_real_escape_string($str);
  34.     }
  35.    
  36.     //Sanitize the POST values
  37.        
  38.     $login = clean($_POST['login']);
  39.     $password = clean($_POST['password']); 
  40.    
  41.     //Input Validations
  42.     if($login == '') {
  43.         $errmsg_arr[] = 'Login ID missing';
  44.         $errflag = true;
  45.     }
  46.     if($password == '') {
  47.         $errmsg_arr[] = 'Password missing';
  48.         $errflag = true;
  49.     }
  50.    
  51.     //If there are input validations, redirect back to the login form
  52.     if($errflag) {
  53.         $_SESSION['ERRMSG_ARR'] = $errmsg_arr;
  54.         session_write_close();
  55.         header("location: login.php");
  56.         exit();
  57.     }
  58.    
  59.     //Create query     
  60.     mysql_select_db($database_golf_stats, $golf_stats);
  61.     $query_members = "SELECT * FROM members WHERE username = '$login'";
  62.     $list_members = mysql_query($query_members, $golf_stats) or die(mysql_error());
  63.     $row_members = mysql_fetch_assoc($list_members);
  64.     $totalRows_members = mysql_num_rows($list_members); 
  65.        
  66.     //Check whether the query was successful or not
  67.     if($list_members) {
  68.         if($totalRows_members == 1) {
  69.             //Login Successful         
  70.             $_SESSION['SESS_MEMBER_USERNAME'] = $row_members['username'];
  71.             $_SESSION['SESS_JOUEUR_ID'] = $row_members['idJoueur'];
  72.             $_SESSION['SESS_JOUEUR_NAME'] = $row_members['name'];
  73.            
  74.             session_write_close();
  75.             header("location: ../members/members-index.php");
  76.             exit();
  77.         }else {
  78.             //Login failed
  79.             header("location: login-failed.php");
  80.             exit();
  81.         }
  82.     }else {
  83.         die("Queryisfailed");
  84.     }
  85. ?>
  86.  



Et voici mon AUTH. fichier PHP

Code: [ Select ]
 
<?php
        session_start();   
 
    //Check whether the session variable SESS_MEMBER_ID is present or not
    if(!isset($_SESSION['SESS_MEMBER_USERNAME'])) {
        header("location: ../login/access-denied.php");
        exit();
    }
?>
 
  1.  
  2. <?php
  3.         session_start();   
  4.  
  5.     //Check whether the session variable SESS_MEMBER_ID is present or not
  6.     if(!isset($_SESSION['SESS_MEMBER_USERNAME'])) {
  7.         header("location: ../login/access-denied.php");
  8.         exit();
  9.     }
  10. ?>
  11.  


Ive seen 1000 des postes avec des gens ayant le même problème, mais je n'arrive pas à résoudre mon problème.

Je n'ai pas utilisé session_write_close (); avant que la redirection en-tête.
Je n'ai pas utiliser session_start () pour toutes les pages qui utilise $ SESSION [ "xxx"]
Encore une fois, comme je l'ai dit, il fonctionne sur ma machine localhost.

Je vous remercie d'avance pour votre aide.
  • Anonymous
  • Bot
  • No Avatar
  • Inscription: 25 Feb 2008
  • Messages: ?
  • Loc: Ozzuland
  • Status: Online

Message Avril 8th, 2009, 8:42 am

  • Flanders
  • Beginner
  • Beginner
  • Avatar de l’utilisateur
  • Inscription: Fév 27, 2006
  • Messages: 48
  • Loc: Reno, Nevada US
  • Status: Offline

Message Avril 8th, 2009, 6:49 pm

Ive a eu des problèmes avec des sessions avant où je devais aller dans le fichier. Ini pour l'installation de PHP et de définir l'emplacement où le serveur stocke ses informations sur la session. On pourrait se pencher sur cette...

Bonne chance
  • Bogey
  • Bogey
  • Genius
  • Avatar de l’utilisateur
  • Inscription: Juil 14, 2005
  • Messages: 8211
  • Loc: USA
  • Status: Offline

Message Avril 8th, 2009, 7:46 pm

Ive jamais eu aucun problème avec mes sessions et je les utilise dans tous mes scripts.

Je ne sais pas quoi vous dire d'ailleurs ce que vous a dit de la Flandre.
"Bring forth therefore fruits meet for repentance:" Matthew 3:8
  • kickoutbettman
  • Born
  • Born
  • No Avatar
  • Inscription: Avr 08, 2009
  • Messages: 3
  • Status: Offline

Message Avril 9th, 2009, 5:20 am

Merci la Flandre, j'ai trouvé cette réponse.
J'ai dû demander à mon hôte de définir l'emplacement où le serveur stocke ses informations sur la session. Je ne suis pas pourquoi il n'a pas été déjà définie par défaut au serveur, mais de toute façon son travail dès maintenant.
merci
  • tashi_w
  • Born
  • Born
  • No Avatar
  • Inscription: Oct 17, 2010
  • Messages: 1
  • Status: Offline

Message Octobre 17th, 2010, 11:29 pm

Je suis confronté à un problème similaire.
J'ai une session utilisateur qui ne fonctionne que sur le localhost. La session
valeur obtient l'accès disparu quand je sur le réseau. Mon session_save_path est correct contrairement à la ci-dessus.
Je doute que ce soit un problème de configuration du serveur.

Avez un seul côté d'un tel problème? Si vous avez une solution je suis très
dans le besoin.

S'il vous plaît aidez-moi.
  • dad
  • Born
  • Born
  • No Avatar
  • Inscription: Fév 23, 2012
  • Messages: 1
  • Status: Offline

Message Février 23rd, 2012, 9:09 pm

J'ai eu le problème de la sma sur windows que 7 séances étaient décrochage dès qu'il a à la page suivante (action du formulaire) et j'imagine qu'il trouve un début de session il et impossible d'accéder les variables de session. la sécurité Windows requiert tous les dossiers à être détenue par l'utilisateur. le dossier de la session C:\ProgramData\PHP\sessions nécessaire pour être la propriété de PHP vers le bas avec la sécurité de windows 7.
  • Zealous
  • Guru
  • Guru
  • Avatar de l’utilisateur
  • Inscription: Avr 15, 2011
  • Messages: 1195
  • Loc: Sydney
  • Status: Offline

Message Février 26th, 2012, 7:22 am

dad a écrit:
J'ai eu le problème de la sma sur windows que 7 séances étaient décrochage dès qu'il a à la page suivante (action du formulaire) et j'imagine qu'il trouve un début de session il et impossible d'accéder les variables de session. la sécurité Windows requiert tous les dossiers à être détenue par l'utilisateur. le dossier de la session C:\ProgramData\PHP\sessions nécessaire pour être la propriété de PHP vers le bas avec la sécurité de windows 7.


Je suggère d'utiliser VMware et ont installé de sorte que vous pouvez avoir une installation standard de l'industrie afin que lorsque vous le déplacez il y aura un échange direct d'ubuntu.

Afficher de l'information

  • Total des messages de ce sujet: 7 messages
  • Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 184 invités
  • Vous ne pouvez pas poster de nouveaux sujets
  • Vous ne pouvez pas répondre aux sujets
  • Vous ne pouvez pas éditer vos messages
  • Vous ne pouvez pas supprimer vos messages
  • Vous ne pouvez pas joindre des fichiers
 
 

© 2011 Unmelted, LLC. Ozzu® est une marque déposée de Unmelted, LLC