URL: https://www.overclockers.at/coding-stuff/cookie_wird_ploetzlich_nicht_mehr_gesetzt_31121/page_1 - zur Vollversion wechseln!
Hi Leute
Ich hab ein größeres Problem mir meiner Page - man kann sich nicht mehr einloggen Heute um 13:00 herum gings noch, seit 18:00 nicht mehr - der Cookie wird ganz einfach nicht mehr gesetzt
Ich setze den Cookie mit php VOR jeglichem html-Code.
setcookie("usm_user",$usm_user,time()+3600*24*365);
Was kann da plötzlich los sein? Kann es ein, dass das nur serverseitig bedingt ist?
Hat denn niemand eine Idee?
Vielleicht stimmt die Serverzeit nimma?
Wenn die Serverzeit nicht stimmt ist die Ablaufzeit schon beim setzen des Cookies vorüber.
Versuch mal ohne Ablaufzeit oder mit besonderst hoher!
Mfg, Vir@s
Ich habs ausprobiert, Ablaufzeit 100 Jahre Geht leider net.
Wers ausprobieren will: http://www.srs-clan.de
Login: User
Pass: 1234
Macht euch keine Hoffnungen, ihr habt mit dem Account keine Rechte auf der Page
hmmm....
login is ned wirklich hilfreich
Kannst vielleicht mal den ganzen Source posten?
vor dem setcookie darf _kein_ Output gemacht werden.
belibte felher sind leerzeilen vor dem anfänglichen <?php
etc.
Ähmmm leerzeichen innerhalb des <? werden sowieso ned ausgegeben.
Außerdem funktioniert die Setcookie funktion auch bei vorherigen Leerzeichen da diese nicht ausgeben werden.
Es ist kein Output vor dem Cookieset. Das was komisch ist, es hat ja funktioniert! Und plötzlich, von einem Mal aufs andere, geht es nicht mehr
Source... naja tu ich nur ungern, das kommt mir dann etwas insecure vor.
EDIT: @Virus: Dere meinte VOR dem <?php, nicht dazwischen. Das wäre ja schon Output
wenn dir das publishen vom Sourcecode unsicher vorkommt, lass es gleich weil deine philosophie fehlerhaft ist.
bist du dir btw. sicher dass es kein clientsided problem ist, der cookiecache vom IE baut oft gern sheisse.
also check das mit einem geeigneten tool ab.
besser ist natürlich der sourcecode, dann kömma gleich sagen wos hapert.
Zitat von .deRElict.wenn dir das publishen vom Sourcecode unsicher vorkommt, lass es gleich weil deine philosophie fehlerhaft ist.
Code: PHP<?php require "./settings.inc.php"; //Verbinden $db = mysql_connect($db_host,$db_user,$db_pass,$db_name); //User suchen $pass = md5($pass); $query = "SELECT User, Pass, Perm FROM usm_users WHERE User='$user' AND Pass='$pass'"; $array = mysql_query($query, $db); $data = mysql_fetch_array($array, MYSQL_ASSOC); //Einloggen if ($data){ $usm_user = $data[User]; $usm_pass = $data[Pass]; $usm_perm = $data[Perm]; SetCookie ("usm_user", $usm_user, time()+3600*24*365); SetCookie ("usm_pass", $usm_pass, time()+3600*24*365); SetCookie ("usm_perm", $usm_perm, time()+3600*24*365); $login = TRUE; } else { $login = FALSE; } //Verbindung beenden mysql_close($db); ?>
"./settings.inc.php";
in der datei wirst an output haben - und wenns auch nur leerzeilen nach dem abschließenden ?> sind
Nope - es ging ja schon, ich hab den Source nicht angerührt. Thx trotzdem.
Ich glaub eher des das Fehler in da DB liegt.
Ist $data auch sicha gefüllt?
darüber könnt ein debug-output sicher schnell aufschluß geben
Data muss gefüllt sein, weil die Variable $usm_user weitergegeben wird (2. Seite des Logins, wo in der rechten Menüleiste der Name steht). Also die Variablen sind 100% gesetzt.
THX für eure Hilfe
overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025