Variable von einem PHP- Script in das andere überliefern

  • Hallo, ich habe eine Verarbeitung geschrieben.

    Wenn jemand seinen Namen angibt, soll im Header zu sehen sein:

    Hallo Helmut! (z. B. Helmut für $name)

    Da ich aber mit "header" umleite, geht die Variable mit dem Inhalt verloren.

    Hinweis: Ich kann beide Scripte nicht nur in eines mit einem "echo 'Hallo $name!'" schreiben.

    Weiß jemand Rat?

    MfG

    [C]arp[h]unter

    Wer ist dieser LAN und warum macht er so viele Parties?
    Internet, gibt's den Scheiß immer noch?
    Warum passieren mir nur Sachen, die sonst nur dummen Leuten passieren? :: NEIN!

  • Sers, schau dir Session-Variable an.
    Nachdem der Benutzer seinen Namen angegeben hast speicherst du ihn in einer Session-Variable.
    Das sieht ungefähr so aus:

    PHP
    $_SESSION['name'] = $derVomBenutzerEingegebenName;


    Jetzt ist die Variable für die ganze Session gespeichert, also bis der Benutzer den Browser schließt. Soll er darüber hinaus noch gespeichert sein musst du zusätzlich zu Cookies greifen.
    Ich denke, dass ist was du suchst.

    Greetz
    CroweHammer

  • Jo, genau das hab ich gemeint.

    Nur leider funzt es nicht.

    Wie soll ich das verwenden?

    Die Variable $benutzer direkt reinspeichern oder $_SESSION['benutzername'] für $_POST['bentzername'] einsetzen?

    Thx, Greetz zurück

    [C]arp[h]unter!

    Wer ist dieser LAN und warum macht er so viele Parties?
    Internet, gibt's den Scheiß immer noch?
    Warum passieren mir nur Sachen, die sonst nur dummen Leuten passieren? :: NEIN!

  • Nur schön, dass man immer so schlaue, nette Gäste mit im Forum hat!:mad:!!

    Wer ist dieser LAN und warum macht er so viele Parties?
    Internet, gibt's den Scheiß immer noch?
    Warum passieren mir nur Sachen, die sonst nur dummen Leuten passieren? :: NEIN!

  • Würdest du bitte deine bisherigen Postings in diesem Thread mal durchlesen und uns dann verraten, was man damit anfangen soll? Bedenke, wir kennen deinen Quellcode nicht und wissen somit nicht, was du da zusammengestrickt hast.

  • Ergänzung: session_start muss auch vor jeglicher Ausgabe stehen, sprich vor jedem HTML-Code, echo, print, etc.

  • Ich gebs auf!

    SESSIONS sind einfach nichts für mich!

    Danke an alle, die "mitgeraten" haben.

    MfG

    [C]arp[h]unter

    Wer ist dieser LAN und warum macht er so viele Parties?
    Internet, gibt's den Scheiß immer noch?
    Warum passieren mir nur Sachen, die sonst nur dummen Leuten passieren? :: NEIN!

  • also wenn sessions nichts für dich sind, sollteste das programmieren im webbereich ganz sein lassen, denn sessions sind extrem wichtig dabei.
    wo is denn dein problem? du haust session_start() in jedem dokument also jeder php-datei ganz am anfang rein, schreibst werte in die sessin mit

    PHP
    $_SESSION['user_logged_in'] = true;

    und

    PHP
    $_SESSION['user_breakfast'] = 'brot';

    und

    PHP
    $_SESSION['drink'] = 'wasser';

    die ausgabe geht dann so:

    PHP
    if($_SESSION['user_logged_in']){
    echo "der benutzer hat ".$_SESSION['user_breakfast']." und ".$_SESSION['drink']." gehabt"
    }

    wie schon bereits erwähnt wurde die session is nix, als nen assoziatives array und mit nem array sollteste ja umgehen können

    das ergebnis kommt dann nur wenn der user eingeloggt ist und gibt den satz hier aus:

    der benutzer hat brot und wasser gehabt

  • Zitat von [C]arp[h]unter;385773


    SESSIONS sind einfach nichts für mich!


    Was verstehst du daran nicht?

    PHP
    <?php
        // script1.php
        session_start();
    
        echo "Ich schreibe 'Hallo Welt' in die Session";
    
        $_SESSION['wert'] = 'Hallo Welt';
    
        echo '<a href="script2.php">Weiter gehts mit Script</a>';
    ?>
    PHP
    <?php
        // script2.php
        session_start();
    
        if (isset($_SESSION['wert']))
          echo 'In $_SESSION['wert'] steht: ' . $_SESSION['wert'];
        else
          echo "Schade, da ist was schiefgelaufen";
    ?>


    Dieses extrem simple Beispiel habe ich dir schon mal gepostet. Wenn du das nicht verstehst, dann gebe ich synaptic recht, hör' mit dem programmieren besser auf.

  • Des funzt immer noch nicht! Ich geb euch etz mal meine Quelltexte:

    login.php:

    index_loggedin.php:

    header_loggedin:

    Ich checks etz immer noch net.

    Ich hab doch alles gemacht, was ihr gesagt habt :(

    MfG

    Wer ist dieser LAN und warum macht er so viele Parties?
    Internet, gibt's den Scheiß immer noch?
    Warum passieren mir nur Sachen, die sonst nur dummen Leuten passieren? :: NEIN!

  • In Login- PHP in Zeile 5: $_SESSION['benutzername'] = $_POST['benutzername'];

    Warum??

    Stimmt das nicht?

    Wer ist dieser LAN und warum macht er so viele Parties?
    Internet, gibt's den Scheiß immer noch?
    Warum passieren mir nur Sachen, die sonst nur dummen Leuten passieren? :: NEIN!

  • Mensch Meier, darauf habe ich dich schon hingewiesen:

    Richtig debuggen
    1. Man bemerkt, dass ein Skript nicht das tut, was es soll.
    2. Man schreibt an den Anfang des Scriptes die Zeile: error_reporting(E_ALL); und ini_set("display_errors", true);
    3. Man versucht, die Stelle die daran Schuld sein kann, schonmal einzugrenzen. Falls dies nicht geht, wird zunächst das komplette Skript als fehlerhaft angesehen.
    4. An markanten Stellen im Skript lässt man sich wichtige Variableninhalte ausgeben und ggf. auch in bedingten Anweisungen eine kurze Ausgabe machen, um zu überprüfen, welche Bedingung ausgeführt wurde (oder auch nicht).
    5. Schritt 3 wird so lange wiederholt, bis Unstimmigkeiten im Skript auffallen
    6. Damit hat man das Problem (Unstimmigkeit) gefunden und kann versuchen diese zu beheben. Hierzu dienen dann die PHP-Dokumentation und andere Quellen als Ratgeber.
    7. Lässt sich das konkrete Problem trotzdem nicht beheben, kann man in Foren um Rat fragen.
    8. Das Programm läuft und man kann die Debug-Ausgaben wieder entfernen.

    Jetzt bemühe dich mal selber und warte nicht darauf, dass jemand dein Script nach Fehlern durchsucht. Das kann doch nicht so schwer sein, sich alle relevanten Variablen sich per echo mal anzigen zu lassen.