login systeem error: Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resour
Door
Joost Bouhof
op 02-04-2013 12:17
gewijzigd op 02-04-2013 12:19
2.552 views
Hallo,
Ik heb geprobeerd een inlog systeem te maken, maar op de een of andere manier blijf ik maar steeds dezelfde error krijgen met mysql_num_rows. en ook als ik de goede gegevens invul blijft hij maar zeggen dat ik een verkeerde username en password heb ingevuld.
Misschien dat jullie me kunnen helpen.
error code:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in **********/checklogin.php on line 25
Je maakt onnodige variabelen aan.
Volgens mij klopt gewoon je query niet.
Echo je query eens:
<?php
$result=mysql_query("SELECT * FROM ".$tbl_name." WHERE username='".$myusername."' and password='".$mypassword."'", $link);
echo $result;
?>
Klopt dat wat je in de database hebt staan?
Dan moet je een nette foutafhandeling maken wanneer $count dus niet gelijk is aan 1 en dat weergeven.
Verder gebruik je bovenin session_start(); en de global $_SESSION. Daarin zet je never, never nooit een username en password, maar een ding als $_SESSION['logged_in'] die true is ofzo.
Op je andere beveiligde pagina's check je die $_SESSION of deze nog steeds klopt.
OB is nergens voor nodig.
Veel onnodige variabelen in je script.
Waarom twee keer connecten?
Je kijkt niet of er wel gepost is.
Je query zal mislukt zijn, bouw nette foutafhandeling in.
Zet error_reporting aan.
En, zoals Tim al zei, session_register() is antiek.
Allemaal bedankt voor jullie snelle reacties, ik ga zometeen meteen even kijken of het werkt!
[size=xsmall]Toevoeging op 02/04/2013 18:37:42:[/size]
oke, mijn eerste probleem is nu opgelost.
Alleen telkens wanneer ik nu inlog met de juiste gebruikersnaam en wachtwoord geeft hij aan dat het fout is.
Dus ik denk dat ik nu een fout heb in mijn query. De gegevens worden dus niet goed uit de database gelezen.
Weten jullie misschien dan hoe ik de query dan moet opstellen?
code:
<?php
oke, ik heb TRUE veranderd naar FALSE. Als ik nu de goede combinatie inlognaam en wachtwoord invul word ik door gelinkt naar login_succes.php Maar als ik inlog met verkeerde gegevens word ik hier ook naar toegeleid.