session ne fonctionne plus de php4 à php5

  • Auteur de la discussion Auteur de la discussion fabrice88
  • Date de début Date de début
WRInaute occasionnel
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>
 
WRInaute impliqué
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:
 
WRInaute occasionnel
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.
 
WRInaute occasionnel
bonjour,
je viens de testé avec un exite
Code:
// Redirection de l'utilisateur
header("Location: index.php");
exit;

Toujours le même probleme.
 
WRInaute occasionnel
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
Votre nom d'utilisateur doit comporter entre 2 et 20 caractères
L'utilisation de l'underscore est autorisée

mais en plus j'ai un message
Deprecated: Function ereg() is deprecated in \connexion.php on line 18
 
Discussions similaires
Haut