session ne fonctionne plus de php4 à php5

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par fabrice88, 9 Juin 2010.

  1. fabrice88
    fabrice88 WRInaute occasionnel
    Inscrit:
    15 Octobre 2007
    Messages:
    316
    J'aime reçus:
    0
    Bonjour,
    pour l'administration de mon site internet qui est en php4 j'utilise pour me connecter un systeme d'identifacation par login et mot de passe.
    le probleme et que je souhaiterai passer en php5 mais dès que je me met en php 5 impossible de me connecter (dès que je valide le login et mot de passe je suis redirigé vers l'index de l'admin... et aucun messages d'erreurs)

    voici ma page connexion :



    Code:
    <?php
    session_start();
    // Redirige l'utilisateur s'il est déjà identifié
    if(isset($_SESSION["TB_Nom_Utilisateur"]))
    {
     header("Location: index.php");
    }
    else
    {
         
         // Formulaire visible par défaut
         $masquer_formulaire = false;
         
         // Une fois le formulaire envoyé
         if(isset($_POST["BT_Envoyer"]))
         {
              
              // Vérification de la validité des champs
              if(!ereg("^[A-Za-z0-9_]{2,20}$", $_POST["TB_Nom_Utilisateur"]))
              {
                   $message = "Votre nom d'utilisateur doit comporter entre 2 et 20 caractères<br />\n";
                   $message .= "L'utilisation de l'underscore est autorisée";
              }
              elseif(!ereg("^[A-Za-z0-9]{6,}$", $_POST["TB_Mot_de_Passe"]))
              {
                   $message = "Votre mot de passe doit comporter au moins 6 caractères";
              }
              else
              {
                   
                   // Connexion à la base de données
                   // Valeurs à modifier selon vos paramètres configuration
                                    mysql_connect("***","****",""); 
                                    mysql_select_db("****"); 
    
                   
                   // Sélection de l'utilisateur concerné
                   $result = mysql_query("
                        SELECT ID_Utilisateur, Nom_Utilisateur, Mot_de_Passe, Compte_Active
                        FROM Comptes_Utilisateurs
                        WHERE Nom_Utilisateur = '" . $_POST["TB_Nom_Utilisateur"] . "'
                   ");
                   
                   // Si une erreur survient
                   if(!$result)
                   {
                        $message = "Une erreur est survenue lors de la tentative de connexion";
                   }
                   else
                   {
                        
                        // Si aucun utilisateur n'a été trouvé
                        if(mysql_num_rows($result) == 0)
                        {
                             $message = "Le nom d'utilisateur " . $_POST["TB_Nom_Utilisateur"] . " n'existe pas";
                        }
                        else
                        {
                             
                             // Récupération des données
                             $row = mysql_fetch_array($result);
                             
                             // Si le compte n'a pas été activé
                             if($row["Compte_Active"] == 0)
                             {
                                  $message = "Votre compte utilisateur n'a pas été activé";
                             }
                             else
                             {
                                  
                                  // Vérification du mot de passe
                                  if(md5($_POST["TB_Mot_de_Passe"]) != $row["Mot_de_Passe"])
                                  {
                                       $message = "Votre mot de passe est incorrect";
                                  }
                                  else
                                  {
                                    //création de session                                                     
                                                                    $_SESSION['TB_Nom_Utilisateur'] = $TB_Nom_Utilisateur; //
                                                                    $_SESSION['ID_Utilisateur'] = $ID_Utilisateur; // 
                                                                    
                                                                    //enregistrement de l'ouverture de session pour statistique
                                                            $sql = "INSERT INTO IWhistocnx(ID_Utilisateur, Nom_Utilisateur, Date_Connexion )
                                                                     VALUES('','$TB_Nom_Utilisateur', NOW())"; mysql_query($sql) or die('Erreur SQL !'.$sql.' '.mysql_error()); 
                                                                       
                                       // Fermeture de la connexion à la base de données
                                       mysql_close();
                                       
                                       // Redirection de l'utilisateur
                                       header("Location: index.php");
                                  }
                                  
                             }
                             
                        }
                        
                   }
                   
                   // Fermeture de la connexion à la base de données
                   mysql_close();
                   
              }
              
         }
         
    }
    
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Connexion</title>
    <link href="../admin/style.css" rel="stylesheet" type="text/css" />
    <style type="text/css">
    <!--
    .Style1 {color: #000000}
    -->
    </style>
    </head>
    
    <body>
    
    <div class="center">
        <?php if(isset($message)) { ?>
        <?php echo $message; ?><?php } if($masquer_formulaire != true) { ?>
    
    
    
    <form id="monForm" action="http://<?php echo $_SERVER["SERVER_NAME"] . $_SERVER["SCRIPT_NAME"]; ?>" method="post">
                    <fieldset>
            <legend><span class="Style1">Connexion Admin</span></legend>
    <label>Nom d'utilisateur</label> <input type="text" name="TB_Nom_Utilisateur" />        
                                    <label>Mot de passe</label> <input type="password" name="TB_Mot_de_Passe" />
                    Connexion automatique <input type="checkbox" name="CB_Connexion_Automatique" />  
                                    <input type="submit" name="BT_Envoyer" value="Envoyer" />
                    </fieldset>
    </form>
    
    <?php } ?>
        </div>
    
    </body>
    </html>

    et voici ma page index.php
    Code:
    <?php
    session_start();
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Administration du site <?php echo $_SERVER['HTTP_HOST']; ?></title>
    <link href="style.css" rel="stylesheet" type="text/css" />
    </head>
    
    <body>
    
    <?php if(isset($_SESSION["TB_Nom_Utilisateur"])) { ?>
    
    <div id="global">
    
            <div id="header"> 
            <a href="index.php"><img src="images/accueil.png" alt="accueil administration" width="36" height="38" class="accico" /></a>
            Administration du site <a href="http://<?php echo $_SERVER['HTTP_HOST'] ?>"><?php echo $_SERVER['HTTP_HOST']; ?></a><br/>
            <?php echo 'Vous êtes connecté en tant que : ' .$_SESSION["TB_Nom_Utilisateur"]; ?> | 
            <a href="http://<?php echo $_SERVER['HTTP_HOST'].'/admin/deconnexion.php' ?>">Se Déconnecter</a><br/>
            <?php
                    $date = date("d-m-Y");
                    $heure = date("H:i");
                    Print("Nous sommes le $date et il est $heure");
                    ?>
      </div><!--Fin de header -->
        
      <div id="contenu"> 
    
                    <h1>Gestion dynamique du site</h1>
                    <h2>Sélectionner votre destination</h2>
                    <ul id='adminmenu'>
                    <li><a href="galerie/gestion-galerie.php">Gestion de la Galerie Photos</a></li>
                    <li><a href="News/gestion-news.php">Gestion des News / Actualités</a></li>
                    </ul>
            
    
        <div class="clear15px"></div>
      </div>      
          <div id="footer">
          </div>
          
      <!--Fin de contenu -->
    
    </div><!--Fin de global -->
    
    <?php } else { ?> 
    
        <a href="connexion.php"><img src="http://<?php echo $_SERVER['HTTP_HOST'] ?>/admin/images/connexion-admin.png" alt="Connexion à l'administration du site Internet" /></a>
    
    <?php } ?>
    
    </body>
    </html>
     
  2. honolulu
    honolulu WRInaute impliqué
    Inscrit:
    8 Novembre 2005
    Messages:
    746
    J'aime reçus:
    0
    Code:
    if(isset($_SESSION["TB_Nom_Utilisateur"]))
    {
    header("Location: index.php");
    }
    ben c'est exactement ce que ton code dit = "si la session "tb utilisateur" existe, aller à la page d'index... :wink:
     
  3. fabrice88
    fabrice88 WRInaute occasionnel
    Inscrit:
    15 Octobre 2007
    Messages:
    316
    J'aime reçus:
    0
    oui biensur mais le probleme est que la session ne fonctionne pas avec php5.
    Si tu regarde ma page index j'ai fais :
    Code:
    <?php if(isset($_SESSION["TB_Nom_Utilisateur"])) { ?>
    
    j'affiche mon menu
    
    <?php } else { ?> 
    // sinon je réenvoi sur la page de connexion
        <a href="connexion.php"><img src="http://<?php echo $_SERVER['HTTP_HOST'] ?>/admin/images/connexion-admin.png" alt="Connexion à l'administration du site Internet" /></a>
    
    <?php } ?>
    
    
    et le soucis et que
    Code:
    <?php if(isset($_SESSION["TB_Nom_Utilisateur"])) { ?>
    
    n'a pas l'aire de fonctionné alors qu'on a bien ete rediriger vers index.php et du coup on tourne en rond.
     
  4. gg00xiv
    gg00xiv Nouveau WRInaute
    Inscrit:
    10 Juin 2010
    Messages:
    39
    J'aime reçus:
    0
    Fait un exit; juste après le header("Location: index.php");
     
  5. fabrice88
    fabrice88 WRInaute occasionnel
    Inscrit:
    15 Octobre 2007
    Messages:
    316
    J'aime reçus:
    0
    bonjour,
    je viens de testé avec un exite
    Code:
    // Redirection de l'utilisateur
    header("Location: index.php");
    exit;
    Toujours le même probleme.
     
  6. UsagiYojimbo
    UsagiYojimbo WRInaute accro
    Inscrit:
    23 Novembre 2005
    Messages:
    12 003
    J'aime reçus:
    128
    Tu aurais pas un caractère à la con (espace, saut de ligne) avant ton session_start() ?
     
  7. fabrice88
    fabrice88 WRInaute occasionnel
    Inscrit:
    15 Octobre 2007
    Messages:
    316
    J'aime reçus:
    0
    bon aucuns caractères, pas d'espace... rien. Je truc est pourquoi si je me remet en php4 sa fonctionne ?
     
  8. gg00xiv
    gg00xiv Nouveau WRInaute
    Inscrit:
    10 Juin 2010
    Messages:
    39
    J'aime reçus:
    0
    Fais un
    Code:
    echo session_id();
    dans le index.php pour voir si tu as bien un id de session.
     
  9. fabrice88
    fabrice88 WRInaute occasionnel
    Inscrit:
    15 Octobre 2007
    Messages:
    316
    J'aime reçus:
    0
    en mettant l'echo j'ai une serie de caracteres qui s'affiche du genre : g52mdjv5jbjn4d4rcuuhi4a883

    je viens de faire un essai sans rentrer de login ni de mot de passe. j'ai bien mes messages
    mais en plus j'ai un message
     
Chargement...
Similar Threads - session fonctionne php4 Forum Date
Session/cookie ne fonctionnent que sur Firefox! Administration d'un site Web 19 Janvier 2011
[PHP.INI] Session.save_path inactif ? Non fonctionnel ? Administration d'un site Web 16 Mars 2009
Comptabiliser session d'une URL avec ancre et avec scroll Google Analytics 27 Avril 2022
sessions PHP sans cookies ? Développement d'un site Web ou d'une appli mobile 26 Décembre 2021
PHP session perso : session_start() en erreur. Développement d'un site Web ou d'une appli mobile 27 Juillet 2020
Memcached/PHP gestion de sessions Développement d'un site Web ou d'une appli mobile 22 Juillet 2020
solution pour avoir une "Durée de la session" autre que 0 Google Analytics 5 Avril 2020
htaccess errordocument me fait perdre ID de session Développement d'un site Web ou d'une appli mobile 18 Août 2019
Organic search = durée de session = 0s Référencement Google 18 Juillet 2019
stats taux de rebond et durée sessions Débuter en référencement 7 Février 2019
Arfooo PHP 7 : (2) session_start(): Cannot send session cache limiter Annuaires et moteurs 31 Janvier 2019
Durée moyenne de session énorme (+ de 15h) dans Google Analytics Problèmes de référencement spécifiques à vos sites 12 Décembre 2018
restauration de la dernière session chrome Gmail, Google Talk, Blogger et Orkut 16 Janvier 2018
Nouvelles sessions vs Utilisateurs Google Analytics 23 Novembre 2016
de 0 à 5O sessions/jour d'une seule ville ?? Google Analytics 12 Septembre 2016
[résolu] Sessions : lire le contenu alors qu'on ne sait pas comment il est nommé... Développement d'un site Web ou d'une appli mobile 25 Mai 2016
[résolu] Avoir un paramètre de session "dynamique" ? Développement d'un site Web ou d'une appli mobile 25 Mai 2016
session live sur Google Analytics Débuter en référencement 1 Mai 2016
Différence énorme entre clics Facebook Ads et Sessions Google Analytics Google Analytics 9 Février 2016
Extraire les sessions pour chaque mois par source Google Analytics 30 Septembre 2015