Résolu Input ne parche pas

Statut
N'est pas ouverte pour d'autres réponses.

Rémi C

Premium
Inscription
11 Novembre 2014
Messages
149
Réactions
7
Points
13 751
RGCoins
25
Bonjours,
Je reviens vers ou car après 1 demi journée de galère a cherchez mon erreur je viens la poster ici quand je clique sur mon button login rien ce passe voici le liens du site ou j'essaye




Mon codage :
Code:
<?php
require 'includes/db.php';

if (isset($_GET['connexion']))
{
    $username = htmlspecialchars($_POST['username']);
    $password = sha1($_POST['password']);

    if(empty($username) and empty($password))
    {
       $requser = $bdd->prepare("SELECT * FROM membres WHERE username = ? AND password = ?");
       $requser->excute (array($username, $password));
       $userexist = $requser->RowCount();
       if($userexist == 1)
       {

       }
       else
       {
           echo '<script language="JavaScript"> alert("Username ou mot de passe invalide !"); window.location.replace("login.php");</script>';
       }

    }
    else
    {
        echo '<script language="JavaScript"> alert("Vous avez oublié de remplir un champ. Merci de recommencer"); window.location.replace("login.php");</script>';
    }
}
?>
<!DOCTYPE html>
<html lang="en">
  <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <meta name="description" content="">
        <meta name="author" content="">

        <title>FGT-LOGIN</title>

        <!-- Bootstrap Core CSS -->
        <link href="bootstrap/css/bootstrap.min.css" rel="stylesheet">

        <!-- Custom CSS -->
        <link href="css/style.css" rel="stylesheet">

        <!-- Custom Fonts -->
        <link href='http://fonts.googleapis.com/css?family=Lobster' rel='stylesheet' type='text/css'>


        <!-- Template js -->
        <script src="js/jquery-2.1.1.min.js"></script>
        <script src="bootstrap/js/bootstrap.min.js"></script>
        <script src="js/jquery.appear.js"></script>
        <script src="js/contact_me.js"></script>
        <script src="js/jqBootstrapValidation.js"></script>
        <script src="js/modernizr.custom.js"></script>
        <script src="js/script.js"></script>

        <!--[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>
  <div class="container">
     <center>
     <div class="alert alert-info" role="alert" style="margin-bottom:15px;">Bienvenue sur le site de la FGT
       </div>
       </center>
      <div class="panel panel-default">
         <div class="panel-heading" style='background: rgb(53, 124, 203) url("img/header.png") repeat-x scroll center bottom;'>Connectez-vous</div>
             <div class="panel-body">
                  <form  method="post" action="">
                     <div class="inner-addon left-addon">
                         <i class="glyphicon glyphicon-user"></i>
                          <input type="text" name="username" placeholder="Username" class="form-control" />
                     </div>
                      <br>
                     <div class="inner-addon left-addon">
                         <i class="glyphicon glyphicon-lock"></i>
                         <input type="text" name="password" placeholder="Password" class="form-control">
                     </div>
                      <br>
                          <input type="submit" name="connexion"  class="btn btn-info" value="Se connecter">
                       </form>
                   <br>
                  <a href="recup_md.php">Mot de passe oublier?</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="registe.php">Pas encore de compte?</a>
            </div> 
     </div>
</div>


  </body>
</html>

Voila pouvez vous m'aider
 
D'où parle tu ?
Si c'est tout en haut c'est entièrement normal, il faut que l'URL soit égale à xxx.php?connexion , par MP je l'ai aidé avant... ;)
Il a pas dis que c'était dans une autre page, et il use des $_POST en dessous, tout laisse a penser que c'est la même page ..
 
Je fais les 2 méthod sa ne marche pas
PHP:
<?php
require 'includes/db.php';

