Problème de connexion/redirection

Résolu/Fermé
Ibilolz Messages postés 131 Date d'inscription mardi 1 avril 2014 Statut Membre Dernière intervention 26 juin 2023 - Modifié par Ibilolz le 3/05/2014 à 14:38
Ibilolz Messages postés 131 Date d'inscription mardi 1 avril 2014 Statut Membre Dernière intervention 26 juin 2023 - 3 mai 2014 à 15:02
Bonjour, j'ai établit sur mon site un système de connexion/deconnexion et inscription. Pas vraiment un espace membre puisque je n'ai pas voulu de forum mais je veux que quand un utilisateur se connecte il soit redirigé sur une interface utilisateur qui est prête et que quand un session précise : root se connecte il soit redirigé vers son interface qui est aussi codé.
J'ai un problème au niveau de la redirection, j'arrive a redirigé un utilisateur vers une interface mais quand je veux faire un if en plus pour dire que si c'est root avec tel mdp qui se connecte il soit redirigé vers son interface.
J'ai le code de connexion suivant :

<?php
include('config.php');
?>
<!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" />
        <link href="<?php echo $design; ?>/style.css" rel="stylesheet" title="Style" />
        <title>Connection</title>
    </head>
    <body>
     <div class="header">
         <a href="<?php echo $url_home; ?>"><img src="<?php echo $design; ?>/images/logo.png" alt="Espace Membre" /></a>
     </div>
<?php
//Si lutilisateur est connecte, on le deconecte
if(isset($_SESSION['username']))
{
 //On le deconecte en supprimant simplement les sessions username et userid
 unset($_SESSION['username'], $_SESSION['userid']);
?>
<div class="message">Vous avez bien été déconnecté.<br />
<a href="<?php echo $url_home; ?>">Accueil</a></div>
<?php
}
else
{
 $ousername = '';
 //On verifie si le formulaire a ete envoye
 if(isset($_POST['username'], $_POST['password']))
 {
  //On echappe les variables pour pouvoir les mettre dans des requetes SQL
  if(get_magic_quotes_gpc())
  {
   $ousername = stripslashes($_POST['username']);
   $username = mysql_real_escape_string(stripslashes($_POST['username']));
   $password = stripslashes();
  }
  else
  {
   $username = mysql_real_escape_string($_POST['username']);
   $password = $_POST['password'];
  }
  //On recupere le mot de passe de lutilisateur
  $req = mysql_query('select password,id from users where username="'.$username.'"');
  $dn = mysql_fetch_array($req);
  //On le compare a celui quil a entre et on verifie si le membre existe
  if($dn['password']==$password and mysql_num_rows($req)>0)
  {
   //Si le mot de passe es bon, on ne vas pas afficher le formulaire
   $form = false;
   //On enregistre son pseudo dans la session username et son identifiant dans la session userid
   $_SESSION['username'] = $_POST['username'];
   $_SESSION['userid'] = $dn['id']; 
      if($_POST['username']=='root' && $_POST['password']=='saintex01')
      {
    <div class="message">Vous avez bien été connecté. Vous pouvez accéder à l'interface administrateur.</br>
    <a href="<?php echo $url_root; ?>">Interface administrateur</a></div>?> 
    <?php  
     }
     else
     {
     div class="message">Vous avez bien été connecté. Vous pouvez accéder à l'interface utilisateur.</br>
    <a href="<?php echo $url_user; ?>">Interface utilisateur</a></div>  ?>
    <?php
     }
  
<?php
  }
  else
  {
   //Sinon, on indique que la combinaison nest pas bonne
   $form = true;
   $message = 'La combinaison que vous avez entré n\'est pas bonne.';
  }
 }
 else
 {
  $form = true;
 }
 if($form)
 {
  //On affiche un message sil y a lieu
 if(isset($message))
 {
  echo '<div class="message">'.$message.'</div>';
 }
 //On affiche le formulaire
?>
<div class="content">
    <form action="connexion.php" method="post">
        Veuillez entrer vos identifiants pour vous connecter:<br />
        <div class="center">
            <label for="username">Nom d'utilisateur</label><input type="text" name="username" id="username" value="<?php echo htmlentities($ousername, ENT_QUOTES, 'UTF-8'); ?>" /><br />
            <label for="password">Mot de passe</label><input type="password" name="password" id="password" /><br />
            <input type="submit" value="Connection" />
  </div>
    </form>
</div>
<?php
 }
}
?>
  <div class="foot"><a href="<?php echo $url_home; ?>">Retour à l'accueil</a> - <a href="[http://www.supportduweb.com/]">Support du Web</a></div>
 </body>
</html>


Le problème se passe au niveau de cette partie quand j'ai rajouté le if :

    if($_POST['username']=='root' && $_POST['password']=='saintex01')
      {
    <div class="message">Vous avez bien été connecté. Vous pouvez accéder à l'interface administrateur.</br>
    <a href="<?php echo $url_root; ?>">Interface administrateur</a></div>?> 
    <?php  
     }
     else
     {
     div class="message">Vous avez bien été connecté. Vous pouvez accéder à l'interface utilisateur.</br>
    <a href="<?php echo $url_user; ?>">Interface utilisateur</a></div>  ?>
    <?php



La page config.php est la suivante :

<?php
//On demarre les sessions
session_start();

/******************************************************
----------------Configuration Obligatoire--------------
Veuillez modifier les variables ci-dessous pour que l'
espace membre puisse fonctionner correctement.
******************************************************/

$connect = mysql_connect('localhost','root','') or die ("erreur de connexion");
mysql_select_db('Inventaire_SaintEx',$connect) or die ("erreur de connexion base");


//Email du webmaster
$mail_webmaster = 'example@example.com';

//Adresse du dossier de la top site
$url_root = 'http://www.example.com/';

/******************************************************
----------------Configuration Optionelle---------------
******************************************************/

//Nom du fichier de laccueil
$url_home = 'index.php';

$url_root ='Admin/index.php';
$url_user ='User/index.php';


//Nom du design
$design = 'default';
?>


Si quelqu'un peut m'aider, ça fait une bonne semaine que je n'y arrive pas.
Merci d'avance

2 réponses

Nhay Messages postés 838 Date d'inscription vendredi 2 novembre 2012 Statut Membre Dernière intervention 17 décembre 2015 126
3 mai 2014 à 14:48
Bonjour,
Tu a un petit problème dans ton code, après ton IF, tu envoie ton code HTML directement, ce qui doit te provoquer une erreur.

Soit tu doit fermer la balise php avant, soit tu doit utiliser un echo.
0
Ibilolz Messages postés 131 Date d'inscription mardi 1 avril 2014 Statut Membre Dernière intervention 26 juin 2023
3 mai 2014 à 15:02
Merci, problème résolu :)
0