Ankündigung

Einklappen
Keine Ankündigung bisher.

Wiederaufruf eines Skripts

Einklappen

Neue Werbung 2019

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

  • Wiederaufruf eines Skripts

    Ich hab ein Kommentarskript für News erstellt, nur habe ich das problem, dass ich nicht weiss, ab wo ich die <form> starten soll, damit der ebend erst eingetragene kommentar beim reload des skripts gleich mit ausgegeben wird.

    hier quellcodeauszüge:

    Code:
    $news_id = $id; // $id wird über die URL mitgegeben
    $sql = "SELECT * FROM news WHERE news_id = '$news_id'";
    $result = mysql_query($sql);
    $zeile = mysql_fetch_array($result);
    	
    echo "<form action=\"newsdetail.php?&id=$news_id\" method=\"POST\">"; // diese <form> dient ja dem neuaufruf des skripts, allergings wird der neuste eintrag nicht angezeigt
    
    //tabelle der ausgabe der news, die kommentiert werden soll
    
    $sql = "SELECT * FROM kommentare WHERE news_id = '$id' ORDER BY date ASC";
    $result = mysql_query($sql);
    $zeilen = mysql_num_rows($result);
    for ($i=0;$i<$zeilen;$i++)
    {
    $elemente = mysql_fetch_array($result);
    
    // Tabelle zur ausgabe der Kommentare, die in der Datenbank eingetragen sind
    
    }
    
    // Formular zur eingabe von Namen und Kommentar
    
    if ($name != "" && $main != "")
    {
        mysql_query("INSERT INTO kommentare (comments_id, news_id, date, name, main) VALUES('', '$news_id', '".date("Y-m-d G:i:s")."', '$name', '$main')");
    } else {
    }   // ich weiss, "else" ist nicht erforderlich, aber ich machs immer so :)
    echo "<input name=\"OK\" type=\"submit\" value=\"   OK   \">
    ";
    echo "<a href=\"index.php\">Back</a>";
    also soweit funktioniert ja alles, aber halt der kommentar, den ich selber eintrage wird erst nach erneutem aufruf der kompletten *.php angezeigt, und nicht nach dem neuaufruf durch die <form>

    weiß einer was der fehler ist?

    thx
    Developers-Guide.net
    Senseless

  • #2
    mach doch einfach das schreiben in die Datenbank... vor das Auslesen.... dann hat er beim Auslesen auch den Datensatz schon dabei
    Typo3 Suchmaschinenoptimierung <- alles Rund um SEO mit Typo3

    Kommentar


    • #3
      Reihenfolge des Skripts:

      1. News auslesen
      1.1. Skript wird bei bestätigung des OK-Buttons neu gestartet, und zwar hier
      2. Alle dazugehörigen Kommentare auslesen
      3. Formular erstellen
      4. Kommentar neu reinschreiben

      demzufolge liest er doch beim neustart des scriptes eigentlich alle kommentare aus, warum das aber nicht klappt, wundert mich halt

      oder hab ich da ein logikfehler?

      [edit]
      http://www.warrenfaith.de/tropen/drago/index.php dort ist das kommentarskript zu testen, wenn ihr wollt
      [/edit]
      Developers-Guide.net
      Senseless

      Kommentar


      • #4
        Re: Wiederaufruf eines Skripts

        Zitat von WarrenFaith
        also soweit funktioniert ja alles, aber halt der kommentar, den ich selber eintrage wird erst nach erneutem aufruf der kompletten *.php angezeigt, und nicht nach dem neuaufruf durch die
        Liegt doch daran das du erst die Datenbank ausließt und hinterher den Kommentar rein schreibst..... das schreiben steht doch in deiner eigenen Liste ganz hinten..... also gibt es den auch vor punkt 5 noch nicht in der DB....

        oder sehe ich da was falsch
        Typo3 Suchmaschinenoptimierung <- alles Rund um SEO mit Typo3

        Kommentar


        • #5
          aber wenn das skript sich durch <form action="...."> sich selbst neu aufruft bei 1.1 liest er doch die Datenbank erneut aus, oder?!
          Developers-Guide.net
          Senseless

          Kommentar


          • #6
            Klar ruft es sich neu auf, aber das ändert nix daran, dass zuerst ausgelesen und dann geschrieben wird

            Kommentar


            • #7
              Ja ich bin meschugge, jetzt weiss ich was ihr meint. Danke jungens, ich änder das gleich mal
              Developers-Guide.net
              Senseless

              Kommentar

              Lädt...
              X