session ne fonctionne plus de php4 à php5

fabrice88
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 289
Inscription: 15 Oct 2007

session ne fonctionne plus de php4 à php5

Message le Mer Juin 09, 2010 16:53

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: Tout sélectionner
<?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: Tout sélectionner
<?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>

honolulu
WRInaute impliqué
WRInaute impliqué
 
Messages: 942
Inscription: 8 Nov 2005

Re: session ne fonctionne plus de php4 à php5

Message le Mer Juin 09, 2010 17:50

Code: Tout sélectionner
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:

fabrice88
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 289
Inscription: 15 Oct 2007

Re: session ne fonctionne plus de php4 à php5

Message le Jeu Juin 10, 2010 17:09

oui biensur mais le probleme est que la session ne fonctionne pas avec php5.
Si tu regarde ma page index j'ai fais :
Code: Tout sélectionner
<?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: Tout sélectionner
<?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.


gg00xiv
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 43
Inscription: 10 Juin 2010

Re: session ne fonctionne plus de php4 à php5

Message le Jeu Juin 10, 2010 17:25

Fait un exit; juste après le header("Location: index.php");

fabrice88
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 289
Inscription: 15 Oct 2007

Re: session ne fonctionne plus de php4 à php5

Message le Jeu Juin 10, 2010 17:55

bonjour,
je viens de testé avec un exite
Code: Tout sélectionner
// Redirection de l'utilisateur
header("Location: index.php");
exit;


Toujours le même probleme.


UsagiYojimbo
WRInaute accro
WRInaute accro
 
Messages: 8579
Inscription: 23 Nov 2005

Re: session ne fonctionne plus de php4 à php5

Message le Jeu Juin 10, 2010 18:04

Tu aurais pas un caractère à la con (espace, saut de ligne) avant ton session_start() ?

fabrice88
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 289
Inscription: 15 Oct 2007

Re: session ne fonctionne plus de php4 à php5

Message le Jeu Juin 10, 2010 18:09

bon aucuns caractères, pas d'espace... rien. Je truc est pourquoi si je me remet en php4 sa fonctionne ?


gg00xiv
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 43
Inscription: 10 Juin 2010

Re: session ne fonctionne plus de php4 à php5

Message le Jeu Juin 10, 2010 18:11

Fais un
Code: Tout sélectionner
echo session_id();
dans le index.php pour voir si tu as bien un id de session.

fabrice88
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 289
Inscription: 15 Oct 2007

Re: session ne fonctionne plus de php4 à php5

Message le Jeu Juin 10, 2010 18:19

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


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités