sessionverwaltung



  • Hi ich hab schon wieder probleme mit PHP folgendes funktioniert nicht

    //index.php
    <? session_start();
       session_register("name");
       $name = "huber";
    ?>
    <a href="weiter.php">weiter</a>
    
    //weiter.php
    
    <? session.start();
       session_register("name");
       echo $name;
    

    Hab ich so aus nem Buch die option session_use_cookies ist auf on(bzw. 1) gestellt. Ich hab im Web noch n paar andere Beispiele gefunden die auch alle net funktioniert haben weder bei mir noch auf meinem Webserver und es is jetzt 5:26 und ich hab die schnauze voll. Kann mir bitte jemand sagen was ich da falsch mach.

    MFG eiskalt



  • abgesehen davon das man session_register nicht mehr nimmt kannst du es in der weiter.php weglassen.

    session_start();
    name="huber";name = "huber"; _SESSION[name] = $name;

    session_start();
    $name = $_SESSION[name];



  • Unix-Tom schrieb:

    session_start();
    name="huber";name = "huber"; _SESSION[name] = $name;

    session_start();
    $name = $_SESSION[name];

    Warum so kompliziert? 😉

    session_start();
    $_SESSION["name"] = "huber"; //kann auch ne var sein, die du da einfach zuweist, wie oben
    
    //Ausgabe in anderer Datei...
    
    session_start();
    
    echo $_SESSION["name"];
    

    Liebe grüsse 🙂



  • eiskalt schrieb:

    Hi ich hab schon wieder probleme mit PHP folgendes funktioniert nicht

    //index.php
    <? session_start();
       session_register("name");
       $name = "huber";
    ?>
    <a href="weiter.php">weiter</a>
    
    //weiter.php
    
    <? session.start();
       session_register("name");
       echo $name;
    

    Ich weiß nicht, was session_register macht. Ich nehme an ist wrapper für $_SESSION['name']=""; oder sowas in der Art. wenn du in weiter.php 'name' wieder registrierst, dann wird sie vielleicht gelöscht.



  • mrchat schrieb:

    Warum so kompliziert? 😉

    Weil es Leute gibt die es so eifacher verstehen. Meist will man mit dem Inhalt weiterarbeuten.


  • Mod

    Unix-Tom schrieb:

    $_SESSION[name] = $name;

    Achtung, du hast die ' um name herum vergessen.

    So wie es jetzt da steht liest es PHP so:

    Ah, name ist eine Konstante (define()). Also werden die Konstanten durchsucht. Vermutlich wird nichts gefunden - dann gibt es ein 'fallback' (eine dieser 'egal was der Programmierer macht, der Interpreter versucht es zu verstehen) auf name == 'name'.

    Es ist also gefährlich $foo[name] statt $foo['name'] zu schreiben - denn ein define('name', $username); ist nicht so unwahrscheinlich und würde den Code brechen. (Mal abgesehen davon, dass $foo[name] langsamer ist als $foo['name'])


Anmelden zum Antworten