Ich bin am verrückt werden - Session und neue Webseite

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

  • Ich bin am verrückt werden - Session und neue Webseite

    Hallo liebe Community,

    ich bin ein blutiger Anfänger, der seit geraumer Zeit mit PHP "experimentiert".
    Eigentlich bin ich auf meine Leistung bis jetzt sehr stolz, langsam aber sicher zweifele ich aber auch an mir, ich habe nachfolgenden Code auf Seite Nr. 1 place.php

    Code:
    <?php
    session_start(); // Starte die Sitzung
    $con = mysqli_connect("localhost", "root", "", "vmaxdbweb");
    $res = mysqli_query($con, "SELECT * FROM tblplatz");
    // Tabellenbeginn
    echo "<table class='tbl'>";
    // Überschrift
    echo "<th>ID</th> <th>Bezeichung</th> <th>Code</th>";
    echo "<th>Notizen & Beurteilung</th> <th>Geodaten</th> <th>Details</th>";
    $lf = 1;
    while ($dsatz = mysqli_fetch_assoc($res))
    {
    // Speichere die Daten in der Sitzung mit dem Schlüssel 'pla_id'
    $_SESSION["detail"] = $dsatz["pla_id"];
    echo "<tr>";
    echo "<td>" . $dsatz["pla_id"] . "</td>";
    echo "<td>" . $dsatz["pla_bezeichnung"] . "</td>";
    echo "<td>" . $dsatz["pla_code"] . "</td>";
    echo "<td>" . $dsatz["pla_notiz_beurteilung"] . "</td>";
    echo "<td>" . $dsatz["pla_geodaten"] . "</td>";
    echo "<td><a href='content/placedetail.php'>Details</a></td>";
    $lf = $lf + 1;
    }
    // Tabellenende
    echo "</tabelle>";
    mysqli_close($con);
    
    ?>
    <table>
    </table>
    ​
    ​
    auf der Seite 2 placedetail.php habe ich diesen Code

    Code:
    <?php
    session_start();
    // Hole den Wert der `pla_bezeichnung`-Spalte aus der Sitzung
    $pla_bezeichnung = $_SESSION["detail"];
    // Zeige die Details des jeweiligen Platzes an
    echo "Der Platz heißt " . $pla_bezeichnung;
    ?>​
    Es wird auch ein Wert übergeben, jedoch egal welchen Link ich klicke in der Tabelle, immer nur einen Wert des letzten Datensatzes in der Tabelle. Drehe langsam aber sicher durch.

    Würde mich freuen, wenn mir jemand helfen könnte. Vielen Dank!

  • #2
    immer nur einen Wert des letzten Datensatzes in der Tabelle
    Kein Wunder, denn hier
    Code:
    $_SESSION["detail"] = $dsatz["pla_id"];
    überschreibst du die Session-Variable in der Schleife, also bleibt nur der letzte Eintrag.

    Kommentar


    • #3
      Im gleichen Moment habe ich dies auch bemerkt, überlege gerade wie ich diesen "Fehler" beheben kann.

      Kommentar


      • #4
        Du möchtest das gar nicht in der session speichern
        Die session ist vorwiegend dazu da, einen zustand zwischen zwei seitenaufrufen wieder herzustellen. Dabei geht es um den zustand des nutzers wie etwa die frage, ob er eingeloggt ist.

        Du weißt zu diesem moment ja noch gar nicht, auf welchen link der nutzer wohl klicken wird. Das erfährst du erst beim nächsten seitenaufruf, nachdem er geklickt hat. Die session wird das also nicht wissen.

        einen wert abhângig vom link an die nâchste seite zu übergeben geht mit parametern im link selber.

        href='content/placedetail.php?plaid=" . $dsatz["pla_id"] . usw...

        im nächsen script kannst du dann mittels $_GET['plaid'] auf den so übergeben wert zugreifen.

        Kommentar

        Lädt...
        X