login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Login check, niet werkend... (Opgelost)

Offline marshallmast - 13/03/2007 11:56 (laatste wijziging 13/03/2007 12:20)
Avatar van marshallmastNieuw lid nadat de gebruikersnaam en het wachtwoord zijn ingevoerd.
moeten deze gecontroleerd worden.
maar het lijkt erop dat hij uit de database wel de goede info haalt maar dit anders ziet.

  1. // inlog gegevens controleren
  2. $username = strip_tags($_POST['username']);
  3. $password = md5(strip_tags($_POST['password']));
  4. if(empty($username) || empty($password)) die('Vul alle waarden in op <a href="login.php">het formulier</a>.');
  5.  
  6. // hier wordt het wachtwoord uit de databas gehaald, omdeze vervolgens te controleren met het opgegeven wachtwoord..
  7. $query = "SELECT wachtwoord FROM Gebruiker WHERE gebruikersnaam = '$username'";
  8. $sql = mssql_query($query) or die (mssql_error());
  9.  
  10. $wwoord = md5(strip_tags(mssql_result($sql, 0, 'wachtwoord')));
  11.  
  12. echo "$wwoord". " " . "$password";
  13. if($password == $wwoord)
  14. {
  15. $_SESSION['login'] = 'yes';
  16. $_SESSION['username'] = "$username";
  17. header('location: ingelogd.php');
  18. }


als uitkomst krijg je met MD5:
wwoord:
aadbf551de97f15452e8a8d26c8bfa57
password:
73478fa678fdbab1134f75cc62eae5e3

zonder MD5 krijg ik:
wwoord:
deurknop
password:
deurknop

toch ziet de If lus ze als niet gelijk, hoe kan dit?

bedankt alvast 

8 antwoorden

Gesponsorde links
Offline Ultimatum - 13/03/2007 12:03
Avatar van Ultimatum PHP expert Ik neem aan dat de wachtwoorden al als md5 hash in de database staan? Dan hoef je die niet nog eens in md5 te gooien..
Offline marshallmast - 13/03/2007 12:06
Avatar van marshallmast Nieuw lid de wachtwoorden staan in de tabel zonder md5.

maar ook zonder md5 ziet hij ze niet als hetzelfde...
Offline Ultimatum - 13/03/2007 12:17
Avatar van Ultimatum PHP expert Als ze toch niet als md5 hash in de database staan is het ook onzinnig om ze dan eerst om te zetten dan te vergelijken..
Offline marshallmast - 13/03/2007 12:20
Avatar van marshallmast Nieuw lid klopt!

maar dit heb ik alleen gedaan om te kijken of de zogenoemde waarde wel gelijk is.

Als opgegeven wachtwoord gebruik ik deurknop.
bij een echo van allebei de variabelen laat hij ook allebei deurknop zien. Maar de IF-lus herkent ze niet als gelijk.

zie ook de resultaten in de startpost...
Offline Rens - 13/03/2007 12:26
Avatar van Rens Gouden medaille

Crew algemeen
En bij het registreren, gooi het wachtwoord dan eens als md5 erin.
En kijk daarna nog eens bij de login of het dan wel gelijk is.
Het is ook weer stukken veiliger om een wachtwoord als md5 in de database te zetten, want als iemand dan in je database komt, kan hij alle wachtwoorden zou aflezen...
Offline Abbas - 13/03/2007 14:24
Avatar van Abbas Gouden medaille

Crew .NET
Moet het niet zo zijn:

  1. <?php
  2. $query = "SELECT wachtwoord FROM Gebruiker WHERE gebruikersnaam = '".$username."' ";
Offline Ibrahim - 13/03/2007 17:24
Avatar van Ibrahim PHP expert
  1. echo "$wwoord". " " . "$password";


Dit is het domste stukje code ooit. Allereerst zet je je variabele binnen quotes, en ga je buiten de quotes om een spatie binnen quotes te zetten en 

  1. echo $wwoord . ' ' . $password;
Offline marshallmast - 16/03/2007 10:02
Avatar van marshallmast Nieuw lid het is gelukt!
het probleem was dat in de SQL database de kolom van het wachtwoord als varchar stond. en hij de overgebleven karakters opvult met spaties...

Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.206s