if (isset($_POST['connexion']))
{
    $username = htmlspecialchars($_POST['username']);
    $password = sha1($_POST['password']);

    if(empty($username) and empty($password))
    {
       $requser = $bdd->prepare("SELECT * FROM membres WHERE username = ? AND password = ?");
       $requser->excute (array($username, $password));
       $userexist = $requser->RowCount();
       if($userexist == 1)
       {

       }
       else
       {
           echo '<script language="JavaScript"> alert("Username ou mot de passe invalide !"); window.location.replace("login.php");</script>';
       }

    }
    else
    {
        echo '<script language="JavaScript"> alert("Vous avez oublié de remplir un champ. Merci de recommencer"); window.location.replace("login.php");</script>';
    }
}
?>
<!DOCTYPE html>
<html lang="en">
  <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <meta name="description" content="">
        <meta name="author" content="">

        <title>FGT-LOGIN</title>

        <!-- Bootstrap Core CSS -->
        <link href="bootstrap/css/bootstrap.min.css" rel="stylesheet">

        <!-- Custom CSS -->
        <link href="css/style.css" rel="stylesheet">

        <!-- Custom Fonts -->
        <link href='http://fonts.googleapis.com/css?family=Lobster' rel='stylesheet' type='text/css'>


        <!-- Template js -->
        <script src="js/jquery-2.1.1.min.js"></script>
        <script src="bootstrap/js/bootstrap.min.js"></script>
        <script src="js/jquery.appear.js"></script>
        <script src="js/contact_me.js"></script>
        <script src="js/jqBootstrapValidation.js"></script>
        <script src="js/modernizr.custom.js"></script>
        <script src="js/script.js"></script>

        <!--[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>
  <div class="container">
     <center>
     <div class="alert alert-info" role="alert" style="margin-bottom:15px;">Bienvenue sur le site de la FGT
       </div>
       </center>
      <div class="panel panel-default">
         <div class="panel-heading" style='background: rgb(53, 124, 203) url("img/header.png") repeat-x scroll center bottom;'>Connectez-vous</div>
             <div class="panel-body">
                  <form  method="post" action="">
                     <div class="inner-addon left-addon">
                         <i class="glyphicon glyphicon-user"></i>
                          <input type="text" name="username" placeholder="Username" class="form-control" />
                     </div>
                      <br>
                     <div class="inner-addon left-addon">
                         <i class="glyphicon glyphicon-lock"></i>
                         <input type="password" name="password" placeholder="Password" class="form-control">
                     </div>
                      <br>
                          <input type="submit" name="connexion"  class="btn btn-info" value="Se connecter">
                       </form>
                   <br>
                  <a href="recup_md.php">Mot de passe oublier?</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="registe.php">Pas encore de compte?</a>
            </div> 
     </div>
</div>


  </body>
</html>
 
Il a pas dis que c'était dans une autre page, et il use des $_POST en dessous, tout laisse a penser que c'est la même page ..
Non non tu confonds ;)
Son formulaire est à destination de login.php?connexion et non pas à connexion2.php par exemple

Une fois qu'il est dans la variable get connexion alors il fera ses vérifications. ;)
Cette technique a un avantage, c'est qu'elle affichera si par exemple un champs n'est pas rempli. ;)
 
Logique ! La variable $_POST['connexion'] n'existe pas.
Essaie ça:

PHP:
<?php
require 'includes/db.php';

