Befehle nur ausführen, wenn post-Button geklickt wurde

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

  • Befehle nur ausführen, wenn post-Button geklickt wurde

    Ich möchte (mit post) einen Text in eine Datei schreiben ohne, dass sich ein neues Fenster öffnet.
    Das habe ich auch soweit hinbekommen.
    Wenn die nachfolgende php-Datei erneut aufgerufen wird, erscheint der Text (camnews) auch.
    Jedoch wird durch mit den erneuten Aufruf der php-Datei der zuvor gesendete/gespeicherte Text durch Überschreiben gelöscht.

    Wie kann ich erreichen, dass der Text nur dann überschrieben wird, wenn auf den Senden-Butten geklickt wurde?
    PHP-Code:
    <?php
    $ip0 
    $_SERVER['REMOTE_ADDR'];
    $ip0 ip2long($ip0);
    $ip1 '192.168.2.20';  // Admin1
    $ip2 '192.168.2.21';  // Admin2
    $ip1 ip2long($ip1);
    $ip2 ip2long($ip2);

    $imageurl 'image.jpg';
    $thumbX '120';
    $thumbY '90';
    $camnews file_get_contents("http://...webcam_news.txt");

    if (
    $ip0 == $ip1 || $ip0 == $ip2)
      {
        
    $content '<div align="center">
        <a href="'
    .$imageurl.'"><img src="'.$imageurl.'" height="'.$thumbY.'" width="'.$thumbX.'"></a>
        <br>'
    .$camnews.'<br>
        <form method="post">
        <input name="camnews" width="120" style="width:120px;">
        <input type="submit" value="Senden">
        </form></div>'
    ;
        echo 
    $content;
        
    //ab hier nur ausführen, wenn Senden geklickt wurde
        
    $camnews $_POST['camnews'];
        
    $dateihandle fopen(".../webcam_news.txt","w");
        
    fputs($dateihandle$camnews);
        
    fclose($dateihandle);
        echo 
    $camnews// Text sollte auch hier noch stehen
      
    }
    else
      {
        
    $content '<div align="center">
        <a href="'
    .$imageurl.'"><img src="'.$imageurl.'" height="'.$thumbY.'" width="'.$thumbX.'"></a>
        <br>'
    .$camnews.'<br></div>';
        echo 
    $content;
      }
    ?>
    Zuletzt geändert von typeA; 18.02.2008, 03:00.

  • #2
    PHP-Code:
    if(isset($_POST['deinPost']))
    {
      
    //script ausführen

    Kommentar


    • #3
      Danke für deine Antwort, damit hast du mir weitergeholfen.
      Damit bleibt eigentlich nur noch eine Kleinigkeit. Bisher ist kein action="irgendwas" definiert. Ich denke, da alles funktioniert, dass ohne diese Angabe die php-Datei auf sich selbst verweist. Besser wäre es doch sicherlich das auch in <form method="post" action="auf sich selbst"> anzugeben, um z.B. Probleme mit unterschiedlichen Browsern zu vermeiden. Ich habe zwar einiges dazu gefunden, doch hat das leider nicht geklappt. Wahrscheinlich liegt es daran, dass bei mir alles in $content = '...' steht. Es wäre schön, wenn Ihr mir damit auch noch weiterhelfen könntet.

      Kommentar


      • #4
        PHP-Code:
        $_SERVER['PHP_SELF'
        gruß
        peter
        Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
        Meine Seite

        Kommentar


        • #5
          Wenn ich <form method="post" action="$_SERVER['PHP_SELF']"> schreibe bekomme ich eine Fehlermeldung.
          Parse error: syntax error, unexpected T_STRING in ... (on line $content =)
          Nochmal eine andere Frage:
          Mit z.B.
          $imageurl = $params->get( 'imageurl');
          hole ich mir Daten aus der Datenbank.
          Gibt es auch soetwas, um Daten in die Datenbank zu schreiben?
          Alos statt get z.B. mit put oder ähnlichem, so könnte ich mir den Umweg über die Textdatei sparen.

          Kommentar


          • #6
            Original geschrieben von typeA
            Wenn ich <form method="post" action="$_SERVER['PHP_SELF']"> schreibe bekomme ich eine Fehlermeldung.
            Parse error: syntax error, unexpected T_STRING in ... (on line $content =)
            Du musst $_SERVER['PHP_SELF'] schon ordentlich in dein (per PHP ausgegebenes)? HTML einbetten.
            PHP-Code:
            echo '<form method="post" action="' $_SERVER['PHP_SELF'] . '">' 
            Nieder mit der Camel Case-Konvention

            Kommentar


            • #7
              Ich habe es gestern abend schon mal mit action="'$_SERVER['PHP_SELF']'" probiert. Ich hatte also nur die Punkte vergessen und dann gefrustet aufgegeben. Danke für deine Hilfe.
              Hat noch jemand eine Idee zu meiner zweiten Frage?
              Gibt es ein Gegenstück zu $imageurl = $params->get( 'imageurl'); ?

              Kommentar


              • #8
                $params ist ein Objekt. Solange wir die Klasse dahinter nicht kennen, kann dir das Keiner beantworten!

                Kommentar

                Lädt...
                X