Gästebuch und include

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Gästebuch und include

    Hi zusammen,

    Meine Homepage ist so aufgebaut das der Content über includes eingefügt wird. Funktioniert auch alles einwandfrei.
    Nun möchte ich ein Gästebuch hinzufügen und habe mir hierfür ein simples textbasiertes geschrieben welches mit GET arbeitet.

    Jetzt stehe ich vor dem Problem das ich ja momentan zum Eintragen folgenden string habe:

    domain.de/gb/eintragen.php?act…il@email.de&text=sometext

    habe ... wie aber könnte ich es nun so lösen das diese variablen an die eintragen.php übergeben werde, ich dafür aber nicht die eintragen.php so aufrufen muss das die index.php verschwindet? Das geht doch sicherlich, oder ist mein Ansatz hier völlig falsch?

    Grüße,
    Matthias
    Das Leben ist binär - du bist eine 1, oder eine 0

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von RealFairPlayer ()

  • Wie Informationen in einem Formular gesendet werden, bestimmst du ja durch ein Attribut im form-Element.

    Quellcode

    1. <form action="index.php?action=guestbook" method="post">...


    Das Attribut method hilft dir nun dabei, die Art und Weise zu bestimmen, wie der Browser Eingaben des Benutzers in einem Formular an den Server - also PHP - sendet. Durch method="post" werden die Daten so gesendet, dass in deinen PHP-Scripten nicht mehr $_GET-, sondern $_POST-Variable gefüllt werden.

    Quellcode

    1. $_POST['element_name'] = 'element_inhalt';


    Ich hoffe, du kannst den Denkanstoß gebrauchen. Wenn ich dich richtig verstanden habe, ist das genau die Problematik, die du da lösen möchtest. Es hilft dir im Grunde nur dabei, Informationen über die URL und Eingaben über das Formular zu trennen.
  • Hallo,

    ich glaube ich verstehe nicht ganz, was dein eigentliches Problem ist. Warum soll die Datei "eintragen.php" nicht aufgerufen werden? Du könntest doch auch zu "eintragen.php" durch das Absenden des Formulars weiterleiten und nach dem Eintragen der Werte in die Datenbank den header-Befehl nutzen, um zurück zu der Datei "index.php" zu gelangen.

    Quellcode

    1. /* Code für die Datenbanksynchronisation ... */
    2. header("Location: Pfad/zu/der/Datei/index.php");


    Ansonsten wäre AJAX noch möglich. Oder du gibst als "action"-Element die Datei "index.php" an und versucht es mit einer Art Kommunikation zwischen den beiden Dateien. Ich denke das müsste gehen. Du erstellst ozusagen einen eigenen Header und sendest ihn an die Datei "eintragen.php" wodurch diese jedoch nicht aufgerufen wird. Wie genau der Header aussehen muss, weiß ich nich, weil ich sehr lange nichts mehr mit PHP gemacht habe und wirklich ein wenig eingerostet bin. Das funktioniert dann mit der Funktion "fsockopen". Hier ein Link dazu: tut.php-quake.net/fsockopen.html

    Liebe Grüße,
    David
  • Dein Link funktioniert nicht und eine ausführlichere Problembeschreibung wäre besser. Habe selbst ein ganz einfaches Gästebuch letztens erst "programmiert". Ich suche dir später mal den Quellcode heraus und poste dir mal mein Formular zum EIntragen der Daten.

    Edit:

    Hier mein Quellcode meiner Formularverarbeitung

    Quellcode

    1. <?php
    2. // erforderlich, da mit Session zum Login überprüfen genutzt wird
    3. include ("session_check.php");
    4. // Daten in Variablen speichern kommen aus Formular
    5. $eintrag = $_POST['nachricht'];
    6. $nick = $_SESSION['user_nickname'];
    7. $vorname = $_SESSION['user_vorname'];
    8. $nachname = $_SESSION['user_nachname'];
    9. $user_id = $_SESSION['user_id'];
    10. // Aufbauen einer Db-Verbindung
    11. $SQL_verbindung = mysql_connect ("host","datenbank","passwort");
    12. if (!mysql_select_db ("Datenbank",$SQL_verbindung))
    13. {
    14. //die ("<br>Es konnte keien Verbindung zur Datenbank hergestellt werden!");
    15. }
    16. else
    17. {
    18. //echo "<br><br>Verbindung wurde erfolgreich hergestellt\n<br>";
    19. }
    20. // Daten in die Tabelle, die zum Gästebuch gehört Speichern!
    21. $sql = "INSERT INTO guestbook(Vorname, Nachname, Nickname, Nachricht, FK_Id, Datum) VALUES('$vorname','$nachname','$nick','$eintrag','$user_id',NOW() )";
    22. // Query an DB losschicken
    23. mysql_query($sql);
    24. if (mysql_affected_rows($SQL_verbindung) > 0)
    25. {
    26. //Satz wurde in DB geschrieben
    27. }
    28. else
    29. {
    30. // Satz konnte nicht geschrieben werden
    31. }
    Alles anzeigen


    Wenn dir das nicht hilft, kann ich dir auch nicht helfen, dann solltest du unbedingt dich näher mit PHP beschäftigen. Eigentlich ist das eine komplette Verarbeitung!

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Chris2k ()

  • Hi zusammen,

    Eintragen.php kann ich nicht direkt aufrufen da sonst mein Layout ja hinüber ist, und das basiert auf einer index.php und der Content des jeweiligen Menü's (z.B. der Text wenn man auf "über mich" klickt) wird dann mit include eingefügt.

    Ich habe es für mich nun so gelöst das wenn man auf Gästebuch klickt bekommt man alle Einträge angezeigt ... und wenn man auf eintragen klickt öffnet sich ein PopUp ... so klappt es :)

    Danke für eure Hilfestellungen.

    Matthias
    Das Leben ist binär - du bist eine 1, oder eine 0
  • du kannst auch deinen include machen und tust alle ausgaben mittels einer varibale fangen wie z.b. $gb_ausgabe = 'mein text + forumlar etc..';
    und bindest auf deiner include datei einfach die datei und amchst an der stelle wo die ausgabe hinsoll einfach print $gb_ausgabe;
    zumindest ist das vom code her übersichtlicher wenn man das ganze in bestimmten editoren zusammenbaut
    Beste Grüße,
    M4rc3L-XCN