form action= Beitrag abschicken, die Seite aber nicht anzeigen

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

  • form action= Beitrag abschicken, die Seite aber nicht anzeigen

    Ich habe eine Shotubox per Inlude in PHP Dateien eingebunden. Schicke Ich mit dieser Shoutbox jetzt einen Beitrag mit HTML Formular "form action=" ab, so wird die Shoutbox neu geladen und wird dann alleine im Browser angezeigt.

    Kann Ich das so machen, dass der Beitrag abgeschickt wird, jedoch die ganze Seite neu geladen wird, also die in der sich der include Befehl befindet?

  • #2
    Aus wievielen Dateien besteht dein Schoutbox-Script? Das heißt, gibts für das eintragen eine extra Seite?

    Wahrscheinlich musst du den code der Shoutbox abändern.

    Kommentar


    • #3
      Nein es ist nur die show.php, gespeichert wird in einer einfachen txt Datei.

      Kommentar


      • #4
        ich meine nicht, worein gespeichert wird, sondern ob zu speichern eine andere Code-Datei (z.b. save.php) benötigt wird.

        Wenn das nicht so ist, änderst du einfach nur den Form-Tag um!

        Kommentar


        • #5
          Nein es wird keine weitere Datei benötigt

          Code:
          <form action="show.php" method = "post" name="chat" id="chat">
          Mit form action wird der Beitrag an "sich selbst" geschickt.

          Kommentar


          • #6
            Dann versuchs mal so:

            PHP-Code:
            echo <form action=\"$PHP_SELF\" method = \"post\" name=\"chat\" id=\"chat\"> 

            Kommentar


            • #7
              Was sagt dieses aus?

              PHP-Code:
              name=\"chat\" id=\"chat\" 
              Zuletzt geändert von sam[deluxe]; 13.12.2002, 19:33.

              Kommentar


              • #8
                Ähm, dass solltest eigentlich du wissen! Ist schließlich dein Script und nicht meins!! Nennt man das Programmieren, wenn man seinen eigenen Code nicht versteht?

                name --> Name des Formulars
                id --> ID des Formulars

                Ich weiß nicht, in wie weit das relevant für dein Script ist.

                Kommentar


                • #9
                  Nein, ich wollte nur wissen woher du das weisst.

                  Das was du mir gepostet hast ist doch im Prinzip das selbe wie dieses:

                  Code:
                  <form method="POST" action="<? echo $PHP_SELF;?>">
                  Das hatte ich nämlich bereits versucht, hat aber nichts genützt, er öffnet danach immer noch die show.php alleine.

                  Kommentar


                  • #10
                    Eigentlich sollte php-self den Namen der Hauptdatei übernehmen. Logischerweise. Das ist auch so!

                    Dann schreibste mal bitte den normalen Namen der Hauptdatei da rein.

                    Kommentar


                    • #11
                      Wenn Ich dich richtig verstanden habe, als action die Datei zu nehmen, in welche ich das inlude habe, dann wird der Beitrag zwar abgeschickt aber nicht von der Shoutbox übernommen.

                      Kann ich denn nicht 2 Aktionen irgendwie durchführen?

                      Dein Beitrag an show.php abschicken, diese Seite aber nicht anzeigen.
                      Von mir aus binde ich eine Zwischenseite ein, auf der steht "Ihr beitrag wurde abgeschickt" und mach dann eine weiterleitung zurück zur Seite.

                      Kommentar


                      • #12
                        dann mach es doch so:

                        action=show.php

                        in der show machst du

                        #speichern
                        header("location:index.php");

                        Kommentar


                        • #13
                          Das dachte ich auch erst, leider hab Ich das aber nicht nur auf der index.php eingebunden

                          Kommentar


                          • #14
                            ich checke nicht, was du falsch machst, dass self nicht klappt.

                            Versuchen wir mal was anderes:

                            woran erkennt denn die show.php ob sie anzeigen oder schreiben soll?

                            Kommentar


                            • #15
                              Ich poste dir mal die show.php die ich mit include eingebunden habe: (Ich hab mal nur das nötigste dringelassen)

                              PHP-Code:
                               <body>
                              <table width="140" height="461" border="0">
                                <tr> 
                                  <td height="457" class=tablesmall> 
                                    <div align="center"> 
                                      <p>Shoutbox</p>
                                      <div align="left"> 
                                          <div align="right">
                                  <form method="POST" action="<? echo $PHP_SELF;?>">
                                            <input name="name" type="text" style="BACKROUND-IMAGE: url(butt.gif); BORDER-RIGHT: #000000 1px solid; BORDER-TOP: #000000 1px solid; FONT-SIZE: 8pt; BORDER-LEFT: #000000 1px solid; BORDER-BOTTOM: #000000 1px solid; COLOR: #000000; FONT-FAMILY: arial "onFocus="if (this.value =='NICK') { this.value='' }" value="NICK" size="14" maxlength="20">
                                            <br>
                                            <input name="text" type="text" style="BACKROUND-IMAGE: url(butt.gif); BORDER-RIGHT: #000000 1px solid; BORDER-TOP: #000000 1px solid; FONT-SIZE: 8pt; BORDER-LEFT: #000000 1px solid; BORDER-BOTTOM: #000000 1px solid; COLOR: #000000; FONT-FAMILY: arial "onFocus="if (this.value =='MESSAGE') { this.value='' }" value="MESSAGE" size="14" maxlength="160"> 
                              <br>
                                            <input type="image" value="send" height="16" alt="login" width="63" src="button.gif" border="0" name="submit"></form>
                                            <br></font>
                                        <div align="center"> 
                                          <div align="left"><font size="1" face="Verdana"> </font></div>
                                          <div align="left"> <font size="3"> <font size="1" face="Verdana"> 
                                            <?
                              include ("settings.php");  // Einstellungen für das Script
                              $datum = date("(d.m. H:i)");
                              $dateiname = "show.txt"; // Datei in der gespeichert wird
                              $anzeintraege = 0;
                              $maxeintraege = 10; // max. Anzahl der Einträge die angezeigt werden

                              $zaehler = 0;
                              if(file_exists($dateiname))
                              {
                                $datei = fopen ($dateiname, "r");
                                if($datei)
                                {
                                  while($dat[$zaehler++] = fgets($datei, 255));
                                  fclose($datei);
                                }
                              }
                              $anzeintraege = $zaehler-1;

                              if($html == "1")
                                  {
                              $text = (strip_tags(stripslashes ($text)));
                                  }
                                if($badword == "1")
                                  {
                                              $text = str_replace("hure","H***",$text);
                                              $text = str_replace(":rollen:",'<img src="smiles/rollen.gif">',$text);
                                              $text = str_replace(":down:",'<img src="smiles/handdown.gif">',$text);
                                  }
                                if($scode == "1")
                                  {
                                  $text = str_replace("[hr]","<hr>",$text);
                                  $text = str_replace("[b]","<b>",$text);
                                  $text = str_replace("[/b]","</b>",$text);
                                  $text = str_replace("[i]","<i>",$text);
                                  $text = str_replace("[/i]","</i>",$text);
                                  $text = str_replace("[u]","<u>",$text);
                                  $text = str_replace("[/u]","</u>",$text);
                                  $text = str_replace("[code]","<pre><font size=2>",$text);
                                  $text = str_replace("[/code]","</font></pre>",$text);
                                  $text = str_replace("[center]","<center>",$text);
                                  $text = str_replace("[/center]","</center>",$text);
                                  $text = str_replace("[img]","<img border=0 src=",$text);
                                  $text = str_replace("[/img]",">",$text);
                                  $text = str_replace("[quote]","<blockquote><font size=-2>Quote:<br><b>",$text);
                                  $text = str_replace("[/quote]","</b></font></blockquote>",$text);
                                  // [URL]
                                  $text=eregi_replace("\\[url\\]www.([^\\[]*)\\[/url\\]","<a href=\"http://www.\\1\" target=_blank>\\1</a>",$text);

                                  $text=eregi_replace("\\[url\\]([^\\[]*)\\[/url\\]","<a href=\"\\1\" target=_blank>\\1</a>",$text);
                                  //$text=eregi_replace("\\[url=\"([^\"]*)\"\\]([^\\[]*)\\[\\/url\\]","<a href=\"\\1\" target=_blank>\\2</a>",$post);
                                  //$text=eregi_replace("\\[url=([^\"]*)\\]([^\\[]*)\\[\\/url\\]","<a href=\"\\1\" target=_blank>\\2</a>",$post);
                                  $text = preg_replace("#\[url=(.*?)\](.*?)\[/url\]#si", '<A HREF="\1" TARGET="_blank">\2</A>', $text);
                                  //$text = preg_replace("#<a href=\"([a-z]+?://)(.*?)\" target=\"_blank\">(.*?)</a>#s", "[url=\\1\\2]\\3[/url]", $text);
                                  $text=eregi_replace("\\[email\\]([^\\[]*)\\[/email\\]","<a href=\"mailto:\\1\">\\1</a>",$text);
                                  }

                              if(isset($text) && $text <> "")
                              {
                                $dat[$anzeintraege++] = "<b>$name</b> - $datum:<BR>$text<BR><BR>\n";
                                if($maxeintraege > $anzeintraege)
                                   $maxeintraege = $anzeintraege;
                                $datei = fopen ($dateiname, "w");
                                if($datei)
                                {
                                  for($zaehler = $anzeintraege-$maxeintraege;
                                      $zaehler < $anzeintraege; $zaehler++)
                                  {
                                    fputs($datei, $dat[$zaehler]);
                                  }
                                }
                              }
                              if($maxeintraege > $anzeintraege)
                                 $maxeintraege = $anzeintraege;
                              for($zaehler = $anzeintraege-$maxeintraege;
                                  $zaehler < $anzeintraege; $zaehler++)
                              {
                                echo stripslashes($dat[$zaehler]) . "\n";
                              }
                              ?>
                                            </font></font></div>
                                        </div>
                                      </div>
                                      </div></td>
                                </tr>
                              </table>
                              </body>

                              Kommentar

                              Lädt...
                              X