Problème de connexion à ma plateforme [Résolu]

Signaler
-
 Mikebiz -
Bonjour,
J'ai developpé une application qui fonctionne bien en local mais lorsque je la mets en ligne, je n'arrive pas à me loguer avec les mêmes paramètres. Quand je lance la page index.php, elle va sur la page connexion.php qui est censée me connecter à la page d'accueil (accueil.php) mais c'est pas le cas. La page connexion.php reste blanche sans message d'erreur.
Les paramètres de connexion à la base de donnée sont dans le fichier config.php
Voici le code de la page config.php

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

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

//On se connecte a la base de donnee
$host="localhost";
$db="exple";
$user="exple";
$password="test";
$int=mysqli_connect($host,$user,$password,$db);
//mysql_select_db('basededonne');

//Email du webmaster
$mail_webmaster = ' ';

//Adresse du dossier de la top site
//$url_root = '';

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

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

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


voici le code du fichier index.php

<?php
include ("config.php");
?>
<!DOCTYPE html>
<html lang="fr">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta name="description" content="">
    <meta name="author" content="Dashboard">
  

    <title>A2I - PLANNING</title>

     <!-- Favicons -->
  <link href="img/favicon.png" rel="icon">
  <link href="img/apple-touch-icon.png" rel="apple-touch-icon">

  <!-- Bootstrap core CSS -->
  <link href="lib/bootstrap/css/bootstrap.min.css" rel="stylesheet">
  <!--external css-->
  <link href="lib/font-awesome/css/font-awesome.css" rel="stylesheet" />
  <!-- Custom styles for this template -->
  <link href="css/style.css" rel="stylesheet">
  <link href="css/style-responsive.css" rel="stylesheet">

    <!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
    <!--[if lt IE 9]>
      <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
      <script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
    <![endif]-->
  </head>

  <body>

      <!-- **********************************************************************************************************************************************************
      MAIN CONTENT
      *********************************************************************************************************************************************************** -->

	  <div id="login-page">
	  	<div class="container">
	  	<div>  </div>
		<div>  </div>
		      <form class="form-login" action="connexion.php" method="post">
		        <h2 class="form-login-heading">CONNEXION</h2>
		        <div class="login-wrap">
		            <input type="text" class="form-control" placeholder="Nom d'Utilisateur" name="username" id="username" autofocus>
		            <br>
		            <input type="password" class="form-control" placeholder="Mot de Passe" name="password" id="password">
					<br>
					           
		            
		            <button class="btn btn-theme btn-block" href="index.php" type="submit"><i class="fa fa-lock"></i> Se Connecter</button>
		            <hr>
		            
		            <div class="login-social-link centered">
		                <img src="./img/login_logo.png" alt="">
						<p><h4 style="color: #FF6600">PLANNING A2I</h4></p>
					</div>
		            		
		        </div>
		
		          <!-- Modal -->
		          <!--<div aria-hidden="true" aria-labelledby="myModalLabel" role="dialog" tabindex="-1" id="myModal" class="modal fade">
		              <div class="modal-dialog">
		                  <div class="modal-content">
		                      <div class="modal-header">
		                          <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
		                          <h4 class="modal-title">Mot de Passe oublié ?</h4>
		                      </div>
		                      <div class="modal-body">
		                          <p>Entrer votre adresse e-mail pour réinitialiser votre mot de passe</p>
		                          <input type="text" name="email" placeholder="E-mail" autocomplete="off" class="form-control placeholder-no-fix">
		
		                      </div>
		                      <div class="modal-footer">
		                          <button data-dismiss="modal" class="btn btn-default" type="button">Annuler</button>
		                          <button class="btn btn-theme" type="button">Envoyer</button>
		                      </div>
		                  </div>
		              </div>
		          </div>-->
		          <!-- modal -->
		
		      </form>	  	
	  	
	  	</div>
	  </div>

    <!-- js placed at the end of the document so the pages load faster -->
    <script src="assets/js/jquery.js"></script>
    <script src="assets/js/bootstrap.min.js"></script>
