Logout Problem

Zipper02

Mitglied
HI,

also ich habe ein ganz normales Loginscript programmiert und alles funktioniert soweit.
Eigentlich funktioniert auch das Ausloggen doch, das Profile Menü von sich selber will nicht mehr verschwinden.

Hier der Code der wichtigen Stelle in index.php

<?php
if($username == "")
{
?>
<b><div align=right>-login-</div></b>
<br>

<form method="post" action="index.php?goto=login">
<div align=center><input type="text" name="nick" size="17" class="user" onFocus="this.className='dae'"></div>
<div align=center><input type="password" name="pass" size="17" class="pass" onFocus="this.className='dae'"></div>
<br>
<div align=center>
<input type=submit value="login" class="moep">
</div>
<p>
<div align=right><a href=index.php?goto=register><img src=images/reg.gif border=0></a>&nbsp;<img src=images/help.gif></div>
</form>
<?
}
else
{
?>
<b><div align=right>-my.yellow-</div></b>
<p>
<div align=right>setup&nbsp;<br>
add link&nbsp;<br>
your gbook&nbsp;<br>
your profile&nbsp;<br>
your stats&nbsp;<p>

<a href=index.php?goto=logout>logout</a>&nbsp;

</div>
<?
}
?>

logout.php
<?php
setcookie("username",$username,time()-2147483647);
setcookie("password",$pass,time()-2147483647);
?>
<table border=1 cellspacing=1 cellpadding=3 width=100% bgcolor=#ffffff bordercolor=#ffffff align=left>
<tr>
<td bgcolor=#D6D7D6 bordercolor=#000000 width=100%>
<font class=small><b><font color=#ff0000>Logout successfully</font></b></font>
</td>
</tr>
<tr>
<td bgcolor=#E2E2E2 width=100% bordercolor=#000000>
<table border=0 cellspacing=1 cellpadding=0 width=100% bgcolor=#D6D7D6>
<tr>
<td bgcolor=#DDDDDD width=100%>
<font class="small3">The Logout was successfully....<br>
We hope to see you soon.</font>
</font>
</tr>
</table>
</td>
</table>
<script language="JavaScript">
window.location.href = "index.php";
</script>


Das klappt alles soweit, weil das Cookie wird auch gelöscht.
Das Menü verschwindet aber erst nach nem Browserneustart.
Kann mir jemand helfen ? :rolleyes:
 
Hmn.
Wird das ganze vielleicht noch in einer Session gespeichert die du noch unregistern solltest?
Und wenn der Cookie gelöscht ist existiert $username dann doch garnicht mehr oder?
Also würde ich die Abfrage so machen:
if(!isset($username))
 
hmm habs jetzt mal mit isset versucht, aber hat auch nicht geklappt.
hier mal meine login.php vielleicht bringt die einen weiter, weil ich weiss auch nicht was da falsch ist :\

<?php
if (!$nick)
{
?>
<table border=1 cellspacing=1 cellpadding=3 width=100% bgcolor=#ffffff bordercolor=#ffffff align=left>
<tr>
<td bgcolor=#D6D7D6 bordercolor=#000000 width=100%>
<font class=small><b><font color=#ff0000>Login failed</font></b></font>
</td>
</tr>
<tr>
<td bgcolor=#E2E2E2 width=100% bordercolor=#000000>
<table border=0 cellspacing=1 cellpadding=0 width=100% bgcolor=#D6D7D6>
<tr>
<td bgcolor=#DDDDDD width=100%>
<font class="small3">No username was entered.</font>
</font>
</tr>
</table>
</td>
</table>
<?
}
else
{
if (!$pass)
{
?>
<table border=1 cellspacing=1 cellpadding=3 width=100% bgcolor=#ffffff bordercolor=#ffffff align=left>
<tr>
<td bgcolor=#D6D7D6 bordercolor=#000000 width=100%>
<font class=small><b><font color=#ff0000>Login failed</font></b></font>
</td>
</tr>
<tr>
<td bgcolor=#E2E2E2 width=100% bordercolor=#000000>
<table border=0 cellspacing=1 cellpadding=0 width=100% bgcolor=#D6D7D6>
<tr>
<td bgcolor=#DDDDDD width=100%>
<font class="small3">No Password was entered.</font>
</font>
</tr>
</table>
</td>
</table>
<?
}
else
{
?>
<?
include("config.inc.php");
include("connect.inc.php");

$abfrage = "SELECT * FROM user WHERE user = '$nick'";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))
{

if ($row->pass == $pass)
{
setcookie("username",$nick,2147483647);
setcookie("password",$pass,2147483647);
?>
<table border=1 cellspacing=1 cellpadding=3 width=100% bgcolor=#ffffff bordercolor=#ffffff align=left>
<tr>
<td bgcolor=#D6D7D6 bordercolor=#000000 width=100%>
<font class=small><b><font color=#ff0000>Login successfully</font></b></font>
</td>
</tr>
<tr>
<td bgcolor=#E2E2E2 width=100% bordercolor=#000000>
<table border=0 cellspacing=1 cellpadding=0 width=100% bgcolor=#D6D7D6>
<tr>
<td bgcolor=#DDDDDD width=100%>
<font class="small3">The Login was successfully...</font>
</font>
</tr>
</table>
</td>
</table>
<script language="JavaScript">
window.location.href = "index.php";
</script>
<?
}


if ($row->pass != $pass)
{
?>
<table border=1 cellspacing=1 cellpadding=3 width=100% bgcolor=#ffffff bordercolor=#ffffff align=left>
<tr>
<td bgcolor=#D6D7D6 bordercolor=#000000 width=100%>
<font class=small><b><font color=#ff0000>Login failed</font></b></font>
</td>
</tr>
<tr>
<td bgcolor=#E2E2E2 width=100% bordercolor=#000000>
<table border=0 cellspacing=1 cellpadding=0 width=100% bgcolor=#D6D7D6>
<tr>
<td bgcolor=#DDDDDD width=100%>
<font class="small3">Password was false.</font>
</font>
</tr>
</table>
</td>
</table>

<?
}
}
}
?>
 
vielleicht könnte man die aktuelle seite schliessen und ne neue Seite mit target=blank öffnen also die index z.b. Weil mir hat man gesagt weil hab den login ähnlich gemacht und hatte das selbe problem bzw. habe... , das das so ist beim Internet Explorer und das es net anders geht...
 
Original geschrieben von [DA]-2Pac-
vielleicht könnte man die aktuelle seite schliessen und ne neue Seite mit target=blank öffnen also die index z.b. Weil mir hat man gesagt weil hab den login ähnlich gemacht und hatte das selbe problem bzw. habe... , das das so ist beim Internet Explorer und das es net anders geht...

hm ist aber ne unsaubere methode aber ich weiss es auch nicht ;>
ich werd mal schaun weil ich sowas auch gebrauchen kann
 
Kann es sein, dass der Cookie gelöscht werden soll? Lösche deine Cookies einfach, indem du die SetCookie nur mit dem Namen als Parameter aufrufst, z.B.:
PHP:
setcookie("password");
 
Zurück