Cookie setzen in eigenem Modul...
Cookie setzen in eigenem Modul...
...Hallo alle zusammen,
nachdem ich mein erstes Plugin geschrieben habe, möchte ich nun ein paar Module schreiben, um auf das Plugin zuzugreifen.
Aber irgendw8ie schein ic in meinem Modul kein Cookie setzen zu können, kann das sein?
nachdem ich mein erstes Plugin geschrieben habe, möchte ich nun ein paar Module schreiben, um auf das Plugin zuzugreifen.
Aber irgendw8ie schein ic in meinem Modul kein Cookie setzen zu können, kann das sein?
heute sind anscheinend cookies an der tagesordnung... 
ähm wie setzt du deine cookies ? mittels header() ?

ähm wie setzt du deine cookies ? mittels header() ?
*** make your own tools (wishlist :: thx)
ich zitiere mal
setcookie() definiert ein mit den HTTP Header-Informationen zu übertragendes Cookie. Wie andere Header auch, müssen Cookies vor irgendwelchen anderen Ausgaben Ihres Skriptes gesendet werden (dies ist eine Einschränkung des Protokolls). Sie müssen deshalb solche Funktionsaufrufe vor irgendwelchen Ausgaben, inklusive <html>- oder <head>-Tags sowie irgendwelcher Whitespaces tätigen. Erfolgte bereits vor dem Aufruf dieser Funktion eine Ausgabe erfolgt sein, gibt setcookie() scheitern und FALSE zurückgeben. War setcookie() erfolgreich, wird TRUE zurückgegeben. Dies sagt jedoch nichts darüber aus, ob der Benutzer das Cookie auch akzeptiert hat.
*** make your own tools (wishlist :: thx)
kicken ?
nein... es gibt an sich ne lösung das man header und cookies sehr wohl innerhalb von modulen setzen kann...
man bedient sich des output bufferings...
steht etwas weiter unten in der php doku selbe seite...
nein... es gibt an sich ne lösung das man header und cookies sehr wohl innerhalb von modulen setzen kann...
man bedient sich des output bufferings...
steht etwas weiter unten in der php doku selbe seite...
*** make your own tools (wishlist :: thx)
es gibt noch ne andere möglichkeit
sieh dir die conlib/session.inc an.
$sess steht so gut wie immer zur verfügung...
und ein cookie wird seitens frontend auch immer gesetzt...
ein kleiner test zum speichern einer variable
ist jetzt getestet und funktioniert bei mir...
beim erstmaligen aufruf erscheint
save myvar
beim zweiten
stored myvar: blabla
man sollte da nur noch wissen das die variablen nur dann gespeichert werden wenn in der front_content.php der page_close(); erreicht wird...
sprich bei weiterleitungen mittels nachfolgenden die(); wird nix gespeichert...
sieh dir die conlib/session.inc an.
$sess steht so gut wie immer zur verfügung...
und ein cookie wird seitens frontend auch immer gesetzt...
ein kleiner test zum speichern einer variable
Code: Alles auswählen
<?php
if ($sess->is_registered("myvar")) {
echo "stored myvar: ".$myvar."<br>";
} else {
echo "save myvar<br>";
$myvar = "blabla";
$sess->register("myvar");
}
?>
beim erstmaligen aufruf erscheint
save myvar
beim zweiten
stored myvar: blabla
man sollte da nur noch wissen das die variablen nur dann gespeichert werden wenn in der front_content.php der page_close(); erreicht wird...
sprich bei weiterleitungen mittels nachfolgenden die(); wird nix gespeichert...
Zuletzt geändert von emergence am Di 2. Aug 2005, 11:24, insgesamt 1-mal geändert.
*** make your own tools (wishlist :: thx)
das hängt mit der funktionsweise der front_content.php zusammen
zu beginn werden alle variablen aus der sess ausgelesen...
und gespeichert wird das ganze wieder mittels
der rest passiert dazwischen...
wenn die php seite nicht bis zum ende der front_content.php kommt
wird keine sicherung der werte vorgenommen...
ich denke die beste möglichkeit ist einfach du probierst das mal aus...
zu beginn werden alle variablen aus der sess ausgelesen...
Code: Alles auswählen
//Frontend
page_open(array('sess' => 'Contenido_Frontend_Session',
'auth' => 'Contenido_Frontend_Challenge_Crypt_Auth',
'perm' => 'Contenido_Perm'));
Code: Alles auswählen
page_close();
wenn die php seite nicht bis zum ende der front_content.php kommt
wird keine sicherung der werte vorgenommen...
ich denke die beste möglichkeit ist einfach du probierst das mal aus...
*** make your own tools (wishlist :: thx)
Also bei mir funktioniert das nicht.
Ich kann die Variable scheinbar in die Session speichern, aber auf der nächsten Seite ist diese nicht mehr verfügbar.
Wann kommt eine Page nicht bis zu ???
Ich kann die Variable scheinbar in die Session speichern, aber auf der nächsten Seite ist diese nicht mehr verfügbar.
Wann kommt eine Page nicht bis zu
Code: Alles auswählen
page_close()
Also so hier klapte das nicht:
Code: Alles auswählen
<?php
if($sess->is_registered($logged_in))
echo $logged_in."|<bR>";
if(($_POST['submit'] == "") && ($logged_in != 1))
{
$html =
'<form method="post" action="front_content.php?idcatart='.$idcatart.'">
........
</form>';
}
else if($_POST['submit'] != "")
{
$query = "SELECT * FROM ".$cfg['tab']['ankauf_user']." WHERE `login`='".$_POST['login']."'
AND `password`='".md5($_POST['pass'])."'";
$db->query($query);
while($db->next_record())
{
$user_id = $db->f('id');
$user_login = $db->f('login');
$logged_in = 1;
$sess->register($user_id);
$sess->register($user_login);
$sess->register($logged_in);
}
if($logged_in != 1)
{
echo "Zugangsdaten falsch!";
}
else
{
echo "Eingeloggt"
}
}
else if($logged_in == 1)
{
echo "Eingeloggt"
}
?>
Zuletzt geändert von phpchris am Di 2. Aug 2005, 11:15, insgesamt 2-mal geändert.
wenn im code zb ein die(); aufgerufen wird...phpchris hat geschrieben:Wann kommt eine Page nicht bis zu???Code: Alles auswählen
page_close()
*** make your own tools (wishlist :: thx)
Kann es sein, dass in der front_content.php ein fehler ist?
Müsste es nicht lauten
Code: Alles auswählen
563: eval("?>\n".$code."\n <?php \n ");
Code: Alles auswählen
570: eval("?>\n".$code."\n<?php\n");
Code: Alles auswählen
563: eval("?>\n".$code."\n <?php \n );
Code: Alles auswählen
570: eval("?>\n".$code."\n<?php\n);
nein, kein fehler in der front_content.php
ich hab das code stück bei mir etwas geändet...
sprich ich habs jetzt getestet und das funktioniert bei mir...
die änderung meinerseits
$sess->register($user_id) -> $sess->register("user_id")
$sess->is_registered($logged_in) -> is_registered("logged_in")
ich hab das code stück bei mir etwas geändet...
sprich ich habs jetzt getestet und das funktioniert bei mir...
die änderung meinerseits
$sess->register($user_id) -> $sess->register("user_id")
$sess->is_registered($logged_in) -> is_registered("logged_in")
*** make your own tools (wishlist :: thx)