Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème formulaire de connexion

    27 juillet 2017 à 17:52:05

    Bonsoir,

    Alors je suis actuellement entrain de travailler sur un site, et je voulais tester un code pour le login en php. Je suis parti sur une page vierge, j'ai fait mes tests et ça a marché, mais une fois que j'ai voulu l'intégrer à une page(tiré d'un template) ça ne marche plus, aucune redirection, la page ne fait que s'actualiser une fois que j'ai appuyé sur valider.

    Code pour la connexion : 

    <?php
    if (isset($_POST['connexion']) && $_POST['connexion'] == 'Connexion') {
    	if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass']))) {
    
    	$base = mysql_connect ('localhost', 'root', '');
    	mysql_select_db ("test");
        mysql_query('SET NAMES "UTF8"');
        $login=$_POST['login'];
        $MDP=$_POST['pass'];
    
    	// on teste si une entrée de la base contient ce couple login / pass
    	$sql = "SELECT count(*) from Utilisateur where login='$login' and MDP='$MDP'";
    	$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
    	$data = mysql_fetch_array($req);
    
    	mysql_free_result($req);
    	mysql_close();
    
    	// si on obtient une réponse, alors l'utilisateur est un membre
    	if ($data[0] == 1) {
            $base = mysql_connect ('localhost', 'root', '');
    	    mysql_select_db ("Gestion");
            session_start();
    		
            $query="SELECT ID_Employé from Utilisateur where login='$login'";
            $que=mysql_query($query) or die('ERREUR ID'.mysql_error());
     
            while($row=mysql_fetch_assoc($que))
            {
            $info_id=$row['ID_Employé'];
            }
            echo $info_id;
            $_SESSION['id']=$info_id;
    		header('Location: index.php');
    		exit();
    	}
    	// si on ne trouve aucune réponse, le visiteur s'est trompé soit dans son login, soit dans son mot de passe
    	elseif ($data[0] == 0) {
    		$erreur = 'Compte non reconnu.';
    	}
    	// sinon, alors la, il y a un gros problème 
    	else {
    		$erreur = 'Probème dans la base de données : plusieurs membres ont les mêmes identifiants de connexion.';
    	}
    	}
    	else {
    	$erreur = 'Au moins un des champs est vide.';
    	}
    }
    ?>

    Code de test si l'utilisateur est bien connecté avant d'accéder à une autre page : 

    <?php 
    //On prolonge la session
    session_start();
    // On teste si la variable de session existe et contient une valeur
    if(empty($_SESSION['id'])) 
    {
      // Si inexistante ou nulle, on redirige vers le formulaire de login
      header('Location: sign-in.php');
      exit();
    }
    ?>

    Code de la page où il y a le problème :

    <?php
    if (isset($_POST['connexion']) && $_POST['connexion'] == 'Connexion') {
    	if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass']))) {
    
    	$base = mysql_connect ('localhost', 'root', '');
    	mysql_select_db ("Gestion");
        mysql_query('SET NAMES "UTF8"');
        $login=$_POST['login'];
        $MDP=$_POST['pass'];
    
    	// on teste si une entrée de la base contient ce couple login / pass
    	$sql = "SELECT count(*) from Utilisateur where login='$login' and MDP='$MDP'";
    	$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
    	$data = mysql_fetch_array($req);
    
    	mysql_free_result($req);
    	mysql_close();
    
    	// si on obtient une réponse, alors l'utilisateur est un membre
    	if ($data[0] == 1) {
            $base = mysql_connect ('localhost', 'root', '');
    	    mysql_select_db ("Gestion");
            session_start();
    		
            $query="SELECT ID_Employé from Utilisateur where login='$login'";
            $que=mysql_query($query) or die('ERREUR ID'.mysql_error());
     
            while($row=mysql_fetch_assoc($que))
            {
            $info_id=$row['ID_Employé'];
            }
            echo $info_id;
            $_SESSION['id']=$info_id;
    		header('Location: index.php');
    		exit();
    	}
    	// si on ne trouve aucune réponse, le visiteur s'est trompé soit dans son login, soit dans son mot de passe
    	elseif ($data[0] == 0) {
    		$erreur = 'Compte non reconnu.';
    	}
    	// sinon, alors la, il y a un gros problème 
    	else {
    		$erreur = 'Probème dans la base de données : plusieurs membres ont les mêmes identifiants de connexion.';
    	}
    	}
    	else {
    	$erreur = 'Au moins un des champs est vide.';
    	}
    }
    ?>
    <!doctype html>
    <html lang="en"><head>
        <meta charset="utf-8">
        <title>Bootstrap Admin</title>
        <meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta name="description" content="">
        <meta name="author" content="">
    
        <link href='http://fonts.googleapis.com/css?family=Open+Sans:400,700' rel='stylesheet' type='text/css'>
        <link rel="stylesheet" type="text/css" href="lib/bootstrap/css/bootstrap.css">
        <link rel="stylesheet" href="lib/font-awesome/css/font-awesome.css">
    
        <script src="lib/jquery-1.11.1.min.js" type="text/javascript"></script>
    
        
    
        <link rel="stylesheet" type="text/css" href="stylesheets/theme.css">
        <link rel="stylesheet" type="text/css" href="stylesheets/premium.css">
    
    </head>
    <body class=" theme-blue">
    
        <!-- Demo page code -->
    
        <script type="text/javascript">
            $(function() {
                var match = document.cookie.match(new RegExp('color=([^;]+)'));
                if(match) var color = match[1];
                if(color) {
                    $('body').removeClass(function (index, css) {
                        return (css.match (/\btheme-\S+/g) || []).join(' ')
                    })
                    $('body').addClass('theme-' + color);
                }
    
                $('[data-popover="true"]').popover({html: true});
                
            });
        </script>
        <style type="text/css">
            #line-chart {
                height:300px;
                width:800px;
                margin: 0px auto;
                margin-top: 1em;
            }
            .navbar-default .navbar-brand, .navbar-default .navbar-brand:hover { 
                color: #fff;
            }
        </style>
    
        <script type="text/javascript">
            $(function() {
                var uls = $('.sidebar-nav > ul > *').clone();
                uls.addClass('visible-xs');
                $('#main-menu').append(uls.clone());
            });
        </script>
    
        <!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
        <!--[if lt IE 9]>
          <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
        <![endif]-->
    
        <!-- Le fav and touch icons -->
        <link rel="shortcut icon" href="../assets/ico/favicon.ico">
        <link rel="apple-touch-icon-precomposed" sizes="144x144" href="../assets/ico/apple-touch-icon-144-precomposed.png">
        <link rel="apple-touch-icon-precomposed" sizes="114x114" href="../assets/ico/apple-touch-icon-114-precomposed.png">
        <link rel="apple-touch-icon-precomposed" sizes="72x72" href="../assets/ico/apple-touch-icon-72-precomposed.png">
        <link rel="apple-touch-icon-precomposed" href="../assets/ico/apple-touch-icon-57-precomposed.png">
      
    
      <!--[if lt IE 7 ]> <body class="ie ie6"> <![endif]-->
      <!--[if IE 7 ]> <body class="ie ie7 "> <![endif]-->
      <!--[if IE 8 ]> <body class="ie ie8 "> <![endif]-->
      <!--[if IE 9 ]> <body class="ie ie9 "> <![endif]-->
      <!--[if (gt IE 9)|!(IE)]><!--> 
       
      <!--<![endif]-->
    
        <div class="navbar navbar-default" role="navigation">
            <div class="navbar-header">
              <a class="" href=""><span class="navbar-brand"><span class="fa fa-paper-plane"></span> Aircraft</span></a></div>
    
            <div class="navbar-collapse collapse" style="height: 1px;">
    
            </div>
          </div>
        </div>
        
    
    
            <div class="dialog">
        <div class="panel panel-default">
            <p class="panel-heading no-collapse">Sign In</p>
            <div class="panel-body">
                <form  action="index.php" method="post" >
                    <div class="form-group">
                        <label>Username</label>
                        <input type="text" name="login" value ="<?php if (isset($_POST['login'])) echo htmlentities(trim($_POST['login'])); ?>" class="form-control span12">
                    </div>
                    <div class="form-group">
                    <label>Password</label>
                        <input type="password" name="pass" value="<?php if (isset($_POST['pass'])) echo htmlentities(trim($_POST['pass'])); ?>" class="form-controlspan12 form-control">
                    </div>
                    <input type="submit" name="connexion"></input>
                    <label class="remember-me"><input type="checkbox"> Remember me</label>
                    <div class="clearfix"></div>
                    
                </form>
    			<?php $info_id;?>
            
            </div>
    		<?php $info_id;?>
        </div>
    	<?php $info_id;?>
            
        
        
    </div>
    
    
    
        <script src="lib/bootstrap/js/bootstrap.js"></script>
        <script type="text/javascript">
            $("[rel=tooltip]").tooltip();
            $(function() {
                $('.demo-cancel-click').click(function(){return false;});
            });
        </script>
        
      
    </body></html>

    Je ne trouve rien, et je n'ai aucune erreur donc je suis un peu perdu :(


    • Partager sur Facebook
    • Partager sur Twitter
      27 juillet 2017 à 17:58:09

      Bonjour,

      As tu activer les erreurs PHP?

      -
      Edité par daniel94vitry 27 juillet 2017 à 17:58:42

      • Partager sur Facebook
      • Partager sur Twitter
        27 juillet 2017 à 18:12:38

        Salut,

        Je ne sais pas, je pensais que c'était wamp qui s'en chargeait. Pourtant lorsque j'étais sous page vierge, elles s'affichaient s'ils y en avaient. Maintenant je n'ai rien à part la page qui s'actualise quand je valide.

        • Partager sur Facebook
        • Partager sur Twitter
          27 juillet 2017 à 18:36:40

          Dans /etc/php5/apache/php.ini

          error_reporting = E_ALL

          display_errors = On

          • Partager sur Facebook
          • Partager sur Twitter
            27 juillet 2017 à 20:16:57

            Aprés vérification, oui ça l'est déjà.

            Edit : J'ai même essayé d'afficher les variables, aucune ne s'affiche mis à part le 'login' et 'mdp'. J'en déduis donc qu'il n'exécute même pas le code php

            -
            Edité par TaylorMade 27 juillet 2017 à 20:18:13

            • Partager sur Facebook
            • Partager sur Twitter

            Problème formulaire de connexion

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown