neXus: aktualisieren

Hallo,

Ich hab folgendes Problem:
ich hab mir ein gästebuch geschrieben und es funktioniert ganz gut soweit nur wenn man aktualisieren klickt dann fragt er ob ich das formular nochmal schicken will.. das will ich aba natürlich nicht.. Hat wer von euch eine idee wie ich das verhindern kann dass wenn man aktualisiert nicht abgefragt wird ob man das formular noch mal versenden will...??

mfg neXus

  1. puts "Hallo " + gets.chomp + "."

    ?> neXus
    => Hallo neXus.

    ich hab mir ein gästebuch geschrieben

    In welcher Sprache?

    Hat wer von euch eine idee wie ich das verhindern kann dass wenn man aktualisiert nicht abgefragt wird ob man das formular noch mal versenden will...??

    In PHP kannst du einen Location-header schicken, wobei du hierfür aber wahrscheinlich noch die Ausgabepufferung benötigst, da kein Header mehr versandt werden darf, wenn bereits eine Ausgabe erfolgt ist.

    Einen schönen Sonntag noch.

    Gruß, Ashura

    --
    Selfcode: sh:( fo:) ch:? rl:( br:^ n4:& ie:{ mo:) va:) de:> zu:) fl:( ss:| ls:[ js:|
    30 Days to becoming an Opera8 Lover -- Opera 8.02 mit Bittorent-Unterstützung
    Meine Browser: Opera 8.01 | Firefox 1.0.4 | Lynx 2.8.3 | Netscape 4.7 | IE 6.0
    [Deshalb frei! - Argumente pro freie Software]
    1. Tschuldigung hab ich vergessen das ganze ist in PHP programmiert (mit datenbank)

      Wie genau soll das gehn???

      mfg neXus

      1. Γειά σου, neXus!

        Wie genau soll das gehn???

        Ganz einfach: Das Script, das den User-Input verarbeitet, sendet nichts anderes als einen Location-Header zu einer "harmlosen" Seite (z. B. der Seite, auf der die neuesten Gästebuch-Einträge zu sehen sind). Die "harmlose" Seite kann User dann beliebig oft neu laden, ohne etwas abzusenden.

        Пока!
        Sven aus Bonn

        --
        Do it yourSELF! ;-)
        Selfcode: ie:% fl:( br:> va:} ls:[ fo:) rl:( n4:{ ss:| de:> js:| ch:) mo:} zu:) - Selfcode dekodieren - Selfcode-Info
        Athen rückt in Sichtweite. ;-)
      2. puts "Hallo " + gets.chomp + "."

        ?> neXus
        => Hallo neXus.

        Tschuldigung hab ich vergessen das ganze ist in PHP programmiert (mit datenbank)

        Gut, dann helfen dir meine Tipps.

        Wie genau soll das gehn???

        Du hast die von mir verlinkten Seiten gelesen?

        Einen schönen Sonntag noch.

        Gruß, Ashura

        --
        Selfcode: sh:( fo:) ch:? rl:( br:^ n4:& ie:{ mo:) va:) de:> zu:) fl:( ss:| ls:[ js:|
        30 Days to becoming an Opera8 Lover -- Opera 8.02 mit Bittorent-Unterstützung
        Meine Browser: Opera 8.01 | Firefox 1.0.4 | Lynx 2.8.3 | Netscape 4.7 | IE 6.0
        [Deshalb frei! - Argumente pro freie Software]
        1. aus dem was da steht werd ich aba leida nicht schlau =)

          wie genau sieht der code aus??

          1. puts "Hallo " + gets.chomp + "."

            ?> neXus
            => Hallo neXus.

            aus dem was da steht werd ich aba leida nicht schlau =)

            So schwierig ist es doch gar nicht:

            Am Anfang deines Dokumentes (unbedingt vor jeglicher Ausgabe) schaltest du die Ausgabepufferung ein:

            <?php [link:http://de2.php.net/manual/de/function.ob-start.php@title=ob_start()]; ?>

            Am Ende des Dokumentes platzierst du gleich die Funktion, die für die Ausgabe, Leerung und Beendigung der Ausgabepufferung zuständig ist:

            <?php [link:http://de2.php.net/manual/de/function.ob-end-flush.php@title=ob_end_flush()]; ?>

            Und nun kannst du bedenkenlos nach dem erfolgreichen Tätigen eines Eintrages folgendes notieren:

            <?php [link:http://de2.php.net/manual/de/function.header.php@title=header]("location: http://".$_SERVER['HTTP_HOST']."/dein-gaestebuch-skript-oder-welche-seite-auch-immer.php"); ?>

            Warum das $_SERVER['HTTP_HOST']? Nun, damit hältst du dein Skript relativ flexibel, da das Ziel eines Location-headers ein absoluter URI sein muss:

            „Anmerkung: HTTP/1.1 verlangt einen absoluten URI inkl. dem Schema, Hostnamen und absoluten Pfad als Argument von Location:, aber manche Clients akzeptieren auch relative URIs.“

            Nachvollziehbar?

            Einen schönen Sonntag noch.

            Gruß, Ashura

            --
            Selfcode: sh:( fo:) ch:? rl:( br:^ n4:& ie:{ mo:) va:) de:> zu:) fl:( ss:| ls:[ js:|
            30 Days to becoming an Opera8 Lover -- Opera 8.02 mit Bittorent-Unterstützung
            Meine Browser: Opera 8.01 | Firefox 1.0.4 | Lynx 2.8.3 | Netscape 4.7 | IE 6.0
            [Deshalb frei! - Argumente pro freie Software]
            1. Γειά σου, Ashura!

              Am Anfang deines Dokumentes (unbedingt vor jeglicher Ausgabe) schaltest du die Ausgabepufferung ein:

              <?php [link:http://de2.php.net/manual/de/function.ob-start.php@title=ob_start()]; ?>

              Am Ende des Dokumentes platzierst du gleich die Funktion, die für die Ausgabe, Leerung und Beendigung der Ausgabepufferung zuständig ist:

              <?php [link:http://de2.php.net/manual/de/function.ob-end-flush.php@title=ob_end_flush()]; ?>

              Wenn er sauber programmiert, hat er während der Verarbeitung keine Ausgabe und kann sich somit diese Ausgabepufferung sparen.

              Пока!
              Sven aus Bonn

              --
              Do it yourSELF! ;-)
              Selfcode: ie:% fl:( br:> va:} ls:[ fo:) rl:( n4:{ ss:| de:> js:| ch:) mo:} zu:) - Selfcode dekodieren - Selfcode-Info
              Athen rückt in Sichtweite. ;-)
              1. puts "Hallo " + gets.chomp + "."

                ?> Arx
                => Hallo Arx.

                Wenn er sauber programmiert, hat er während der Verarbeitung keine Ausgabe und kann sich somit diese Ausgabepufferung sparen.

                Natürlich. Doch wenn dies nachträglich eingebaut wird, bleibt meist keine Wahl.

                Einen schönen Sonntag noch.

                Gruß, Ashura

                --
                Selfcode: sh:( fo:) ch:? rl:( br:^ n4:& ie:{ mo:) va:) de:> zu:) fl:( ss:| ls:[ js:|
                30 Days to becoming an Opera8 Lover -- Opera 8.02 mit Bittorent-Unterstützung
                Meine Browser: Opera 8.01 | Firefox 1.0.4 | Lynx 2.8.3 | Netscape 4.7 | IE 6.0
                [Deshalb frei! - Argumente pro freie Software]
            2. Ich hab jetzt am anfang <?php ob_start();?> und am ende <?php ob_end_flush();?> geschriebn bekomm aba trotzdem noch die selbe meldung beim aktualisieren...

              mfg neXus

              1. puts "Hallo " + gets.chomp + "."

                ?> neXus
                => Hallo neXus.

                Ich hab jetzt am anfang <?php ob_start();?> und am ende <?php ob_end_flush();?> geschriebn bekomm aba trotzdem noch die selbe meldung beim aktualisieren...

                Du hast die Location-header-Funktion eingebaut?

                Sie muss in dem Moment ausgeführt werden, in dem ein Eintrag erfolgreich getätigt werden konnte.

                Einen schönen Sonntag noch.

                Gruß, Ashura

                --
                Selfcode: sh:( fo:) ch:? rl:( br:^ n4:& ie:{ mo:) va:) de:> zu:) fl:( ss:| ls:[ js:|
                30 Days to becoming an Opera8 Lover -- Opera 8.02 mit Bittorent-Unterstützung
                Meine Browser: Opera 8.01 | Firefox 1.0.4 | Lynx 2.8.3 | Netscape 4.7 | IE 6.0
                [Deshalb frei! - Argumente pro freie Software]
    2. Hi Ashura,

      In PHP kannst du einen Location-header schicken, wobei du hierfür aber wahrscheinlich noch die Ausgabepufferung benötigst, da kein Header mehr versandt werden darf, wenn bereits eine Ausgabe erfolgt ist.

      Nein, bei location geht das (weiß nicht warum, aber es geht). der inhalt der seite wird dann aber nicht angezeigt.

      Gruß, Marian

      1. puts "Hallo " + gets.chomp + "."

        ?> Marian
        => Hallo Marian.

        Nein, bei location geht das (weiß nicht warum, aber es geht). der inhalt der seite wird dann aber nicht angezeigt.

        Glaube ich zwar nicht, aber der Nutzen ist gleich: Null.

        Einen schönen Montag noch.

        Gruß, Ashura

        --
        Selfcode: sh:( fo:) ch:? rl:( br:^ n4:& ie:{ mo:) va:) de:> zu:) fl:( ss:| ls:[ js:|
        30 Days to becoming an Opera8 Lover -- Opera 8.02 mit Bittorent-Unterstützung
        Meine Browser: Opera 8.01 | Firefox 1.0.4 | Lynx 2.8.3 | Netscape 4.7 | IE 6.0
        [Deshalb frei! - Argumente pro freie Software]