$sess->register oder $_SESSION

Gesperrt
Chopper
Beiträge: 108
Registriert: Mi 9. Feb 2005, 17:09
Wohnort: Berlin
Kontaktdaten:

$sess->register oder $_SESSION

Beitrag von Chopper »

Hi,

also ich habe hier im Forum und Internet nichts gefunden, daher frage ich mal hier nach.

Ich bräuchte eine Session Variable die ich innerhalb von Contenido benutzten kann und auch in separaten Php scripts die daneben liegen.
Nutze ich $_SESSION aus Contenido kriege ich die Meldung "cannot send session cookie - headers already sent by "
Versuche ich auf mittels $sess->register() erzeugte Variablen zuzugreifen sind sie leer im normalen PHP Script. (Es scheint ja das Contenido seine Sessions selbst verwaltet)

Gruß
Chopper
BagHira
Beiträge: 486
Registriert: Do 23. Feb 2006, 19:42
Wohnort: Tirschenreuth / Oberpfalz / Bayern
Kontaktdaten:

Re: $sess->register oder $_SESSION

Beitrag von BagHira »

Hallo Chopper,

Xmurrix hat mir damals hiermit geholfen, vielleicht hilft dir das weiter.
http://forum.contenido.org/viewtopic.ph ... ON#p132847
Gruß Holger

Träumer haben vielleicht keinen Plan, aber Realisten haben keine Vision.

Handgewickelte Glasperlen Facebook Google+
Chopper
Beiträge: 108
Registriert: Mi 9. Feb 2005, 17:09
Wohnort: Berlin
Kontaktdaten:

Re: $sess->register oder $_SESSION

Beitrag von Chopper »

Ja, den hatte ich auch schon gefunden, leider beschreibt er auch nur die beiden Anfändungsfälle separat. Wenn ich im contenido teil $sess->register benutze funktioniert das einwandfrei, aber habe ein extra pdf.php die mir nen download der session infos als pdf machen soll.
Oldperl
Beiträge: 4316
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Hat sich bedankt: 6 Mal
Danksagung erhalten: 4 Mal
Kontaktdaten:

Re: $sess->register oder $_SESSION

Beitrag von Oldperl »

Hallo Chopper,
Chopper hat geschrieben:Ja, den hatte ich auch schon gefunden, leider beschreibt er auch nur die beiden Anfändungsfälle separat. Wenn ich im contenido teil $sess->register benutze funktioniert das einwandfrei, aber habe ein extra pdf.php die mir nen download der session infos als pdf machen soll.
Du kannst in deine "extra" Datei auch die contenido/includes/startup einbinden und dann dort auch die Contenido Session starten. Oder du machst deine eigen Session.
Vorteil der Einbindung, dir stehen alle Abhängigkeiten von Contenido zur Verfügung, so dass du z.B. Userrechte, FE-Anmeldung, etc. abfragen kannst.

Gruß aus Franken

Ortwin
ConLite 3.0.0-dev, alternatives und stabiles Update von Contenido 4.8.x unter PHP 8.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
Chopper
Beiträge: 108
Registriert: Mi 9. Feb 2005, 17:09
Wohnort: Berlin
Kontaktdaten:

Re: $sess->register oder $_SESSION

Beitrag von Chopper »

Ja das wäre gut.

Mit einbinden meinst du include oder ? Habe es mit relativen und vollem Pfad versucht

Code: Alles auswählen

require("../contenido/includes/startup.php");
er hat mir auch keinen Error, aber wenn ich auf $sess->register nun zugreifen will sagt er

Call to a member function register() on a non-object in line 4

Ich habe in die startup auch mal ein echo an anfang und ende gepackt, die geben korrekt aus.
Oldperl
Beiträge: 4316
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Hat sich bedankt: 6 Mal
Danksagung erhalten: 4 Mal
Kontaktdaten:

Re: $sess->register oder $_SESSION

Beitrag von Oldperl »

Hallo Chopper,

du must die PHPLib noch initialisieren mit page_open(), schau mal hier

Code: Alles auswählen

<?php
// we need to set constant
if (!defined("CON_FRAMEWORK")) {
    define("CON_FRAMEWORK", true);
}

$contenido_path = '';
# include the config file of the frontend to init the Client and Language Id
include_once ("config.php");

// include security class and check request variables
include_once ($contenido_path . 'classes/class.security.php');
Contenido_Security::checkRequests();

# Contenido startup process
include_once ($contenido_path."includes/startup.php");

// start session etc., see phplib for more info
page_open(array ('sess' => 'Contenido_Frontend_Session', 'auth' => 'Contenido_Frontend_Challenge_Crypt_Auth', 'perm' => 'Contenido_Perm'));

/***
 *
 *
 *  here is your code, all contenido variables and objects like $sess, $auth or $db are available now
 *  
 *
 ***/   

// phplib cleanup
page_close();
?>
Die Datei muss dafür im Mandantenverzeichnis, in der Regel cms/, liegen.

Gruß aus Franken

Ortwin
ConLite 3.0.0-dev, alternatives und stabiles Update von Contenido 4.8.x unter PHP 8.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
Chopper
Beiträge: 108
Registriert: Mi 9. Feb 2005, 17:09
Wohnort: Berlin
Kontaktdaten:

Re: $sess->register oder $_SESSION

Beitrag von Chopper »

Ah danke, es funktioniert nun.

Das einzige war es existiert keine /contenido/classes/class.security.php aber ohne den Eintrag geht es.

Ggf. könnte ja jemand das in dem entsprechenden wiki Eintrag hier noch hinzufügen, wie man an die Session in eigenen Dateien kommen würde http://www.contenido-wiki.org/wiki/inde ... le=Session
Gesperrt