<!--La partie ci-dessous est importante car elle permet d'afficher une image de fond (arriere-plan) au formulaire de connexion-->
    <!--BACKSTRETCH-->
    <!-- You can use an image of whatever size. This script will stretch to fit in any screen size.-->
    <!--<script type="text/javascript" src="assets/js/jquery.backstretch.min.js"></script>
    <script>
	         $.backstretch("assets/img/login1_bg.gif", {speed: 500});
    </script>-->


  </body>
</html>


Voici le code du fichier connexion.php
<?php
include('config.php');
?>
<!DOCTYPE html>
<html lang="fr">
    <head>
          <meta charset="utf-8">
          <meta name="viewport" content="width=device-width, initial-scale=1.0">
          <meta name="description" content="">
          <meta name="author" content="Dashboard">
    

    <title>A2I - Planning</title>

    <!-- Bootstrap core CSS -->
    <link href="assets/css/bootstrap.css" rel="stylesheet">
    <!--external css-->
    <link href="assets/font-awesome/css/font-awesome.css" rel="stylesheet" />
        
    <!-- Custom styles for this template -->
    <link href="assets/css/style.css" rel="stylesheet">
    <link href="assets/css/style-responsive.css" rel="stylesheet">

    </head>
    <body>
    	
<?php

	$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 = mysqli_real_escape_string(stripslashes($_POST['username']));
			$password = stripslashes($_POST['password']);
		}
		else
		{
			$username = mysqli_real_escape_string($int,$_POST['username']);
			$password = $_POST['password'];
		}
		//On recupere le mot de passe de lutilisateur
		$req = mysqli_query($int,'select password,id from users where username="'.$username.'"');
		$dn = mysqli_fetch_array($req);
		
		//On le compare a celui quil a entre et on verifie si le membre existe
		if($dn['password']==$password and mysqli_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(($username=='admin') and ($password=='admin'))
		{
			header("Location: accueil.php");
        }
		
		}
		else
		{
			//Sinon, on indique que la combinaison nest pas bonne
			header("Location: bad.php");
		}
	}

?>
		


Merci de m'aider

1 réponse

Messages postés
29642
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
1 octobre 2020
2 810
Bonjour,

Déjà, je t'invite à appliquer le contenu de ce lien
http://www.commentcamarche.net/faq/48399-php-gestion-des-erreurs-debogage-et-ecriture-du-code
(surtout l'activation de l'affichage des erreurs PHP )

Ensuite, pour ta page connexion.php .. vu qu'elle ne sert qu'a "valider" les identifiants et que tu fais ensuite des redirections... pas besoin d'y mettre de html.

Voici grosso-modo à quoi devrait ressembler ton code

 <?php
//affichage des erreurs PHP
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);
 
// require du config 
require_once 'config.php';
 
// récupération propre des variables avant de les utiliser
 $username = !empty($_POST['username']) ? $_POST['username'] : NULL;
 $password = !empty($_POST['password']) ? $_POST['password'] : NULL;
 
 
 //traitement du formulaire ...
 
 //On verifie si le formulaire a ete envoye
	if($username && $password))	{
		//On echappe les variables pour pouvoir les mettre dans des requetes SQL
		if(get_magic_quotes_gpc()) // get_magic_quotes_gpc => Cette fonction est OBSOLÈTE à partir de PHP 7.4.0. Dépendre de cette fonction est fortement déconseillé. 
		{
			$username = mysqli_real_escape_string(stripslashes($username));
			$password = stripslashes($password);
		}	else		{
			$username = mysqli_real_escape_string($int,$username);
		}
    
		//On recupere le mot de passe de lutilisateur
		$req = mysqli_query($int,'select password,id from users where username="'.$username.'"');
		$dn = mysqli_fetch_array($req);
		
		//On le compare a celui quil a entre et on verifie si le membre existe
		if($dn['password']==$password and mysqli_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'] = $username;
			$_SESSION['userid'] = $dn['id'];
			
			if(($username=='admin') and ($password=='admin'))		{
        header("Location: accueil.php");
        exit; // toujours mettre un exit apres une redirection
      }else{
         // si tu n'es pas admin... tu dois faire quoi ??
         echo "Pas admin !";
         
      }
		
		}	else	{
			//Sinon, on indique que la combinaison nest pas bonne
			header("Location: bad.php");
      exit; // toujours mettre un exit apres une redirection
		}
	}

?> 
 
 

Merci beaucoup Jordane45, ça marche bien.