Probleme login
Résolu
medboy94
Messages postés
61
Statut
Membre
-
Pitet Messages postés 2845 Statut Membre -
Pitet Messages postés 2845 Statut Membre -
Bonjour, J'ai crée une fonction en php pour login mais j'ai un probléme
la table s'appel users
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
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
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
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".
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".
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>
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.
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.
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 escape_string($string){
global $connection ;
return mysqli_real_escape_string($connection, $string);
}