Php + mysql + login probleme
Résolu/Fermé
Edouard73
Messages postés
139
Date d'inscription
mercredi 12 septembre 2007
Statut
Membre
Dernière intervention
2 avril 2013
-
2 mai 2008 à 20:03
Edouard73 Messages postés 139 Date d'inscription mercredi 12 septembre 2007 Statut Membre Dernière intervention 2 avril 2013 - 3 mai 2008 à 15:53
Edouard73 Messages postés 139 Date d'inscription mercredi 12 septembre 2007 Statut Membre Dernière intervention 2 avril 2013 - 3 mai 2008 à 15:53
A voir également:
- Php + mysql + login probleme
- Easy php - Télécharger - Divers Web & Internet
- On me demande mon login - Forum Réseaux sociaux
- Mysql community server - Télécharger - Bases de données
- Mon pc me demande mon login é mon mo de passe - Forum Windows
- Facebook.com/login/identify en francais - Forum Facebook
2 réponses
Bonjour Edouard,
Ne serait-il pas préférable plutôt d'utiliser $_SESSION?
Du genre:
Même à la place du pourrais seulement setter le ID de l'usager (c'est sûrement ta clé primaire de ta table 'connection', non?). Ainsi grâce à lui tu pourras aller chercher toutes les infos de l'usager que tu désires par requête sql.
Ce qui aussi serait bien, c'est d'ajouter une fonction anti-code-injection, qui va te permettre de formatter tes deux variables POST, les rendant plus sécuritaire, avant de les entrer dans ta requête sql. Sinon, sinon, risque facile d'y insérer des commandes, que tu ne voudrais sûrement que l'utilisateur puisse faire! :P
Ne serait-il pas préférable plutôt d'utiliser $_SESSION?
Du genre:
if($count == 1) { // Register $myusername, $mypassword and redirect to file "login_success.php" session_start(); // commencer la session (à écrire dans toute les pages si tu veux utiliser des variables de sessions $_SESSION["myusername]=$myusername; $_SESSION["mypassword"] = $mypassword ; header("location:administration.php"); } else { echo "Wrong Username or Password"; }
Même à la place du pourrais seulement setter le ID de l'usager (c'est sûrement ta clé primaire de ta table 'connection', non?). Ainsi grâce à lui tu pourras aller chercher toutes les infos de l'usager que tu désires par requête sql.
Ce qui aussi serait bien, c'est d'ajouter une fonction anti-code-injection, qui va te permettre de formatter tes deux variables POST, les rendant plus sécuritaire, avant de les entrer dans ta requête sql. Sinon, sinon, risque facile d'y insérer des commandes, que tu ne voudrais sûrement que l'utilisateur puisse faire! :P
il n'est pas possible de modifier les headers une fois qu'ils ont été envoyé.
donc l'instruction header("location:administration.php"); pose problème là où elle est placée dans le code.
donc l'instruction header("location:administration.php"); pose problème là où elle est placée dans le code.
Edouard73
Messages postés
139
Date d'inscription
mercredi 12 septembre 2007
Statut
Membre
Dernière intervention
2 avril 2013
11
3 mai 2008 à 15:53
3 mai 2008 à 15:53
coucou.
j'ai trouvé deux alternative pour l'instant.
la premiere est que je remplace le bloc suivant :
if($count == 1)
{
// Register $myusername, $mypassword and redirect to file "login_success.php"
session_register("myusername");
session_register("mypassword");
header("location:administration.php");
}
else
{
echo "Wrong Username or Password";
}
?>
PAR
<?php
if($count == 1)
{
?><div id="login-ok">
Connection reussi <a class="link1" href="administration.php]">clickez ici</a> pour acceder à l'administration</div>
<?php }
else
{
?><div id="login-failed">Connection failed <a class="link1" href="[login.php]">clickez ici</a> pour revenir à la page précédente</div> <?php }
?>
bon ok l'utilisateur doit clicker sur la page checkpoint pour ensuite aller sur la page administration ou revenir si le mp est pas bon.
j'ai aussi une autre solution mais je que je n'ai pas tester mais qui à mon avis marche car j'ai résulu le probleme pour un autre truc. donc je remplace par le bloc suivant
if($count == 1)
{
// Register $myusername, $mypassword and redirect to file "login_success.php"
echo "<script language='Javascript'>document.location='administration.php'</script>";
}
else
{
echo "<script language='Javascript'>document.location='login.php'</script>";
}
?>
en faite je me rends compte que les headers ne marche pas sur mon hébergeur (wanadoo). Un peu de java script pour remplacer la redirection et le tour est joué.
j'ai trouvé deux alternative pour l'instant.
la premiere est que je remplace le bloc suivant :
if($count == 1)
{
// Register $myusername, $mypassword and redirect to file "login_success.php"
session_register("myusername");
session_register("mypassword");
header("location:administration.php");
}
else
{
echo "Wrong Username or Password";
}
?>
PAR
<?php
if($count == 1)
{
?><div id="login-ok">
Connection reussi <a class="link1" href="administration.php]">clickez ici</a> pour acceder à l'administration</div>
<?php }
else
{
?><div id="login-failed">Connection failed <a class="link1" href="[login.php]">clickez ici</a> pour revenir à la page précédente</div> <?php }
?>
bon ok l'utilisateur doit clicker sur la page checkpoint pour ensuite aller sur la page administration ou revenir si le mp est pas bon.
j'ai aussi une autre solution mais je que je n'ai pas tester mais qui à mon avis marche car j'ai résulu le probleme pour un autre truc. donc je remplace par le bloc suivant
if($count == 1)
{
// Register $myusername, $mypassword and redirect to file "login_success.php"
echo "<script language='Javascript'>document.location='administration.php'</script>";
}
else
{
echo "<script language='Javascript'>document.location='login.php'</script>";
}
?>
en faite je me rends compte que les headers ne marche pas sur mon hébergeur (wanadoo). Un peu de java script pour remplacer la redirection et le tour est joué.