Seite 1 von 1
cookie inhalt erweitern
Verfasst: 02.04.2011 11:01
von Nobody-66
ich habe nun ne ewigkeit gesucht, aber nix gefunden ( oder einfach nur falsch gesucht ).
ich möchte gerne bei meinem board ( 3.0.7 [ich weiss, es ist nicht die aktuellste, aber update kommt erst, bevor ich es online stelle

] in einem cookie einen neuen ( also weiteren ) wert speichern. er sollte dann auch eine weile bestehen bleiben ( also nicht nach logout automatisch gelöscht werden ).
wo und was muss ich einfügen, das ich das endlich hinbekomme?
bei php gibt es ja setcookie, aber in phpbb nicht.
würde mich sehr freuen, wenn mir jemand behilflich sein kann.
Re: cookie inhalt erweitern
Verfasst: 02.04.2011 13:09
von DeepSurfer
hhmm...eben beim überfliegen mein ich die set's gefunden zu haben.
/includes/auth.php bei den Zeilen um 945
Weiss aber auch nicht ob es genauer bei den Entwickler Wikis etwas zu finden ist.
https://www.phpbb.de/infos/entwickler.php
Re: cookie inhalt erweitern
Verfasst: 02.04.2011 16:09
von Pyramide
Nobody-66 hat geschrieben:bei php gibt es ja setcookie, aber in phpbb nicht.
Da phpBB in PHP geschrieben ist, steht die setcookie-Funktion dort selbstverständlich auch zur Verfügung. KB:php_phpbb
Re: cookie inhalt erweitern
Verfasst: 02.04.2011 18:24
von Nobody-66
danke euch erstmal für die vorschläge, habe das cookie nun wie gewünscht hinbekommen.
nun ist nur noch eine feinheit, die ich nicht hinbekomme:
im cookie wird ein wert gespeichert, der bei einem erneuten seitenaufruf anders sein kann. nun aktualisiert es aber leider das cookie nicht. da ich den wert bei einem späteren besuch des users gern haben möchte, kann ich es nicht einfach an die URL dran hängen, sondern muss halt im cookie aktualisiert werden. der einzige cookie von PHPBB, der neu geschrieben wird, ist der style-cookie. wollte aber nix in der styleswitcher.js ändern, da ich von javascript noch weniger ahnung wie von php habe.
wäre super, wenn ihr mir bei dem problem auch noch helfen könntet
Re: cookie inhalt erweitern
Verfasst: 02.04.2011 19:00
von Pyramide
Wie sieht denn dein jetziger Code aus?
Re: cookie inhalt erweitern
Verfasst: 02.04.2011 19:21
von Nobody-66
Pyramide hat geschrieben:Wie sieht denn dein jetziger Code aus?
in der session.php habe ich nach
Code: Alles auswählen
$cookie_expire = $this->time_now + (($config['max_autologin_time']) ? 86400 * (int)
$config['max_autologin_time'] : 31536000);
$this->set_cookie('u', $this->cookie_data['u'], $cookie_expire);
$this->set_cookie('k', $this->cookie_data['k'], $cookie_expire);
$this->set_cookie('sid', $this->session_id, $cookie_expire);
einfach noch
Code: Alles auswählen
$this->set_cookie('test', $test_inhalt, $cookie_expire);
eingefügt. dadurch wird beim 1. aufruf des boardes das cookie mit gesetzt.
nun müsste ich nur noch wissen, wo ich den cookie-prüfcode
Code: Alles auswählen
$test_inhalt = request_var('wert', '');
$rtest = $_COOKIE[$config['cookie_name'] . '_test'];
# test, ob das cookie vom benutzer verändert wurde
if (eregi("([<>{}\/%?=$'#*+&;a-zA-Zäöü])", $rtest))
{ die("Wert keine Zahl"); }
if ($test_inhalt != $rtest)
{
# cookie neu schreiben
$this->set_cookie('test', $test_inhalt, $cookie_expire);
}
einfügen muss, damit bei jedem seitenaufruf geprüft wird, ob das cookie den übermittelten wert hat oder aktualisiert werden muss.
Re: cookie inhalt erweitern
Verfasst: 02.04.2011 21:44
von Pyramide
Wenn der Code bei jedem Seitenaufruf ausgeführt werden soll, könntest du ihn z.B. in der common.php einfügen.
Re: cookie inhalt erweitern
Verfasst: 03.04.2011 13:12
von Nobody-66
mal noch eine frage:
Code: Alles auswählen
if (eregi("([<>{}\/%?=$'#*+&;a-zA-Zäöü])", $rtest))
{ die("Wert keine Zahl"); }
ist ja nun nicht die schöneste version, um auf zahlen zu prüfen.
nun habe ich mal ne weile gesucht und habe
is_int gefunden.
das problem ist aber, das es im phpbb nicht so richtig geht.
$abc = 1; ist eine gültige zahl
$abc = '1'; ist eine
ungültige zahl
$abc = $_COOKIE[$config['cookie_name'] . '_test']; ist eine
ungültige zahl ( wert ist im cookie als zahl gesetzt )
wie behebe ich das problem?
oder hat jemand noch eine andere art, um auf
ganze zahlen zu prüfen?
zusätzliche frage:
wenn man
$test_inhalt = request_var('wert', 0);
verwendet, kann man den test, ob es nur eine zahl ist, gleich weglassen? habe ich das richtig erkannt?
Re: cookie inhalt erweitern
Verfasst: 03.04.2011 23:05
von Mahony