cedcyr

Inscris le 15/11/2009 à 23:33
  • Signature
    cedcyr
  • Site web
  • Nombre de sujets
    3
  • Nombre de messages
    13
  • Nombre de commentaires
    Aucun
  • Nombre de news
    Aucune
  • Niveau en PHP
    Débutant

Ses derniers messages sur les forums

cedcyr
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 :

<?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
cedcyr
cedcyr
le 16/11/2009 à 22:07
comparaisons d'un formulaire avec la base sql
quelle est l'erreur! c'est justement ce que je me demande car quand j'effectue le test sur ma machine il me donne une erreur ligne 16 ce qui correspond a la ligne suivante

$sql = 'SELECT identifiant,mot_de_passe FROM inscription WHERE nom = '.$_POST['identifiant'].' AND '.$_POST['mot_de_passe'].'';

et donc la requette qui consiste a verifier si l'identifiant at le mot de passe saisi dans le formulaire sont présent dans ma base sql echout alors que le formulaire qui permet de les inscrire li fonctionne trés bien voila tous le problème !!
cedcyr
cedcyr
le 15/11/2009 à 23:55
comparaisons d'un formulaire avec la base sql
merci pour votres indulgence car je debute seul dans mon coin avec mes bouquins et le net! j'essai de comparer les champs d'un formulaire avec des donnée d'une base sql et une erreur sbsiste que je ne parvient pas a corriger un oeuil averti me serais d'un grand secour!
voici mon code

<?php

$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);

if (isset($_POST['identifiant']) && isset($_POST['mot_de_passe']))

$sql = 'SELECT identifiant,mot_de_passe FROM inscription WHERE nom = '.$_POST['identifiant'].' AND '.$_POST['mot_de_passe'].'';

$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['identifiant'] && $data == $_POST['mot_de_passe']) {

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">';
}
}

?>

merci d'avance pour toutes les explication que vous voudrez bien me donner
cedcyr
LoadingChargement en cours