[OOP] session setzen beim ersten aufruf

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [OOP] session setzen beim ersten aufruf

    Hallo liebe Leute!

    Ich habe ein Problem. Für einen Kunden habe ich eine Website mit dem Framework CodeIgniter
    umgesetzt. Ich hoffe Ihr kennt euch damit aus.

    Das Problem:

    Die Website soll multilingual aufgebaut sein, sprich Deutsch und Englisch. Die ganze Website ist auf einer Datenbank gestützt, heisst, der ganze Content kommt da raus. Die aktuelle Sprache liegt in einer Session-Variable.

    Soweit, sogut. Auch an sich kein Problem. Nur leider wird beim ersten Aufruf der Website die Session aus irgend einem Grund nicht gestartet. Wenn man dann aber neulädt wird die Session gesetzt und alles funktioniert prima. Allerdings ist das schon doof wenn man als erstes nur eine Fehlermeldung sieht.

    Ich habe einen HauptController namens site.php (gekürzt)



    PHP-Code:
    class Site extends Controller {

        function 
    site()
        {
            
    parent::Controller();    
            
            
    $this->load->model('content_model''content');
            
    $this->load->model('product_model''product');
            
    $this->load->model('sub_navigation_model''sub_navigation');
            
            
    $this->load->helper('text');

            
    $this->core->initialize(); //mit Hilfe dieser Library initialisere ich (eigtl) die session

            
    $this->global_lang();

        }

    Hier die Library Core.php

    PHP-Code:
    class Core {

        function 
    initialize() 
        {
            
    $this->CI =& get_instance();

            
    //wenn keine session 'language' existiert, setze sie standardmäßig auf deutsch
            
    if ($this->CI->session->userdata('language') === FALSE) {
                
    $data = array('language' => 'german');
                
    $this->CI->session->set_userdata($data);        
            }
        
            
    define('LANGUAGE'$this->CI->session->userdata('language'));
            
    define('IMAGES'base_url().'assets/images/'.LANGUAGE.'/');
            
    define('STORAGE'base_url().'storage/');
                                
        }


    Wenn Ihr noch was braucht, sagt bescheid ...

    Ich hoffe Ihr könnt mir helfen und danke schonmal im voraus!!
    sad

  • #2
    an welcher stelle erfolgt denn der session_start() ?

    Kommentar


    • #3
      die erfolgt in der klasse core, funktion initialize()

      diese zeile tut das: $this->CI->session->set_userdata($data);

      CodeIgniter hat bessere Funktionen als PHP sie bietet
      sad

      Kommentar


      • #4
        Na wie wäre es mal mit debuggen warum session_start nicht ausgeführt wird?
        error_reporting(E_ALL);
        echo "hier";
        sind hilfreiche Dinge...

        Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

        bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
        Wie man Fragen richtig stellt

        Kommentar


        • #5
          hat sich erledigt... *CLOSE* IT!
          sad

          Kommentar


          • #6
            wäre schön wenn du uns nicht dumm sterben läßt!

            und was sollte der spruch?

            CodeIgniter hat bessere Funktionen als PHP sie bietet

            Kommentar


            • #7
              Die Session werden vom Framework selbst verwaltet, unabhängig von der PHP-Lösung! http://codeigniter.com/wiki/Alternate_Session_class/

              CodeIgniter hat bessere Funktionen als PHP sie bietet
              Ich frage mich nur, wieso dieser Wurstcode besser sein soll??

              Ich habe schon so einiges an Frameworks gesehen, aber wirklich überzeugt bin ich noch von keinem!

              Kommentar


              • #8
                Es ist banane ein Framework mit einer Sprache vergleichen zu wollen.

                Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

                bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
                Wie man Fragen richtig stellt

                Kommentar

                Lädt...
                X