Archief - PHP: login

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

sabaoth

Legacy Member
Hier ben ik weer met een dom php vraagje :p (ben er nog maar ff met bezig :) )

Ik probeer een login te maken, dit is mijn code:
PHP:
<?php 

mysql_connect("...","...","...");
mysql_select_db("...");

$username = $_GET['username'];
$password = $_GET['password'];

$query = mysql_query("SELECT username, password FROM users WHERE username=".$username." AND password=".$password."");

if(mysql_num_rows($query) == 1)
{
echo('gelukt');
}
else
{
echo('Wrong username or password');
};
?>

Deze error krijg ik:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /usr/export/www/hosting/thisurlsux/test/login.php on line 11

Volges mij moet mijn code toch werken? :p ik snap niet wat ik fout doe.

Tyfius

Legacy Member
Zet na je $query = eens een echo:
PHP:
echo "SELECT username, password FROM users WHERE username=".$username." AND password=".$password.""
Misschien word je daar al iets wijzer van.

passero

Legacy Member
dit is wel een heel onveilige manier van inloggen...
Best dat je eerst een select uitvoert op de username en dan checkt of het record dat je terugkrijgt, het password overeenkomt met wat de gebruiker heeft ingegeven, maar niet beide in 1 statement... zeer gevoelig voor sql injections

maatje

Legacy Member
passero zei:
dit is wel een heel onveilige manier van inloggen...
Best dat je eerst een select uitvoert op de username en dan checkt of het record dat je terugkrijgt, het password overeenkomt met wat de gebruiker heeft ingegeven, maar niet beide in 1 statement... zeer gevoelig voor sql injections
inderdaad, gewoon een gebruikersnaam intikken en via SQL injection zorgen dat het niet vraagt naar gebruikersnaam :)

swiFFer

Legacy Member
echo('Wrong username or password');
};

... is die laatste ";" wel nodig ...
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan