Inhalt einer Datenbank als Link auf neuer Seite darstellen

  • Guten Tag an alle,


    ich bin gerade einbißchen am verzweifeln. Ich sitze gerade an einer kleinen Homepage die quasi als kleiner Blog funktionieren soll. Ich kann schon erfolgreich Informationen in eine Datenbank schreiben und auch jede Zeile der Datenbank in einem Contrainer auslesen. Der Container ist auch schon ein Link. In dem Container wird das Datum, die Überschrift und ein Teil des geschriebenen Inhalts angezeigt.

    Jetzt möchte ich gerne, dass wenn ich auf den Container klicke, der Inhalt der Zeile aus der Datenbank auf einer komplett neuen Seite dargestellt wird.


    Ich stelle euch auch gerne den Quellcode zur Verfügung.


    index.php - ist die Startseite der Homepage


    eintrag.php - Damit schreibe ich mit Hilfe eines Formulars in die Datenbank


    startseite.php - Liest den Inhalt der Datenbank aus mit Datum, Titel und Teaser


    test.php - Hier soll nur der Inhalt der Zeile der Datenbank angezeigt werden.


    Ich habe mich auch schon eingelesen das die ID der Zeile irgendwie übergeben soll und ich mit die ID mit Hilfe von $_GET holen muss um die auf der Seite anzuzeigen. Jedoch bekomme ich das nicht hin.


    Bitte seid gnädig zu mir ich habe nie richtig gelernt zu Programmieren und habe mir alles in den letzten 4 Monaten soweit wie möglich selber beigebracht. Brauche aber an diesem Punkt einfach hilfe um es richtig darzustellen.


    Ich würde mich sehr über Hilfe freuen.


    gruß

  • Also ich gebe nochmal wieder was ich gerade aus deiner Beschreibung verstanden habe,


    du möchtest wenn du auf den Container klickst ,eine komplett neue Seite mit dem Inhalt aufgerufen wird?

  • Ich kenne das so.

    Man zeigt auf der Startseite zb 10 Themen an , mit Überschrift Datum und etwas Text vom Inhalt.

    Wenn man das verlink gibt man zb die Id des Beitrags mit.

    Code
    echo "<a href='startseiten.php?id=$id'>Zum Thema</a>";

    Dann wird beim anklicken die Seite nochmal geladen ,wo du aber mit $_GET['id'] die id des Beitrags auslesen tust.

    Mit der Id holst du dann den Inhalt aus der Db




    Escapen nicht vergessen, das hast du nirgenswo gemacht

    https://www.php.net/manual/de/…n.mysql-escape-string.php

    und htmlspecialchars ist auch dein Freund

    https://www.php.net/manual/de/function.htmlspecialchars.php

    Du kannst das natürlich auch mit Ajax machen was du dann in einen Container laden tust.


    So ungefähr kann man das machen.

    Die Php Profis haben aber bestimmt noch bessere Ideen

  • Zitat

    Also ich gebe nochmal wieder was ich gerade aus deiner Beschreibung verstanden habe,


    du möchtest wenn du auf den Container klickst ,eine komplett neue Seite mit dem Inhalt aufgerufen wird?

    Lea - Ja genau das möchte ich machen!


    Basti - In welcher Datei muss ich den Quellcode diesbezüglich ändern?

  • Basti - In welcher Datei muss ich den Quellcode diesbezüglich ändern?

    Welchen meinst du den jetzt ?


    wenn ich das richtig sehe hast du in der startseite.php diese Zeile

    Code
    echo "<a href='index.php?section=test1'><div class = item>";

    das änderst du dann in

    Code
    echo "<a href='startseiten.php?id=htmlspecialchars($id)'>Zum Thema</a>";

    Und dann den Code was ich eben schon geschrieben habe


    PHP
    <?php
    if(isset($_GET['id'])){
       // hier dann das Thema der id holen
       include('test.php');// wo nur das eine Thema geholt wird
    }else{
       // hier der ganze code den du jetzt schon auf der startseite hast ,wo die ganzen Theman gelisten werden
    
    }

    Du kannst aber auch warten was die Php Profis zu sagen haben , vieleicht haben die nee bessere idee

  • Wenn du das jetzt mal als startseite nimmst , zb bla-index.php



    Da ich eigentlich keine Php Hilfe gebe , sehe das mal einfach nur als Gedanken stütze und Googel dich durchs Netz ob ich das so richtig gemacht habe und so weiter.


    Was ich dir aber sagen kann ist das deine Tag ,Monat Jahr Spalten in der Datenbank schwachsinn ist , da gibt es extra Einstellungen für.


    Dein Html ist als und sollte man so auch nicht mehr nehmen.

    Ich habe den größten Teils geändert weil dein Code veraltet ist


    EDIT:

    Durch das Crossposten wird das Thema sowieso bald gesperrt.

    In den Sinne viel Glück noch und lasse nächstes mal das Crossposten sein

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!