[PHP] naam + wachtwoorden in mysql-database

Pagina: 1
Acties:
  • 180 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Ik ben bezig met een inlog procedure mbv php en mysql.

Nu wil ik dus dat de naam + wachtwoord op wordt geslagen in een database (mysql).
De gebruiker krijgt dus een form te zien waar hij naam + wachtwoord in kan vullen, en dan kijkt het script in de database of de naam + wachtwoord combo correct is.

Hoe doe ik dit???

ps. het inloggen (php gedeelte) lukt wel, maar ik weet niet hoe ik in de database kan kijken of de gegevens correct zijn.


wie helpt mij???

Verwijderd

OK, je user geeft een username in ($user) en een password ($password), en je hebt een tabel met de kolommen user en password.

$SQL = " SELECT * FROM tabel WHERE user = $user "
$return = mysql_db_query(database, $SQL, connection);

while($row=(mysql_fetch_array($return)))
{
$passwordcheck = $row["password"];
if ($passwordcheck == $password) $pass = "ok";
else $pass = "failed";
}

Zou moeten werken... Doe het ff snel snel, maar geloof dat dit hem is.

Greetz >:)

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 02-09 11:02

D2k

www.php.net
www.mysql.com
en de faq van P&W

Doet iets met Cloud (MS/IBM)


  • nikao
  • Registratie: November 1999
  • Laatst online: 10-02-2022
ik maak dan gewoon een query waar ik het de gegevens uit de tabel haal waar geld dat de login en pass de opgegeven login en pass zijn.. dan check ik met een countrows of hij er wat uithaalt.. is countrows 0 .. dan was de combinatie niet gevonden in de dbase en dus fout.. als ie 1 is is de login correct

  • Speedpete
  • Registratie: December 2001
  • Laatst online: 09-07 00:10

Speedpete

was barman

Op donderdag 13 december 2001 12:11 schreef nikao het volgende:
ik maak dan gewoon een query waar ik het de gegevens uit de tabel haal waar geld dat de login en pass de opgegeven login en pass zijn.. dan check ik met een countrows of hij er wat uithaalt.. is countrows 0 .. dan was de combinatie niet gevonden in de dbase en dus fout.. als ie 1 is is de login correct
Zo doe ik het ook. Maar let wel op dat je de commentaar-truc opvangt in je query. Ging geloof ik zo:

achter username tik je ';-- met als resultaat bijv. in de query:

select * from users where name='ikke';--' and pass='w8woord';

Nu ziet ie --' and pass='w8woord'; als comment en vind dus meerdere regels.

Object-oriented programming offers a sustainable way to write spaghetti code | Hoe vleugels wel werken.


  • _JGC_
  • Registratie: Juli 2000
  • Laatst online: 00:28
je kunt ook met MD5 wat klooien. Er zijn zat mensen die een fout maken in hun scripts, waardoor je gewoon iets als dit kunt invullen:

User: Jan
Pass: tweaker' or 'a' = 'a

Waardoor je query wordt:

SELECT USER FROM DBASE WHERE user = 'Jan' AND pass = 'tweaker or 'a' = 'a'

ofwel: krijg je altijd een user, aangezien a altijd a is. Kan je opvangen door het password met MD5 te encrypten, waardoor je geen problemen met passwords hebt die halve SQL queries zijn :)

Verwijderd

Een goed idee is om je wachtwoord geencrypt op te slaan:

heel simpel:
code:
1
INSERT into tblLogin (username, password) VALUES ('$UserName',PASSWORD('$PassWord'));

en opvragen met:
code:
1
SELECT * FROM tblLogin WHERE username='$UserName' AND password=PASSWORD('PassWord');

uitvoer rows >0, je bent ingelogd :)

  • Nielsz
  • Registratie: Maart 2001
  • Niet online
Dat vindt jij een goed id :?
select * een goed id :?

Verwijderd

klopt, maar dit was als voorbeeld. Ik heb zelf SELECT UserID, maar ik weet toch niet welke velden hij allemaal heeft in zijn DB? :0

Tevens, je haalt toch maar één rij op :)

  • Nielsz
  • Registratie: Maart 2001
  • Niet online
Op donderdag 13 december 2001 16:51 schreef BarisArt het volgende:
klopt, maar dit was als voorbeeld. Ik heb zelf SELECT UserID, maar ik weet toch niet welke velden hij allemaal heeft in zijn DB? :0

Tevens, je haalt toch maar één rij op :)
Tja :)
Kan je ook een count() doen ofzo, of select recht oid. :)
Pagina: 1