if (isset($_GET['connexion']))
{
 $username = htmlspecialchars($_POST['username']);
 $password = sha1($_POST['password']);

 if(empty($username) and empty($password))
 {
 $requser = $bdd->prepare("SELECT * FROM membres WHERE username = ? AND password = ?");
 $requser->excute (array($username, $password));
 $userexist = $requser->RowCount();
 if($userexist == 1)
 {

 }
 else
 {
 echo '<script language="JavaScript"> alert("Username ou mot de passe invalide !"); window.location.replace("login.php");</script>';
 }

 }
 else
 {
 echo '<script language="JavaScript"> alert("Vous avez oublié de remplir un champ. Merci de recommencer"); window.location.replace("login.php");</script>';
 }
}
?>
<!DOCTYPE html>
<html lang="en">
 <head>
 <meta charset="utf-8">
 <meta http-equiv="X-UA-Compatible" content="IE=edge">
 <meta name="viewport" content="width=device-width, initial-scale=1">
 <meta name="description" content="">
 <meta name="author" content="">

 <title>FGT-LOGIN</title>

 <!-- Bootstrap Core CSS -->
 <link href="bootstrap/css/bootstrap.min.css" rel="stylesheet">

 <!-- Custom CSS -->
 <link href="css/style.css" rel="stylesheet">

 <!-- Custom Fonts -->
 <link href='http://fonts.googleapis.com/css?family=Lobster' rel='stylesheet' type='text/css'>


 <!-- Template js -->
 <script src="js/jquery-2.1.1.min.js"></script>
 <script src="bootstrap/js/bootstrap.min.js"></script>
 <script src="js/jquery.appear.js"></script>
 <script src="js/contact_me.js"></script>
 <script src="js/jqBootstrapValidation.js"></script>
 <script src="js/modernizr.custom.js"></script>
 <script src="js/script.js"></script>

 <!--[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>
 <div class="container">
 <center>
 <div class="alert alert-info" role="alert" style="margin-bottom:15px;">Bienvenue sur le site de la FGT
 </div>
 </center>
 <div class="panel panel-default">
 <div class="panel-heading" style='background: rgb(53, 124, 203) url("img/header.png") repeat-x scroll center bottom;'>Connectez-vous</div>
 <div class="panel-body">
 <form method="post" action="?connexion">
 <div class="inner-addon left-addon">
 <i class="glyphicon glyphicon-user"></i>
 <input type="text" name="username" placeholder="username" class="form-control" />
 </div>
 <br>
 <div class="inner-addon left-addon">
 <i class="glyphicon glyphicon-lock"></i>
 <input type="password" name="password" placeholder="password" class="form-control">
 </div>
 <br>
 <input type="submit" name="connexion" class="btn btn-info" value="Se connecter">
 </form>
 <br>
 <a href="recup_md.php">Mot de passe oublié?</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="registe.php">Pas encore de compte?</a>
 </div> 
 </div>
</div>


 </body>
</html>
D'ailleurs je t'ai corrigé : tu as dit que $username = $_POST['username] alors que dans ta ligne où il y a le champs, c'est écrit name="Username" ! Username c'est pas pareil que username !
Copie le colle et dis moi ;)
 
Et non toujours pas ! Décidément l'algorithme et toi ça fait 17 !
Algorithement parlant, tu as écrit ça

Code:
Algo

Si $_GET['connexion'] existe 
{

$username = post username
$password = post password

si $username est vide ou si $password est vide alors
{

}
sinon
{
dire "champs vide"
}
}

Ton code marche à l'envers !
Voici celui ci, il est corrigé à 110%

PHP:
<?php
require 'includes/db.php';

if (isset($_GET['connexion']))
{
 $username = htmlspecialchars($_POST['username']);
 $password = sha1($_POST['password']);

 if(!empty($username) and !empty($password))
 {
 $requser = $bdd->prepare("SELECT * FROM membres WHERE username = ? AND password = ?");
 $requser->excute (array($username, $password));
 $userexist = $requser->RowCount();
 if($userexist == 1)
 {

 }
 else
 {
 echo '<script language="JavaScript"> alert("Username ou mot de passe invalide !"); window.location.replace("login.php");</script>';
 }

 }
 else
 {
 echo '<script language="JavaScript"> alert("Vous avez oublié de remplir un champ. Merci de recommencer"); window.location.replace("login.php");</script>';
 }
}
?>
<!DOCTYPE html>
<html lang="en">
 <head>
 <meta charset="utf-8">
 <meta http-equiv="X-UA-Compatible" content="IE=edge">
 <meta name="viewport" content="width=device-width, initial-scale=1">
 <meta name="description" content="">
 <meta name="author" content="">

 <title>FGT-LOGIN</title>

 <!-- Bootstrap Core CSS -->
 <link href="bootstrap/css/bootstrap.min.css" rel="stylesheet">

 <!-- Custom CSS -->
 <link href="css/style.css" rel="stylesheet">

 <!-- Custom Fonts -->
 <link href='http://fonts.googleapis.com/css?family=Lobster' rel='stylesheet' type='text/css'>


 <!-- Template js -->
 <script src="js/jquery-2.1.1.min.js"></script>
 <script src="bootstrap/js/bootstrap.min.js"></script>
 <script src="js/jquery.appear.js"></script>
 <script src="js/contact_me.js"></script>
 <script src="js/jqBootstrapValidation.js"></script>
 <script src="js/modernizr.custom.js"></script>
 <script src="js/script.js"></script>

 <!--[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>
 <div class="container">
 <center>
 <div class="alert alert-info" role="alert" style="margin-bottom:15px;">Bienvenue sur le site de la FGT
 </div>
 </center>
 <div class="panel panel-default">
 <div class="panel-heading" style='background: rgb(53, 124, 203) url("img/header.png") repeat-x scroll center bottom;'>Connectez-vous</div>
 <div class="panel-body">
 <form method="post" action="?connexion">
 <div class="inner-addon left-addon">
 <i class="glyphicon glyphicon-user"></i>
 <input type="text" name="username" placeholder="username" class="form-control" />
 </div>
 <br>
 <div class="inner-addon left-addon">
 <i class="glyphicon glyphicon-lock"></i>
 <input type="password" name="password" placeholder="password" class="form-control">
 </div>
 <br>
 <input type="submit" name="connexion" class="btn btn-info" value="Se connecter">
 </form>
 <br>
 <a href="recup_md.php">Mot de passe oublié?</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="registe.php">Pas encore de compte?</a>
 </div> 
 </div>
</div>


 </body>
</html>

Fais attention la prochaine fois. Revois également ton algorithme.
 
Illogique ton truck !
Enlève ton <input type="submit" [...] (toute la ligne) et remplace là par celle là:

HTML:
<input type="submit" value="Se connecter" />

Oui ça fera dégeu , mais juste pour tester si le formulaire rédirige jusqu'à ?connexion, ce qui n'est actuellement pas le cas.
 
Cette réponse a aidé l'auteur de cette discussion !
Salut,
Ta demande est-elle résolue ?
Si oui, tu peux cliquer sur Cette réponse a répondu à ma question sur le message qui t'as aidé pour rajouter le préfixe résolu à la discussion. :)

Bonne journée,
Djamel SEC
 
Statut
N'est pas ouverte pour d'autres réponses.
Retour
Haut