le 17/11/2009 à 23:49
comparaisons d'un formulaire avec la base sql
merci beaucoup car j'avance pas a pas et ce genre de bétise ne saute pas au yeux quand a la securité je travaillerai ca un peut plus tard et j'en suis contient que le premier passant venue pourrai fracasser ce bout de code ! si je peut je vais abuser un peut , j'ai donc condensser mon code pour plus mettre des , ; ou autre en trop ce qui donne ceci :
mais quand je le lance je reçois le message d'erreur suivant :Erreur SQL !
SELECT login,pass FROM inscription WHERE nom = che AND 123
Unknown column 'che' in 'where clause'
comme si php n'allait pas lire dans ma base alors que les données login (che) et pass (123) son bien présent dans ma table
et si j'enleve WHERE nom = '.$_POST['login'].' AND '.$_POST['pass'].' pour simplifier mon code l'erreur devient Warning: mysql_fetch_array(): 3 is not a valid MySQL result resource in C:\wamp\www\perso1\login.php on line 12 et ca je doit dire !!!
si tu as quelque explication car même en parcourant les cours je ne vois pas pourquoi le 3 du pass le bloc merci
<?php
if (isset($_POST['login']) && isset($_POST['pass']))
$hote = 'localhost';
$user = 'root';
$pass = '';
$base = 'test';
$link = mysql_connect($hote,$user,$pass);
if (!$link)die('could not connect:'.mysql_error());
mysql_select_db($base);
$sql = 'SELECT login,pass FROM inscription WHERE nom = '.$_POST['login'].' AND '.$_POST['pass'].'';
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
while ($data = mysql_fetch_array($req)) {
mysql_free_result ($req);
mysql_close ();
if ($data == $_POST['login'] && $data == $_POST['pass']) {
header ('location: test formulaire html.html');
}
else {
echo '<body onLoad="alert(\'mot de passe ou identifiant incorrect...\')">';
echo '<meta http-equiv="refresh" content="identification.html">';
}
}
?>
mais quand je le lance je reçois le message d'erreur suivant :Erreur SQL !
SELECT login,pass FROM inscription WHERE nom = che AND 123
Unknown column 'che' in 'where clause'
comme si php n'allait pas lire dans ma base alors que les données login (che) et pass (123) son bien présent dans ma table
et si j'enleve WHERE nom = '.$_POST['login'].' AND '.$_POST['pass'].' pour simplifier mon code l'erreur devient Warning: mysql_fetch_array(): 3 is not a valid MySQL result resource in C:\wamp\www\perso1\login.php on line 12 et ca je doit dire !!!
si tu as quelque explication car même en parcourant les cours je ne vois pas pourquoi le 3 du pass le bloc merci
