login  Naam:   Wachtwoord: 
Registreer je!
 Forum
Zoeken  Regels  Help
Categorieën > PHP & SQL

loginscript werkt niet (Opgelost)

koenvdl – 28/10/2009 21:59 (Laatst gewijzigd op 28/10/2009 22:02)
guys,
Ik heb volgend script in mijn login.php gezet, toch werkt dit niet en krijg ik steeds de melding Username or Password is wrong.
Hij geraakt nooit in mijn IF.

Kan iemand mij vertellen wat ik verkeerd doe?

  1. <?php
  2. $username = $_POST['username'];
  3. $password = sha1($_POST['password']);
  4.  
  5. if($username && $password)
  6. {
  7. $connect = mysql_connect('localhost', 'root', '') or die ('Couldn\'t Connect');
  8. mysql_select_db("test") or die ("Couldn\'t Find your database !");
  9.  
  10. $query = sprintf("SELECT id, username, password FROM users WHERE `username`='%s' AND `password`='%s'",
  11. mysql_real_escape_string($username),
  12. mysql_real_escape_string($password));
  13.  
  14.  
  15. $rows = mysql_query($query);
  16.  
  17. $numrows = mysql_num_rows($rows);
  18.  
  19.  
  20. if($numrows)
  21. {
  22. while($row = mysql_fetch_assoc($rows))
  23. {
  24. $dbusername = $row['username'];
  25. $dbpassword = $row['password'];
  26. }
  27.  
  28. echo("<p>Welcome back $dbusername !</p>");
  29. echo("<a href='logout.php'>Logout</a>");
  30.  
  31. $_SESSION['username']=$dbusername;
  32. }
  33. else
  34. die("Username or Password is wrong!");
  35.  
  36. }
  37. ?>


10 antwoorden

Gesponsorde links
Daisycon - Verdien geld met uw website

titjes – 28/10/2009 22:01
CODETAGS GEBRUIKEN

jaronneke – 29/10/2009 08:17
Tiphint.. tiphint:

Valt je niets op aan de kleurtjes.....?

Bart – 29/10/2009 08:52 (Laatst gewijzigd op 29/10/2009 08:52)
jaronneke schreef:
Tiphint.. tiphint:

Valt je niets op aan de kleurtjes.....?
So what? Hij heeft geen enkele syntax error. Slechts een smerige bug in de highlighting van Sitemasters.

@TS:
  1. <?php
  2. $username = $_POST['username'];
  3. $password = sha1($_POST['password']);
  4.  
  5. if($_SERVER['REQUEST_METHOD'] == 'POST')
  6. {
  7. $connect = mysql_connect('localhost', 'root', '') or die ('Couldn\'t Connect');
  8. mysql_select_db("test") or die ("Couldn\'t Find your database !");
  9.  
  10. $query = sprintf("SELECT id, username, password FROM users WHERE `username`='%s' AND `password`='%s'",
  11. mysql_real_escape_string($username),
  12. mysql_real_escape_string($password));
  13.  
  14.  
  15. $rows = mysql_query($query);
  16.  
  17. $numrows = mysql_num_rows($rows);
  18.  
  19.  
  20. if($numrows)
  21. {
  22. while($row = mysql_fetch_assoc($rows))
  23. {
  24. $dbusername = $row['username'];
  25. $dbpassword = $row['password'];
  26. }
  27.  
  28. echo("<p>Welcome back ".$dbusername." !</p>");
  29. echo("<a href='logout.php'>Logout</a>");
  30.  
  31. $_SESSION['username'] = $dbusername;
  32. }
  33. else
  34. die("Username or Password is wrong!");
  35.  
  36. }
  37. ?>

Deze code zal wel werken, probeer het eens.

koenvdl – 29/10/2009 21:22
Het vreemde is als ik geen username en paswoord meegeef, krijg ik een leeg scherm.
Gebruik ik een username, geeft hij steeds de foutboodschap Username or Password is wrong.

dwz dat ik connectie heb naar mijn database, maar dat ik er niets in kan schrijven of uit kan lezen.

Ik vermoed dus dat mijn $query verkeerd is...

larssy1 – 29/10/2009 21:38
Ikzelf heb nog nooit van de sprintf command gehoord..

maar is het niet mogelijk om het wachtwoord om te zetten naar md5 zoals ook in de database is, en deze dan te kijken of ze gelijk zijn aan elkaar???

Joost – 31/10/2009 19:00 (Laatst gewijzigd op 31/10/2009 19:01)
larssy1 schreef:
Ikzelf heb nog nooit van de sprintf command gehoord..
dus? PHP.net: sprintf

@TS: Dump $query eens en gooi hem in phpMyAdmin, en kijken wat dat oplevert 

activate – 31/10/2009 21:23
Ik zou eens kijken of het wachtwoord wel met sha1 in de db is gezet aangezien dat 1 van de eerste commando's is doe wordt aangeroepen.

$password = sha1($_POST['password']);

Anders moet je eens proberen met

$password = md5($_POST['password']);


koenvdl – 02/11/2009 18:22
Hmm,
dit is inderdaad wel een halve oplossing.

wanneer ik $password = $_POST['password']; gebruik werkt dit perfect.
Echter als ik encryptie er wil achtersteken niet meer.
niet met sha1, maar ook niet met md5  

ArieMedia – 02/11/2009 19:02
koenvdl schreef:
Hmm,
dit is inderdaad wel een halve oplossing.

wanneer ik $password = $_POST['password']; gebruik werkt dit perfect.
Echter als ik encryptie er wil achtersteken niet meer.
niet met sha1, maar ook niet met md5  
vervang anders sprint_f even gewoon voor gewone normale code.

leroyvanloon – 02/11/2009 20:16
Probeer is
$password = $_GET['password'];

Gesponsorde links

Dit onderwerp is gesloten.
Actieve forumberichten:

© 2002-2012 Sitemasters.be - Regels - Gehost door: Vircon - Laadtijd: 0.112s