Ik heb nu een werkend loginsysteem.Maar hoe kan ik nu pagina's beveiligen voor niet members en als ze geen members zijn naar index.php gaan.Dus niet met ook een login op die pagina.
Dit is het inlog met de hoofdpagina:
<?php
function is_ingelogd() {
$q = mysql_query("SELECT id FROM leden WHERE naam ='". addslashes($_COOKIE['naam']) ."' AND pass = '". addslashes($_COOKIE['pass']) ."'");
return (mysql_num_rows($q) == 1);
}
?>
<?php
function is_ingelogd(){
$q=mysql_query("SELECT id FROM leden WHERE naam ='".addslashes($_COOKIE['naam'])."' AND pass = '".addslashes($_COOKIE['pass'])."'");
Werkt niet:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /vhost/usr/sfc/members/regels.php on line 8
Log je eerst in!
<?php
mysql_connect ("localhost","db_sfc","passwoord");
mysql_select_db("db_sfc");
function is_ingelogd() {
$q = mysql_query("SELECT id FROM member WHERE naam ='". addslashes($_COOKIE['naam']) ."' AND pass = '". addslashes($_COOKIE['pass']) ."'");
return (mysql_num_rows($q) == 1);
if(!$rResult = MySQL_Query($sQuery))
{
// nee, er is een fout dus roepen we de functie aan
// de waarden spreken voor zich lijkt me, maar toch even beetje uitleg
// MySQL_Error() = bevat de SQL error
// MySQL_Errno() = bevat het nummer v.d. error
// __FILE__ = bevat de bestandsnaam
// __LINE__ = bevat het regelnummer
// $sQuery = bevat de query (optioneel)
echo MySQL_Error_Report(MySQL_Error(), MySQL_Errno(), __FILE__, __LINE__, $sQuery);
} else
{
// de query is succesvol uitgevoerd
echo "Uitgevoerd!";
}
?>
?>
<?php
if(is_ingelogd()) {
echo ("Hello world");
} else {
echo ("Log je eerst in!");
}
?>
Er moet ergens een } tekort zijn want ik krijg een error Parse error: parse error, unexpected $ in /vhost/usr/sfc/members/regels.php on line 35.Alleen vind ik niet waar
<?php
mysql_connect ("localhost","db_sfc","passwoord");
mysql_select_db("db_sfc");
function is_ingelogd() {
$q = mysql_query("SELECT id FROM member WHERE naam ='". addslashes($_COOKIE['naam']) ."' AND pass = '". addslashes($_COOKIE['pass']) ."'");
return (mysql_num_rows($q) == 1);
if(!$rResult = MySQL_Query($sQuery))
{
// nee, er is een fout dus roepen we de functie aan
// de waarden spreken voor zich lijkt me, maar toch even beetje uitleg
// MySQL_Error() = bevat de SQL error
// MySQL_Errno() = bevat het nummer v.d. error
// __FILE__ = bevat de bestandsnaam
// __LINE__ = bevat het regelnummer
// $sQuery = bevat de query (optioneel)
echo MySQL_Error_Report(MySQL_Error(), MySQL_Errno(), __FILE__, __LINE__, $sQuery);
} else
{
// de query is succesvol uitgevoerd
echo "Uitgevoerd!";
}
}
?>
<?php
if(is_ingelogd()) {
echo ("Hello world");
} else {
echo ("Log je eerst in!");
}
?>
:s Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /vhost/usr/sfc/members/regels.php on line 8
Log je eerst in!
EDIT:Heb al die "zever" eruit verwijdert en de oude or die(mysql_error()); gebruikt.
Oplossing:Unknown column 'naam' in 'where clause'
EDIT2:Het moest nickname zijn en password.Nu krijg ik al geen errors meer.
EDIT3:Ik heb me ingelogd in index.php.Alles word opgeslagen in een cookie.Alleen krijg ik toch Log je eerst in! op de pagina met het script van hierboven.
Iemand die weet wat er fout is?Word dezelfde cookie niet geladen?Of iets anders?