Bonjour,
J'ai rédigé le code suivant :
<?php
include("bddconnect.php");
mysql_select_db($database) or die("erreur de connexion a la base de donnees");
$query='SELECT * FROM identifiant';
$ok=mysql_query($query);
$row=mysql_fetch_row($ok) or die (mysql_error());
if($_POST['username']!=$row[1] or $_POST['password']!=$row[2])
{
echo "Echec de la connexion";
}
else
{
echo "Connexion reussi";
}
mysql_close();
?>
Il fonctionne mais seulement pour le premier identifiant de la base de donnée.....(il n'y en a que 2)
Aucune erreur ne s'affiche.
(Et aussi pouvez me dire si ce code est protégé contre les injections sql ? J'en ai testé et apparament ça semble bon.)
Merci de vos future réponse.
Il y a déjà du code dans la base de donné (enfin je crois). Je l'insère directement avec le phpmyadmin de wamp.(mais c'est peut etre pas ça dont tu parles...)
En tout cas la base de donné database contien une table identifiant de 3 colonne id username et password qui ont des valeurs : par exemple le premier c'est id=1 username=lalala password=lilili.
Mais sinon t'as une explication pour le premier problème ?.
cette requete recupere tous tes identifiant dans la base
$row=mysql_fetch_row($ok) or die (mysql_error());
mais cette ligne ne recupere que le premier enregistrement
ce que tu dois faire, c'est faire un select sur le username
$query="SELECT password FROM identifiant WHERE username = '".$_POST['username']."'";
pour info, cete requete n'est pas protégé
ensuite tu peux tester comme ceci :
$ok=mysql_query($query);
$row=mysql_fetch_row($ok) or die (mysql_error());
if($_POST['password']!=$row['password'])
{
echo "Echec de la connexion";
}
else
{
echo "Connexion reussi";
}
maintenant si tu veux protéger les données , je te conseille d'utiliser des requete préparée avec pdo