login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Fout met count

Offline tomie94 - 30/12/2007 15:10
Avatar van tomie94PHP interesse Hallo ik heb de volgende code:

  1. <?php
  2. if(!isset($_SESSION['slogin'])) {
  3. if(isset($_POST['login'])) {
  4. $gbnaam = mysql_real_escape_string(addslashes($_POST['username']));
  5. $pword = md5($_POST['password']);
  6. $qucount = mysql_query("SELECT COUNT (id) FROM users WHERE name = ".$gbnaam." AND password = ".$pword);
  7. $ucount = mysql_result($qucount,0);
  8. if($ucount != '1') {
  9. echo 'Je account klopt niet!';
  10. echo $ucount;
  11. }else{
  12. echo 'Je gegevens kloppen';
  13. }
  14. }else{
  15. echo '<h1>Inloggen</h1>';
  16. echo '<form action="login.php" method="post">';
  17. echo '<input type="text" name="username" value="Gebruikesnaam" />';
  18. echo '<br />';
  19. echo '<input type="password" name="password" value="Wachtwoord" />';
  20. echo '<br />';
  21. echo '<input type="submit" name="login" value="Login!" />';
  22. echo '<br />';
  23. echo '<a href="wachtwoordvergeten.php">[Wachtwoord Vergeten]</a><a href="aanmelden.php">[Aanmelden]</a>';
  24. echo '</form>';
  25. }
  26. }else{
  27. echo '<h1>Fout</h1><p>Je bent al ingelogd!</p>';
  28. }
  29. ?>


nu krijg ik, ook al vul ik de goede gegevens in de melding dat ik de verkeerde gegevens ingevoerd hebt.....

Weet iemand wat er fout gaat...

PS: is dit script zo veilig

6 antwoorden

Gesponsorde links
Offline lemoinet - 30/12/2007 15:26
Avatar van lemoinet PHP gevorderde
  1. $qucount = mysql_query("SELECT COUNT (id) FROM users WHERE name = '".$gbnaam."' AND password = '".$pword."'");


doe dit al eens en probeer dan nog is
Offline Grayen - 30/12/2007 15:27
Avatar van Grayen PHP ver gevorderde Ik gebruik nooit COUNT binnen mijn queries maar maak gebruik van mysql_num_rows() dus ik weet niet 100% zeker of het zal werken, maar probeer dit eens:

  1. <?php
  2. if(!isset($_SESSION['slogin']))
  3. {
  4. if(isset($_POST['login']))
  5. {
  6. // Rondom string moeten quotes ook binnen MySQL,
  7. // had er maar een or die (mysql_error()); achter gezet,
  8. // dan had je een foutmelding gezien.
  9. $rResult = mysql_query("SELECT COUNT (id) FROM users WHERE name = '".mysql_real_escape_string(addslashes($_POST['username']))."' AND password = '".md5($_POST['password'])."'");
  10.  
  11. list($iRows) = mysql_fetch_assoc($rResult);
  12.  
  13. if($iRows != 1)
  14. {
  15. echo 'Je account klopt niet!';
  16. echo $iRows;
  17. }
  18. else
  19. {
  20. echo 'Je gegevens kloppen';
  21. }
  22. }
  23. else
  24. {
  25. echo '<h1>Inloggen</h1>';
  26. echo '<form action="login.php" method="post">';
  27. echo '<input type="text" name="username" value="Gebruikesnaam" />';
  28. echo '<br />';
  29. echo '<input type="password" name="password" value="Wachtwoord" />';
  30. echo '<br />';
  31. echo '<input type="submit" name="login" value="Login!" />';
  32. echo '<br />';
  33. echo '<a href="wachtwoordvergeten.php">[Wachtwoord Vergeten]</a><a href="aanmelden.php">[Aanmelden]</a>';
  34. echo '</form>';
  35. }
  36. }
  37. else
  38. {
  39. echo '<h1>Fout</h1><p>Je bent al ingelogd!</p>';
  40. }
  41. ?>
Offline tomie94 - 30/12/2007 15:39 (laatste wijziging 30/12/2007 15:42)
Avatar van tomie94 PHP interesse ik krijg met DMM's code als ik er OR DIE achter zet:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(id) FROM users WHERE name = 'test' AND password = '41d234y4


EDIT: hetzelfde bij lemoinet's code...
Offline Grayen - 30/12/2007 15:42
Avatar van Grayen PHP ver gevorderde Waarschijnlijk moet die spatie tussen COUNT en (id) weg dus het zal COUNT(id) moeten worden. En maak anders gewoon gebruik van mysql_num_rows is volgens mij net zo effectief in jouw geval.
Offline Wim - 30/12/2007 15:48
Avatar van Wim Crew algemeen yep idd. Tomie94, mss voor de veiligheid dat password even uit je post halen? 
Offline tomie94 - 30/12/2007 16:22 (laatste wijziging 30/12/2007 16:23)
Avatar van tomie94 PHP interesse nee, dat is me password niet... ik ehb effe wat ingevuld..

en bedankt grayen het werkt!

Edit: Klopt het dat de oplossing knop aan de zijkant van jullie topics het niet doet?
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.223s