Ik heb de volgende scripts om in- en uit te loggen:

inlog:
-------
<?
// Verwijder deze comment en de onderstaande regel als je een eigen stylesheet gebruikt...
echo "<link rel=\"stylesheet\" content=\"text/css\" href=\"style.css\">";
require("config.php");

if ($submit == "submit")
{
$query = mysql_query("SELECT * FROM members WHERE gebruikersnaam = '$gebruikersnaam' AND wachtwoord = '$wachtwoord' AND geactiveerd = '1'");
$result = mysql_num_rows($query);
$row = mysql_fetch_object($query);
setcookie("gebruikersnaam", $gebruikersnaam, time() + 90 * 86400);

if (isset($gebruikersnaam))
{
echo "U bent ingelogt als: $gebruikersnaam<br>";
echo "<a href=\"loguit2.php\">Log Uit!</a>";
}
}

else{

echo "<form method=\"POST\" action=\"$PHP_SELF\">
<input type=\"hidden\" name=\"submit\" value=\"submit\">
Naam:<br>
<input type=\"text\" name=\"gebruikersnaam\" size=\"20\"><br>
Wachtwoord:<br>
<input type=\"password\" name=\"wachtwoord\" size=\"20\"><br>
<input type=\"submit\" value=\"Login\"> <input type=\"reset\" value=\"Aanmelden\"
onclick=\"document.location.href=('aanmelden.php')\">
</form>";

}
?>

uitlog:
--------
<?
setcookie("login");
header("Location: login.php");
?>

Als ik uitlog keer in weer naar login en dat is goed. Maar als ik dan probeer in te loggen krijg ik dus die error dat er al gegevens naar gestuurd zijn. Ik weet niet waar het aan ligt want ene keer krijg ik ze wel en als ik iets verander krijg ik ze niet, zonder nou te weten wat reden tot die fout er voor is, want krijg eronder wel gewoon te zien ingelogd als:

Maar het grootste probleem, het inloggen/cookie systeem werkt nog niet goed. Want ik krijg vaak te zien dat ik ingelogd ben als test, terwijl ik dat helemaal niet ben (en dat schijnbaar nog wel in cookie ofzo staat). Soms krijg ik wel goede inloggegevens, maar wanneer ik weer naar login.php ga moet/kan ik dus opnieuw inloggen.

Op een of andere manier werkt het login/cookie systeem zoals ik hem nu heb en op verschillende manieren heb geprobeerd gewoon niet of niet goed.
sessie niet goed weggehaald?
toch wel
(heb de code nu wel niet meer maar toch..)
ik had eerst alle velden van de sessie leeggemaakt en dan sessie gedestroyd...

in ieder geval nu werk ik enkel met database maar heeft er iemand een script zodat er na een tijd de gebruiker automatisch word afgemeld in de database (zonder sessies dus)
@mitch:
Een session wordt dus altijd vernietigd als browser wordt gesloten, dan is een inlogsysteem toch niet goed te maken met sessions, (op phphulp wordt dacht ik ook met sessions gewerkt en werkt prima),
of heb ik het nu mis?
PHPhulp set een cookie zodat je 90 dagen inglogt blijft. Denk jij dat een sessie dan zelfs blijft als je PC uitstaat?
Dus ja een sessie wordt dan vernietigd...
Maar dan heeft een inlogsysteem met sessies eigenlijk geen nut en kan ik beter overstappen op cookies.
Nee sessies vindt ik persoonlijk beter dan cookies hoor.
Mede omdat sessie serverside bewaard worden en cookies clientside waardoor iemand ze handmatig kan editen ...
Ja, maar als sessies steets gedestroyed worden heeft het naar mijn mening geen zin om een login systeem met cookies te hebben, omdat je dan steeds opnieuw moet inloggen.
Kijk eens naar de sessie manual van php.net. Er is een instelling dat een sessie na het verlaten van een sessie ook gedestroyed wordt/ of het cookie dat bij de sessie hoort verloopt op het moment dat de sessie beeindigd wordt (browser sluit). Hierdoor wordt sessies op deze manier niet handig, maar moet je even de juiste instellingen vinden.

http://www.php.net/sessions

Cookies is totaal onzinnig: sessies gebruiken ook zelf al een cookie om het sessie_id te onthouden.

Grtz,

Adje

Ga het nog eens proberen op :
<?
if($_SESSION['id'] && $_SESSION['gebruiker'])
{
// Stuff voor ingelogde ppl laten zien
}
else
{
// Inlogmenutje
}
?>
wat aantal posts hierboven staat. php site nog even bekeken maar werd er zo snel niet duidelijker op.

Reageren