URL: https://www.overclockers.at/coding-stuff/session_verwaltung_mim_cookie_66136/page_1 - zur Vollversion wechseln!
Also mei seitn is jetzt scho zum teil fertig... newsscript, bildergallery etc fertig.... jetzt wollt i mit der session verwaltung anfangen...
meine frage:
Wie funkt das mit cookies?
Wenn sich der user einloggt wird a cookie angelegt... mit benutzer und PW...
1. Frage: Is das ned sehr unsicher mit Benutzername und PW speichern?
nur anders weis i das ned wie das geht
oder was speichert ihr im cookie?
wenn das cookie gesetzt ist...
also if(isset(logindat))
{
session_register("id");
session_register("passwort");
}
danach if(isset(id) && isset(passwort))
{
passwortcheck
wenn auth geglückt ==> loginmenü anzeigen.
}
ansonsten falls es ned gesetzt ist ==> login bereich anzeigen
logindat ist der name des cookies...
frage 2: Wie les ich aus nem gesetztn cookie datn aus? geht es eh so wie oben?
wenn die daten ausgelesn sind muss ich ja nur noch überprüfn in da SQL DB ob der Username und das PW zusammenstimmt...
ist das jetzt ne sehr unkonventuelle lösung? ne hinige? ne unsichere?
i hab mal wo gelesn dass es wahnsinnig unsicher ist pw unverschlüsselt zu speichern?
oder soll i einfahc das pw mit 12.588-56.87*568/2.45 dividiern? Oda is das wieder so ne schnapsidee?
Sorry für die noobfragen, i hab so was mit sessions no nie gemacht 
mfg
p.s: Syntax fehler sind sicherlich genug drin
nur i möcht jetzt ned alles nachschlagn ==> scho länger nix mehr mit den sessions gmacht...
wenn man direkt cookies verwendet ist es in der tat besser eine (evt. onetime) session-id/hash zu erzeugen, und nur diese zur identifikation zu verwenden.
wenn du die session-funktionen von php verwendest, macht php das automatisch für dich: der browser bekommt eine sessionid zugeteilt, und php speichert sich in einer temporären datei die variablen für diese session ab.
jo des weis i schoZitat von atroxwenn man direkt cookies verwendet ist es in der tat besser eine (evt. onetime) session-id/hash zu erzeugen, und nur diese zur identifikation zu verwenden.
wenn du die session-funktionen von php verwendest, macht php das automatisch für dich: der browser bekommt eine sessionid zugeteilt, und php speichert sich in einer temporären datei die variablen für diese session ab.
ahso.. so willst du das - hab ich irgendwie nicht rausglesen.
nein, die session-id wird irgendwann ablaufen, und php die temporäre datei löschen.
generiere beim einloggen irgendeine zufallszahl rkey, die du noch nicht vergeben hast:
a) schicke rkey an den browser als cookie
b) schreibe in die db einen datensatz mit (username,rkey)
das nächste mal wenn der user ohne session-variablen daherkommt, findest du über die datenbank heraus, wer er zuletzt war. du brauchs so weder das passwort nochmal abspeichern noch zu übertragen.
/* es gibt dann weitere verfeinerungen, wie expire für diese db-eintragungen usw */
ah... super! danke... genau das meinte ich..
wenn ma sich dann erneut einlogged wird ebn der rkey neu generiert und wieder geschriebn...
so last frage 
wie greif i dann auf das cookie zu? i mein mit den gespeichertn variablen?
wie müsste der code lautn wenn ich a cookie mit den variablen $name und $key füttern möchte?
und wie les ich dann die variablen wieder aus dem cookie raus?
dann hätt i alles was ich brächte 
Vieln dank für deine Hilfe Atrox 
mfg
das steht alles drinnen:
http://www.php.net/manual/en/function.setcookie.php
Ich würde 2 Cookies setzen, den einen nennst "user" oder wwi und den anderen eben "key" also:
setcookie("user", $user, $irgendeinezeit);
setcookie("key", $unique_key, $irgendeinezeit);
Am besten du greifst mit $_COOKIE['variable'] darauf zu, wobei gilt: Cookiename == Variablenname
Siehe auch:
http://www.php.net/manual/en/function.setcookie.php
//edit: darn, ge
wnt
thx ihr 2
jetzt check ich's 
also pro cookie kann man nur eine Var speichern oder?
eh egal, falls ich es ned zambringt schreib i heut abend mal was 
mfg
Zitat von semteXalso pro cookie kann man nur eine Var speichern oder?
das geht natürlich sureZitat von jivesJa. Aber du könntest in einem Cookie ein Array mit implode() speichern und später auf die einzelnen Daten mit explode() zugreifen.
$_COOKIE[testcookie] bzw $testcookie sollte beim nächsten seitenaufruf vorhanden sein.
ohne expire-angabe hällt das cookie allerdings nur bis zum browser-restart - für ein permanentes cookie brauchst eine zeitangabe
Noch was wichtiges: Das Cookie MUSS vor jedwedem Output, sprich html-Code, gesetzt werden.
sowie _vor_ den header-definitionenZitat von jivesNoch was wichtiges: Das Cookie MUSS vor jedwedem Output, sprich html-Code, gesetzt werden.
ok... das cookie setzn / löschn hab ich jetzt zamgebracht... darum fing i jetzt mal an...
das ziel war einfach... i logg mi ein... und er schaut mal in der mysql db.. ob das pw passt...
UND I BIN ZU BLED 
i find den fehler ned
i checks nimma...
der code:
Zitat<?php
if(!isset($login_cookie))
{
$conn_id = mysql_connect("localhost","root");
mysql_select_db("CN",$conn_id);
$sql = "SELECT passwort FROM user WHERE username = '$username' limit 1";
$result = mysql_query($sql, $conn_id);
if(mysql_num_rows($result)) == 0) {
echo "benutezr existiert nicht";
}
else {
$row = mysql_fetch_row($result);
if($row['passwort'] == $passwort)
{
echo "geh bitte";
}
}
}
echo $username;
?>
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
<meta name="generator" content="Adobe GoLive 5">
<title>Willkommen bei Adobe GoLive 5</title>
</head>
<body bgcolor="#ffffff">
<p>
<form name="FormName" action="<? echo $PHP_SELF ?>" method="get">
<input type="text" name="username" size="10" maxlength="25">
<p><input type="password" name="passwort" size="10" maxlength="50"></p>
<p><input type="submit" name="Absenden"></p>
</form>
</body>
</html>
if(mysql_num_rows($result)) == 0) {
overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2026