Probleme login

Résolu/Fermé
medboy94 Messages postés 44 Date d'inscription jeudi 6 septembre 2012 Statut Membre Dernière intervention 14 mai 2016 - 29 mars 2016 à 11:56
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 - 29 mars 2016 à 16:29
Bonjour, J'ai crée une fonction en php pour login mais j'ai un probléme
la table s'appel users


function login_user(){

if(isset($_POST['submit'])){

$username = escape_string($_POST['username']);

$password = escape_string($_POST['password']);


$query = query("SELECT * FROM users WHERE username = '{$username}' AND password ='{$password}' ");
confirm($query);


if(mysqli_num_rows($query)== 0){

redirect("login.php");
}else{redirect("admin");
}
}

}






<section class="login-area">
<div class="row">
<div class="col-sm-6">
<!-- Login Panel Starts -->
<div class="panel panel-smart">
<div class="panel-heading">
<h3 class="panel-title">Login</h3>
</div>
<div class="panel-body">
<p>
Please login using your existing account
</p>
<!-- Login Form Starts -->
<form class="form-inline" role="form" action="" method="post" enctype="multipart/form-data">
<?php login_user(); ?>
<div class="form-group">

<label class="form-group" for="username">username</label>
<input type="text" class="form-control" id="exampleInputEmail2" placeholder="username">
</div>
<div class="form-group">
<label class="sr-only" for="password">Password</label>
<input type="password" class="form-control" id="exampleInputPassword2" placeholder="password">
</div>
<button type="submit" class="btn btn-black">
Login
</button>
</form>





2 réponses

Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 525
29 mars 2016 à 12:20
Salut,

Quel est le détail du problème ?
Quel est le résultat obtenu / attendu ?
Quels sont les messages d'erreur ?
Quelle est l'API utilisé pour la bdd (Mysqli apparemment) ?
Quel est le code des fonctions escape_string(), query(), confirm(), redirect() ?

Bonne journée
1
medboy94 Messages postés 44 Date d'inscription jeudi 6 septembre 2012 Statut Membre Dernière intervention 14 mai 2016
29 mars 2016 à 12:34
Bonjour
le resultat attendu si les details sont just il me redirect vers dossier admin ( index.php ) sinon il rest dans le login .

il n'y a pas de msg d'erreur .
mysql avec wamp

Les autres fonctions je l'utilise normal


function redirect($location) {

header("Location : $location ");


}



function confirm($result){

global $connection ;
if(!$result){
die("QUERY FAILED " . mysqli_error($connection));
} }



function query($sql){

global $connection ;
return mysqli_query($connection, $sql);
}


function escape_string($string){

global $connection ;
return mysqli_real_escape_string($connection, $string);
}
0
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 525
29 mars 2016 à 14:38
La condition if(isset($_POST['submit'])) ne pourra jamais être validée puisque ton formulaire ne contient aucun input dont l'attribut name est égal à "submit".

On recommande également d'ajouter l'instruction exit() après une redirection via header(), en effet puisqu'on redirige la suite du script n'a pas besoin d'être exécutée.

Au passage, aucun contenu ne devrait être envoyé au client avant l'appel de l'instruction header() sauf si l'option php output_buffering est activée, ce qui est le cas par défaut sous Wamp. Lors du passage en ligne, si cette option n'est pas activée chez ton hébergeur, tu auras alors un message d'erreur "Headers already sent".
0
medboy94 Messages postés 44 Date d'inscription jeudi 6 septembre 2012 Statut Membre Dernière intervention 14 mai 2016
29 mars 2016 à 15:45
Mercii pour votre réponse j'ai modifié le code html mais sa marche pas



<form class="" action="" method="post" enctype="multipart/form-data">

<?php login_user(); ?>
<div class="form-groupe"><label for="">
username<input type="text" name="username" class="form-control">
</div>
<div class="form-groupe"><label for="password">
password<input type="text" name="password" class="form-control">
</div>
<div class="form-groupe">
<input type="submit" name="submit" class="btn btn-primary">
</div>
</form>

0
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 525
29 mars 2016 à 16:29
As tu ajouter l'instruction exit() après la redirection avec header() ?

Peux tu définir ce qui ne marche pas dans ton code ? Les paramètres POST sont-ils bien transférés et corrects ? La requête sql s'exécute t-elle correctement ? Les redirections fonctionnent-elles ?

Tu peux essayer d'ajouter des "echo" dans ta fonction login_user() afin de voir où ca bloque.
0