login  Naam:   Wachtwoord: 
Registreer je!
 Forum

loginscript werkt niet (Opgelost)

Offline koenvdl - 28/10/2009 21:59 (laatste wijziging 28/10/2009 22:02)
Avatar van koenvdlNieuw lid 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
Offline Abbas - 28/10/2009 22:01
Avatar van Abbas Gouden medaille

Crew .NET
CODETAGS GEBRUIKEN
Offline jaronneke - 29/10/2009 08:17
Avatar van jaronneke MySQL interesse Tiphint.. tiphint:

Valt je niets op aan de kleurtjes.....?
Offline Bart - 29/10/2009 08:52 (laatste wijziging 29/10/2009 08:52)
Avatar van Bart PHP expert
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.
Offline koenvdl - 29/10/2009 21:22
Avatar van koenvdl Nieuw lid 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...
Offline larssy1 - 29/10/2009 21:38
Avatar van larssy1 MySQL beginner 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???
Offline Joost - 31/10/2009 19:00 (laatste wijziging 31/10/2009 19:01)
Avatar van Joost PHP expert
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 
Offline activate - 31/10/2009 21:23
Avatar van activate Nieuw lid 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']);

Offline koenvdl - 02/11/2009 18:22
Avatar van koenvdl Nieuw lid 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  
Offline ArieMedia - 02/11/2009 19:02
Avatar van ArieMedia Gouden medaille

PHP ver gevorderde
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.
Offline leroyvanloon - 02/11/2009 20:16
Avatar van leroyvanloon Lid Probeer is
$password = $_GET['password'];
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.195s