Probleme mit Sessionvariablen
Probleme mit Sessionvariablen
Hallo,
ich komme leider nicht wirklich mit den Sessionvariablen von contenido zurecht:
1. so wollte ich zunächst nicht mit der voreingestellten Sprache(1) starten sondern mit englisch(3) und leite den user um mittels:
<?
header("location: cms/front_content.php?changelang=3");
?>
das funktioniert aber leider nicht wirklich, da ich noch bis zu 2x reloaden muss bis ich beim anklicken der menues keine fehler des typs:
Fatal error: Could not display error page. Error to display was: 'No contenido session variable set. Probable error cause: Start article in this category is not set on-line.'
- die anscheinend daher kommen, dass die sessionvariablen noch nicht gesetzt sind.
2. Dann würde ich gern die von user gewählte sprache als cookie speichern, so dass dieser direkt mit der richtigen Sprache anfängt beim nächsten Besuch + eine zusätzliche variable setzen für den Bereich in dem er sich befindet. Gibt es eine möglichkeit dazu die sessionverwaltung von contenido zu nutzen, oder muss ich mir selbst entsprechende funktionen schrieben?
Vielen dank schon mal im Vorraus,
Stelli
P.S.: Mal was ganz anderes: vieleicht weiss jmd. wie ich dem IE abgewöhnen kann zwischen tabellen leerräume zu setzen (habe schon border="0" cellpadding="0" cellspacing="0" , aber das scheint nicht zu reichen). Zu sehen unter: http://195.145.6.234 zwischen dem oberen Bereich dem Menü und dem unteren Bereich... ALLE anderen Browser stellen die Seite richtig da...
ich komme leider nicht wirklich mit den Sessionvariablen von contenido zurecht:
1. so wollte ich zunächst nicht mit der voreingestellten Sprache(1) starten sondern mit englisch(3) und leite den user um mittels:
<?
header("location: cms/front_content.php?changelang=3");
?>
das funktioniert aber leider nicht wirklich, da ich noch bis zu 2x reloaden muss bis ich beim anklicken der menues keine fehler des typs:
Fatal error: Could not display error page. Error to display was: 'No contenido session variable set. Probable error cause: Start article in this category is not set on-line.'
- die anscheinend daher kommen, dass die sessionvariablen noch nicht gesetzt sind.
2. Dann würde ich gern die von user gewählte sprache als cookie speichern, so dass dieser direkt mit der richtigen Sprache anfängt beim nächsten Besuch + eine zusätzliche variable setzen für den Bereich in dem er sich befindet. Gibt es eine möglichkeit dazu die sessionverwaltung von contenido zu nutzen, oder muss ich mir selbst entsprechende funktionen schrieben?
Vielen dank schon mal im Vorraus,
Stelli
P.S.: Mal was ganz anderes: vieleicht weiss jmd. wie ich dem IE abgewöhnen kann zwischen tabellen leerräume zu setzen (habe schon border="0" cellpadding="0" cellspacing="0" , aber das scheint nicht zu reichen). Zu sehen unter: http://195.145.6.234 zwischen dem oberen Bereich dem Menü und dem unteren Bereich... ALLE anderen Browser stellen die Seite richtig da...
-
- Beiträge: 6284
- Registriert: Do 15. Mai 2003, 18:32
- Wohnort: Da findet ihr mich nie!
- Kontaktdaten:
für 1.: welche Contenido-Version?
für 2.: Entweder cookie oder session. Für session: $sess->register("variablenname"). Beim nächsten Aufruf deserialisiert Contenido die so registrierte Variable. Wo du das $sess->register hinbaust ist egal, solange es vor page_close kommt. Der Wert, der beim page_close aufruf in der Variable steht, wird benutzt - d.h. ein eindeutiger Variablenname ist pflicht.
für 2.: Entweder cookie oder session. Für session: $sess->register("variablenname"). Beim nächsten Aufruf deserialisiert Contenido die so registrierte Variable. Wo du das $sess->register hinbaust ist egal, solange es vor page_close kommt. Der Wert, der beim page_close aufruf in der Variable steht, wird benutzt - d.h. ein eindeutiger Variablenname ist pflicht.
1.) Version 4.4.4
zu 2.) die Seite soll 3 Bereiche haben, jeweils mit Inhalten für die entsprechenden Kunden des Mandanten, daher wäre es nett, wenn der jeweilige Kunde nach dem ersten Besuch dort wieder anfangen kann, wo er war, aber auch z.B. nach der Anmeldung auf seine Anfragen zugreifen kann - um dass zu verwirklichen brauche ich sowohl die session als auch cookies, oder?
THX a lot,
Stelli
zu 2.) die Seite soll 3 Bereiche haben, jeweils mit Inhalten für die entsprechenden Kunden des Mandanten, daher wäre es nett, wenn der jeweilige Kunde nach dem ersten Besuch dort wieder anfangen kann, wo er war, aber auch z.B. nach der Anmeldung auf seine Anfragen zugreifen kann - um dass zu verwirklichen brauche ich sowohl die session als auch cookies, oder?
THX a lot,
Stelli
3 startbereiche über sessionvariable
Hab's selbst rausgefunden - ziemlich easy
bei 3 bestimmten idcats wird die sessionvar geschrieben und wenn die seite zum ersten mal geladen wird, wird die idcat entsprechend gesetzt (in front_content.php):
// Initialize industry
if (!isset($industry)) { // neue Sessionvar
$sess->register("industry");
}
if (!isset($idcat)) {
header("location: front_content.php?client=$client&lang=$lang&parent=$parent&subid=$subid&idcat=$industry");
$idcat=$industry;
}
// Change industry
if (($idcat > 3) && ($idcat < 7)) {
$industry = $idcat;
}
bei 3 bestimmten idcats wird die sessionvar geschrieben und wenn die seite zum ersten mal geladen wird, wird die idcat entsprechend gesetzt (in front_content.php):
// Initialize industry
if (!isset($industry)) { // neue Sessionvar
$sess->register("industry");
}
if (!isset($idcat)) {
header("location: front_content.php?client=$client&lang=$lang&parent=$parent&subid=$subid&idcat=$industry");
$idcat=$industry;
}
// Change industry
if (($idcat > 3) && ($idcat < 7)) {
$industry = $idcat;
}
-
- Beiträge: 661
- Registriert: So 25. Jan 2004, 19:06
- Wohnort: Stuttgart-Bad Cannstatt
- Kontaktdaten:
@all:
mal ne grundsätzliche Frage - das funktioniert nur wenn man cookies akzeptiert, gel?
ich hab nämlich bei mir das prob, dass wenn ich cookies ablehne, ich zwar die startseite der entsprechenden sprache dann laden kann, aber wenn ich auf einen menüpunkt klicke, holt er sich den entsprechenden artikel aus der deutschen sprache (deutsch is ja default).
wenn ich cookies akzeptiere, funktioniert alles...
hat jemand das gleiche prob oder (wenn es denn wirklich von den cookies abhängen sollte) ne lösung, das ohne cookies zu verwirklichen?
thx Darth.
mal ne grundsätzliche Frage - das funktioniert nur wenn man cookies akzeptiert, gel?
ich hab nämlich bei mir das prob, dass wenn ich cookies ablehne, ich zwar die startseite der entsprechenden sprache dann laden kann, aber wenn ich auf einen menüpunkt klicke, holt er sich den entsprechenden artikel aus der deutschen sprache (deutsch is ja default).
wenn ich cookies akzeptiere, funktioniert alles...
hat jemand das gleiche prob oder (wenn es denn wirklich von den cookies abhängen sollte) ne lösung, das ohne cookies zu verwirklichen?
thx Darth.
wenn du cookies auschaltest, muss die übertragung der session-id über die url erfolgen. eigentlich sollte die entsprechende funktion von contenido das bereits berücksichtigen und es richtig machen.
aitsu.org :: schnell - flexibel - komfortabel :: Version 2.2.0 (since June 22, 2011) (jetzt mit dual license GPL/kommerziell)
-
- Beiträge: 661
- Registriert: So 25. Jan 2004, 19:06
- Wohnort: Stuttgart-Bad Cannstatt
- Kontaktdaten:
also sehr viel weiss ich auch nicht über die contenido-innereien. aber ich habe angenommen (allein schon aufgrund der variablenbezeichnung), dass ich aus diesem grund die funtkion...
verwenden müsse. sonst könnte ich den link ja einfach direkt mit einem echo ausgeben!
Code: Alles auswählen
$link = $sess->url("front_content.php?bla bla bla");
aitsu.org :: schnell - flexibel - komfortabel :: Version 2.2.0 (since June 22, 2011) (jetzt mit dual license GPL/kommerziell)