Ca change rien
Tu veux que je poste le code complet ?
Ca change rien
Tu veux que je poste le code complet ?
si tu veux
Que vaut $nb_ligne avant ton if selon les différents cas de figures ? Il ne varie pas entre 0 et 1 ?
J'ai introduit une erreur dans la requête SQL et j'ai bien une erreur, juste pour vérifier...
Sinon $nb_ligne vaut toujours 0 avant le if.
Je colle la page index :
La page ajout :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr"> <?php include_once ("../connection.php"); include_once ("../fonctions.php"); ?> <head> <title>... Mon titre ...</title> <link href="css/general_backend.css" rel="stylesheet" type="text/css" /> </head> <body> <form name="odyssee_back" id="odyssee_back" action="ajout.php" method="post"> <p> <label for="admin_index">Login</label><span><input type="text" name="admin_index" id="admin_index" value="<?php echo (isset($_POST['admin_index'])) ? $_POST['admin_index'] : '' ; ?>" maxlength="12" /></span> <label for="mdp_index">Mot de passe</label><span><input type="password" name="mdp_index" id="mdp_index" maxlength="32" /></span> </p> <p class="centerTOP"> <input type="submit" class="bouton" name="suivant" id="suivant" value=" Suivant " accesskey="a" /> </p> </form> </body> </html>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37 <?php require_once ("../connection.php"); require_once ("../fonctions.php"); // Connection à la BDD, voir le fichier 'connection.php' pour les détails. connect_BDD(); $admin_index = mysql_real_escape_string($_POST['admin_index']); $mdp_index = mysql_real_escape_string($_POST['mdp_index']); $query = mysql_query("SELECT count(*) FROM admin WHERE user='$admin_index' && mdp='$mdp_index'") or die(mysql_error()); //$donnees = mysql_fetch_array($query); while($donnees = mysql_fetch_array($query)) $nb_ligne = $donnees[0]; echo "valeur du if avant la boucle :".$nb_ligne.'<br />'; if ($nb_ligne == 0) { echo $nb_ligne.'<br />'; echo $admin_index.'<br />'; echo $mdp_index.'<br />'; //header('Location: index.php'); exit(); } // if (($donnees['user'] != $admin_index) && ($donnees['mdp'] != md5($mdp_index))) // On ferme la BDD. mysql_close; ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
Il n'y a pas d'erreur dans la syntaxe SQL, j'en suis persuadé. A mon avis les valeurs rentrées ne matchent pas avec celles de ta base. Essaies juste la requete : SELECT count(*) FROM admin. C'est impossible que $nb_ligne vaille 0 si tu as des lignes dans ta table admin
hum...
J'ai fais ca donc :
Et toujours pareil, impossible de me connecter sur la page Admin.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 <?php require_once ("../connection.php"); require_once ("../fonctions.php"); // Connection à la BDD, voir le fichier 'connection.php' pour les détails. connect_BDD(); $admin_index = mysql_real_escape_string($_POST['admin_index']); $mdp_index = mysql_real_escape_string($_POST['mdp_index']); $query = mysql_query("SELECT count(*) FROM admin) or die(mysql_error()"); //$donnees = mysql_fetch_array($query); while($donnees = mysql_fetch_array($query)) $nb_ligne = $donnees[0]; if ($nb_ligne == 0) { header('Location: index.php'); exit(); } // if (($donnees['user'] != $admin_index) && ($donnees['mdp'] != md5($mdp_index))) // On ferme la BDD. mysql_close; ?>
J'ai bien vérifier ma base et j'ai bien des valeurs entrées.![]()
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 $query = mysql_query("SELECT count(*) FROM admin") or die(mysql_error());
et ensuite un echo de $nb_ligne
A oui je me suis planté dans le ".
Bref, en tout cas maintenant j'ai toujours des 1... Et donc ca va sur la page suivante, quoi que je rentre comme valeur.
Et bien c'est bon alors non ?
Il te reste a mettre les valeurs correctes pour $admin_index et $mdp_index correspondant à ta table et tu passeras pareil
Ouais alors en fait je viens de faire de nouveaux essais.
Le problème viens du mot de passe.
J'ai supprimé toutes mes entrées dans la table admin et j'en ai créé une nouvelle. Du coup le mot de passe n'est pas "hashé" par le md5.
J'ai plus qu'a trouver comment faire.
Merci pour ton aide.
fonction md5() de php -> lien
Tiens, je profite de ton lien pour poser une dernière question sur ce post...
Mieux vaut utiliser md5 ou sha1 ???
Si j'ai bien compris, md5 est un 'hashage' alors que 'Sha1' c'est pour le cryptage.
Sha1 est plus robuste mais avant de "de-hacher" du md5 faut y aller surtout pour un site à faible audience.
sourceen 1996, une faille qualifiée de grave (possibilité de créer des collisions à la demande) est découverte et indique que MD5 devrait être mis de côté au profit de fonctions plus robustes comme SHA-1.
En 2004, une équipe chinoise découvre des collisions complètes. MD5 n'est donc plus considéré comme sûr au sens cryptographique. On suggère maintenant d'utiliser plutôt des algorithmes tels que SHA-256, RIPEMD-160 ou Whirlpool.
Ok, merci d'avoir pris le temps de m'aider...
Bonne soirée et bonne fin de week-end.
Partager