kostenloser Webspace werbefrei: lima-city


Session Variablen weitergeben

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    limabone

    Kostenloser Webspace von limabone

    limabone hat kostenlosen Webspace.

    Hallo,
    ich sags gleich, ich bin absoluter Anfänger auf dem Gebiet Sessions. Ich habs grade mal hingegriegt, dass ich die Variable $_SESSION['user'] setze und auslese. Aber klicke ich auf nen Link ist die Variable irgendwie weg... Mach ich was falsch oder passt das so? Und wie gebe ich jetzt die Variable weiter ohne gleich in der Andresszeile ?user=name&sessid=932dksjf3j4k usw oder riesige <input type="hidden">-Felder zu machen?

    MfG
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. In jeder Datei, in der die Session verfügbar sein soll, muss vor der ersten Außgabe und vor der ersten Verwendung einer Session-Variable die Funktion
    session_start();
    ausgeführt werden. Dann sind alle Session-Variablen im Session-Array $_SESSION verfügbar.
  4. Autor dieses Themas

    limabone

    Kostenloser Webspace von limabone

    limabone hat kostenlosen Webspace.

    Hmmm.. Komisch.
    Ich hab bei Jeder Seite session_start() stehen, nur bei den funktionsseiten halt nicht. Muss ich session_start() auch dort einfügen?
  5. limabone schrieb:
    Ich hab bei Jeder Seite session_start() stehen, nur bei den funktionsseiten halt nicht. Muss ich session_start() auch dort einfügen?
    Schau mal auf die ersten 3 Wörter in meinem Beitrag: "In jeder Datei" ;-)
  6. Du must session_start() machen bevor der header gesendet wurden.
    Heißt:Mache einfach in jeden deiner scripte:
    <?php session_start(); ?>

    nach ganz oben

    mfg matthimeo
  7. Autor dieses Themas

    limabone

    Kostenloser Webspace von limabone

    limabone hat kostenlosen Webspace.

    Voll Komisch.
    Meine Seite besteht so ca aus 1 File welches 10 andere includet...
    Jedenfalls schreib ich auf dem einen (dem Hauptfile) den string session_start();
    und auf den anderen zb menubar.php will ich überprüfen ob $_SESSION['user'] leer ist. Und in diesem File ist es auch leer. Aber beim Hauptfile hab ich echo $_SESSION['user'] gemacht und da klappts...

    Verstanden oder hab ich zu kompliziert formuliert?

    MfG Limabone
  8. limabone schrieb: Voll Komisch.
    Meine Seite besteht so ca aus 1 File welches 10 andere includet...
    Jedenfalls schreib ich auf dem einen (dem Hauptfile) den string session_start();
    und auf den anderen zb menubar.php will ich überprüfen ob $_SESSION['user'] leer ist. Und in diesem File ist es auch leer. Aber beim Hauptfile hab ich echo $_SESSION['user'] gemacht und da klappts...

    Verstanden oder hab ich zu kompliziert formuliert?

    MfG Limabone

    ??? ne ich habe es nicht wirklich verstanden.
    Mach aber einfach in deiner Hauptscript bevor du irgendwas includest session_start() rein.
    Wenns dann nicht klappt dann bau das in allen deinen scripten an.
    Weil dann aber der header modyfied wurde musste dann überall @session_start() schreiben,
    aber ahctung dann werden keine Fehler mehr ausgegeben.

    mfg matthimeo
  9. a************n

    das ganze klingt echt strange... aber mann muss nicht in jeder datei den session start aufruf drin haben.... sondern nur in der die auch aufgerufen wird...
    klienes bsp:
    index.php:
    <?php
    session_start();
    include 'a_file.php';
    ?>

    a_file.php:
    <?php 
    var_dump($_SESSION);
    ?>


    probier auf jedenfall mal folgendens und sag mal was dabei rauskommt:
    var_dump($_SESSION);

    mfg andre
  10. Autor dieses Themas

    limabone

    Kostenloser Webspace von limabone

    limabone hat kostenlosen Webspace.

    ich hab den Versuch mit
    <?php
    session_start();
    $_SESSION['user'] = 'test';
    include('a_file.php');
    ?>
    
    und bei a_file.php
    
    <?php
    var_dump($_SESSION['user']
    ?>
    Dabei ist array(1) { ["user"]=> string(4) "test" } rausgekommen, bei
    ]<?php
    session_start();
    include('a_file.php');
    
    und
    
    <?php var_dump($_SESSION) ?>
    ist array(0) { } rausgekommen...

    Ich schätze mal das heißt, dass es funktioniert...

  11. a************n

    limabone schrieb: ich hab den Versuch mit
    <?php
    session_start();
    $_SESSION['user'] = 'test';
    include('a_file.php');
    ?>
    
    und bei a_file.php
    
    <?php
    var_dump($_SESSION['user']
    ?>
    Dabei ist array(1) { ["user"]=> string(4) "test" } rausgekommen, bei


    so sollte es sein

    limabone schrieb: ich hab den Versuch mit
    [code]<?php
    session_start();
    include('a_file.php');
    
    und
    
    <?php var_dump($_SESSION) ?>
    ist array(0) { } rausgekommen...

    Ich schätze mal das heißt, dass es funktioniert...



    da kann nix im array sein deswegen kommt auch array(0) { } dh. keine session, und auch so sollte es sein
    ==> dh. es funktioniert

    mfg andre
  12. Benutzt du als Session Cookie oder über URL???
    Dynamisch erzeugte links bekommen die Session nicht übergeben.
    bei session_start() darf keine Ausgabe davor stehen und Achte bei $_SESSION['blabla'] auf GROß- und klein - Schreibung und die Anführungszeichen
  13. Dazu hab ich auch mal eine Frage. Bei mir sieht es so aus:

    <div id="intro" class="<?php session_start(); if ($_SESSION['visited']) { echo 'hide'; } else { echo 'intro'; } $_SESSION['visited'] = TRUE; ?>">
    bla bla
    </div>

    hide = versteckt
    intro = nicht versteckt

    Beim ersten Seitenaufruf wird also das DIV angezeigt, bei jedem weiteren Aufruf nicht, da die Sessio ja gestartet wurde. Das klappt wunderbar, allerdings nicht wenn jemand Cookies deaktiviert hat. Warum wird da ein Cookie angelegt? Dachte Sessions kommt ohne Cookies klar? Gibts da ne Möglichkeit ohne Cookies?
  14. a************n

    melonenfans schrieb:
    <div id="intro" class="<?php session_start(); if ($_SESSION['visited']) { echo 'hide'; } else { echo 'intro'; } $_SESSION['visited'] = TRUE; ?>">
    bla bla
    </div>



    wegen der cookies kann ich dir nciht helfen, aber session start muss als erstes komen sovil dazu...

    <?php session_start(); ?>
    <div id="intro" class="<?phpif ($_SESSION['visited']) { echo 'hide'; } else { echo 'intro'; } $_SESSION['visited'] = TRUE; ?>">
    bla bla
    </div>



    mfg andre
  15. Das ist eigentlich egal, so wie ichs geschrieben habe funktioniert es ja wie gesagt. ;-)

    Das Problem scheint mir diese Servereinstellung zu sein die ich via phpinfo() rausgefunden habe?

    session.use_cookies = on

    Scheint also nicht möglich zu sein, da bei normalen Sessions immer ein Cookie angelegt wird oder?
  16. a************n

    probier mal
    <?php
    ini_set('session.use_cookies',false);
    session_start();
    //code
    ?>


    aber eigentlich musst du mal nach session.use_only_cookies gucken.. und ggf ändern

    mgf andre
  17. Ich glaube kaum das Lima-City Änderungen über Scripte oder .htaccess zulässt oder?
  18. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!