Ik heb last van een uitlog probleem...
Bij het inloggen heb ik dit stuk:

<?
if($wachtwoord1 == $row->wachtwoord && $actief == '1' && $_POST["gebruikersnaam"] == $row->gebruikersnaam)
{
setcookie ("login", $_POST["gebruikersnaam"],time()+3600*$dagen);
echo "U bent ingelogt.";
echo "<META HTTP-EQUIV=\"REFRESH\" CONTENT=\"1; URL=?p=home\">";
}
?>
Dat werkt allemaal nog...

Nu bij het uitloggen:

<?
setcookie ("login", "",time()-3600*5000);
echo "U bent uitgelogt, en wordt door gewezen naar de index.";
echo "<META HTTP-EQUIV=\"REFRESH\" CONTENT=\"1; URL=index.php\">";
?>

Maar bij de index blijf ik het menu zien..
Hij is verder wel uitgelogt, want de gegevens staan er niet meer, maar het menu blijft staan, en daarvoor gebruik ik deze code:

<?if ( isset($_COOKIE['login'])){ ?>
Menu
<? }else{ ?>
U moet eerst inloggen
<? } ?>

En op beveiligde pagina's kan je ook nog komen, en daar gebruik ik deze code voor:
<?
function beveiligd() {
if ( !isset($_COOKIE['login'])){
header("location: index.php?p=login");
}
}
?>
en op de pagina zelf:

<?
beveiligd();
?>

Kan iemand me helpen?
setcookie ("login", "",time()-3600*5000);

doe dat eens zonder de time erbij, denk dat dat zal werken, want je zet nu weer de cookie 'login' voor die tijd, alleen reset je de inhoud..

als je doet:

setcookie("login", ""); zal dit het verhelpen, lijkt mij.. probeer maar ff :)
Bedankt, het werkt :)
Kan nu eindelijk weer goed uitloggen
;) tada!
Volgende probleem:

In het adminpaneel kijk ik dus of de rang admin of moderator is, en als dat niet zo is, dan wordt de gebruiker weer naar de index gestuurt.
Gasten worden al wel naar de index gestuurt, de rest niet..
Deze code gebruik ik voor gasten:

<?
function beveiligd() {
if ( !isset($_COOKIE['login'])){
header("location: ../index.php?p=login");
}
}
?>

en voor admin / moderator heb ik:

<?
function bevoegd() {
$query = mysql_query("select * from leden where gebruikersnaam='".$_COOKIE["login"]."'");
$row = mysql_fetch_object($query);
$moderator = "mod";
$admin = "admin";
$rang = $row->rang;
if ($rang !== $moderator OR $admin){
header("location: ../index.php?p=login");
}
}
?>

Alleen voor gebruikers werktie niet.. Ik weet dat

<?
if ($rang !== $moderator OR $admin){

?>

Niet klopt, maar wat het dan wel moet zijn..
if ($rang != $moderator && $rang != $admin) {
Dankje wel :D
Het werkt :)
Heb ik ook weer wat geleerd
Volgende probleem:

Ik heb nu:

<?
$query1 = mysql_query("select * from leden where gebruikersnaam='".$_COOKIE["login"]."'");
$row1 = mysql_fetch_object($query1);
$rank = $row1->rang;
$mod = "moderator";
$ad = "admin";

if ($rank = $ad){
?>
Administrator menu
<?
}
elseif($rank = $mod){
?>
Moderator menu
<?
}
?>

Nu heb ik mezelf ingesteld als moderator, maar nu zie ik alleen Admin menu, niet Moderator menu.
En als ik mezelf dan weer als Admin instel, zie ik ook alleen Admin..
Kan iemand me helpen?
<?
if ($rank = $mod || $rank = $ad){
?>
Moderator menu
<?
}
?>
Ik heb nu alleen:

<?
if ($rank = $ad || $rank = $mod){
?>
Admin menu
<?
}
?>
Rest van het menu

Want admins mogen alles zien wat moderators ook zien, maar moderators niet alles wat admins mogen zien, maar het is nog steeds zo dat moderators ook alles zien wat admins zien.
Maak er zoiets als dit van:
<?
if($rank == "moderator")
{
#moderator menu
if($rank == "admin")
{
#admin menu
}
}
#rest van het menu
?>

Reageren