Sessions - Weitergabe

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

  • Sessions - Weitergabe

    Guten Morgen

    Sitze seit geraumer Zeit an einem kleinen Registrierungs/Anmeldeskrip und hänge bei der "Sessionübergabe"
    an ein anderes Dokument fest.

    Hier einmal alle inkludierten Dateien:

    index.php:
    PHP-Code:
    <?php
    error_reporting
    (E_ALL);
    ini_set('display_errors'1);
    session_start ();
    ?>
    <html>
          <head>
                <title>Index</title>
                <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
          </head>
      
                 <body>
                       <center><form action="login.php" method="post"> //Übergabe der Werte an die login.php
    <table>
    <tr>
    <td>
        <fieldset>
            <legend>Anmelden:</legend>
            <label>Benutzername: <input type="text" name="benutzername" /></label>
            <label>Passwort: <input type="password" name="passwort" /></label>
            <input type="submit" name="formaction" value="Einloggen" />
        </fieldset>
    </td>
    </tr>
    </table>
    </form></center>
                      <center><form action="register.php" method="post">//Übergabe der Werte an die register.php
    <table>
    <tr>
    <td>
        <fieldset>
            <legend>Registrieren:</legend>
            <label>Benutzername: <input type="text" name="benutzername" /></label>
            <label>E-Mail: <input type="text" name="email" /></label>
            <label>Passwort: <input type="password" name="passwort" /></label>
            <input type="submit" name="formaction" value="Registrieren" />
        </fieldset>
    </tr>
    </td>
    </table>
    </form></center>
                </body>
    </html>
                </body>
    </html>
    dbconnect.php ist irrelevant, da die Datenbankverbindung in jedem Fall zustande kommt
    register.php ist auch irrelevant, da dort keine Session benötigt wird.

    logion.php: (Habe einmal alle Datenbankanweisungen zur verbesserten Übersichtlichkeit entfernt,
    desweiteren gehenw ir mal davon aus, dass die Daten korrekt sind, und man auf die intern.php weitergeleitet wird)
    PHP-Code:
    <?php
    error_reporting
    (E_ALL);
    ini_set('display_errors'1);
    session_start();
    include(
    'dbconnect.php');

    //$nachricht= "Die eingegebenen Daten sind korrekt. Du wirst nun weitergeleitet";
      
    $_SESSION['benutzername'] = $row[0]; //ist definitiv der benötigte Name
      //print_r($_SESSION['benutzername']);
      
    header ("Location: intern.php");

    ?>
    intern.php:
    PHP-Code:
    <?php
    error_reporting
    (E_ALL);
    ini_set('display_errors'1);
    include(
    'dbconnect.php');
    session_start ();  
    if (!isset (
    $_SESSION['benutzername']))  
    {
    print 
    "Session ungültig";
      exit;
    }
    else {  echo 
    "Hallo ".$_SESSION['benutzername']." ; 
    };
    ?>

    Mein Problem besteht darin, dass der gewünschte Inhalt der $_SESSION-Array zwar bis zum Ende der Datei login.php
    an seinem soll-Platz ist, in der intern.php wird die Existenz jedoch bestritten:

    PHP-Code:
    NoticeUndefined variable_SESSION in intern.php on line 14 
    Ich würde mich freuen, wenn Ihr einem Anfänger wie mir ein bisschen bei der Fehleranalyse/-beseitigung helfen würdet


    Gruß
    Zuletzt geändert von derhammerdolle; 30.01.2011, 08:43.

  • #2
    Notice: Undefined variable: _SESSION in intern.php on line 14
    Da fehlt sicherlich ein session_start()
    Wir werden alle sterben

    Kommentar


    • #3
      Hallo,

      erst einmal brichst du bitte den Code auf maximal 100 Zeichen um, dann erzählst du uns bitte, welche davon diese intern.php sein soll, denn keine davon hat in Zeile 14 irgendetwas von $_SESSION stehen. Dann überprüfst du bitte, ob session_start vor dem Zugriff auf $_SESSION bereits aufgerufen wurde (include-Reihenfolge). Falls dann noch Probleme auftreten, wäre es sinnvoll die Dateinamen dazuzuschreiben, denn so wird man daraus nicht schlau.

      BTW: Wir helfen ja gerne, aber einfach den gesamten Quelltext hinwerfen und uns den Fehler suchen lassen, läuft hier nicht

      Gruß,

      Amica
      [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
      Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
      Super, danke!
      [/COLOR]

      Kommentar


      • #4
        <center> ist veraltet und sollte nicht mehr verwendet werden.

        Warum missbrauchst du Tabellen fürs Layout?

        Kommentar


        • #5
          Erst einmal vielen Dank für Eure Antworten, ich habe mal versucht die für mein Problem relevanten Codesegmente der jeweilig ineinander verzweigten Dateien in den Dateien zu lassen und das irrelevante erst einmal wegzulassen (siehe erster Beitrag

          Zitat von h3ll Beitrag anzeigen
          <center> ist veraltet und sollte nicht mehr verwendet werden.

          Warum missbrauchst du Tabellen fürs Layout?
          Hatte erst einmal keinen Wert auf ein anständiges Layout gelegt, daher etwas geschrieben, dass mir grad in den Sinn kam.

          Zitat von combie Beitrag anzeigen
          Da fehlt sicherlich ein session_start()
          Ist vorhanden

          Zitat von AmicaNoctis Beitrag anzeigen
          Hallo,

          erst einmal brichst du bitte den Code auf maximal 100 Zeichen um, dann erzählst du uns bitte, welche davon diese intern.php sein soll, denn keine davon hat in Zeile 14 irgendetwas von $_SESSION stehen. Dann überprüfst du bitte, ob session_start vor dem Zugriff auf $_SESSION bereits aufgerufen wurde (include-Reihenfolge). Falls dann noch Probleme auftreten, wäre es sinnvoll die Dateinamen dazuzuschreiben, denn so wird man daraus nicht schlau.

          BTW: Wir helfen ja gerne, aber einfach den gesamten Quelltext hinwerfen und uns den Fehler suchen lassen, läuft hier nicht

          Gruß,

          Amica
          okay, hat sich alles aufgeklärt , berichtigter Code s. oben



          Danke!
          Zuletzt geändert von derhammerdolle; 30.01.2011, 09:05.

          Kommentar

          Lädt...
          X