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

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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;
      }
    ?>
    Last edited by typeA; 18-02-2008, 03:00.

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

    Comment


    • #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.

      Comment


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

        Comment


        • #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.

          Comment


          • #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

            Comment


            • #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'); ?

              Comment


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

                Comment

                Working...
                X