Formular verschwindet nach aufrufen :(

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

  • Formular verschwindet nach aufrufen :(

    Hallo Mädels
    Der Problemjunge meldet sich weider zum Dienst und heute mit ein neuem Problem:

    2 Probleme:

    Ich habe ein Script geschrieben wo man:
    -pw
    -pfad zum bild
    -kommentar zum bild
    eingeben muss


    Problem 1)
    Das Script klappt, aber wenn ichd as einmal aufgerufen habe und noch ein bild hinzufühen möchte,
    verschwindet das formular. wieso ?

    Problem2)
    Das script kontrollier die Elseif Abfragen nicht.
    z.B. wenn ich ds feld "Pfad" freilasse, und im script "!isset($pfad)" steht,
    parst das script den darauffolgenden code nicht. wieso?

    Formular
    PHP-Code:
    <div align="center">
    <
    form method="POST" action="templates/kec_hinzufuegen.php">
    <
    table border="0" width="235">
      <
    tr>
        <
    td width="79">Passwort:</td>
        <
    td width="150"><input type="password" name="passwort" size="20"></td>
      </
    tr>
      <
    tr>
        <
    td width="79">Pfad:</td>
        <
    td width="150"><input type="text" name="pfad" size="20" value="http://"></td>
      </
    tr>
      <
    tr>
        <
    td width="79">Kommentar:</td>
        <
    td width="150"><input type="text" name="kommentar" size="20"></td>
      </
    tr>
      <
    tr>
        <
    td width="79">&nbsp;</td>
        <
    td width="150"><input type="submit" value="Hinzufügen" name="submit"></td>
      </
    tr>
    </
    table>
    </
    form>
    </
    div
    kec_hinzufügen.php
    PHP-Code:
    <?
    $pw = "test";
    if( isset($_POST["passwort"]) && isset($_POST["pfad"]) && 
    isset($_POST["kommentar"]) && $_POST["passwort"] == $pw)
    {
    $oeffnen = fopen("kec_bilder.txt","r");
    $gelesen = fread($oeffnen,9999);
    fclose($oeffnen);
    $eintrag="
      <tr>
        <td width=\"100%\" height=\"183\">
          <img border=\"0\" src=\"$pfad\" width=\"200\" height=\"270\">$kommentar
        </td>
      </tr>
      
      ";
    $schreiben = fopen("kec_bilder.txt","a");
    fwrite($schreiben,$eintrag);
    fclose($schreiben);
    die("Bild wurde hinzugefügt");
    unset ($_POST["passwort"], $_POST["pfad"], $_POST["kommentar"]);
    }

    elseif ($_POST["passwort"] != $pw)
    {
    echo "Falsches Passwort";
    }
    elseif (!isset($_POST["passwort"]))
    {
    echo "Bitte passwort angeben";
    }

    elseif (!isset($_POST["pfad"]))
    {
    echo "Bitte Pfad zum Bild angeben";
    }

    elseif (!isset($_POST["kommentar"]))
    {
    echo "Bitte ein Kommentar zum Bild geben";
    }

    else
    {
    echo "Fehler";
    }
    ?>
    Danke schonmal
    Euer Sorgenjunge
    Zuletzt geändert von Gaint; 21.04.2006, 17:57.

  • #2
    Re: Formular verschwindet nach aufrufen

    1. kein horizontaler Scrollbalken auf 1024, danke

    Original geschrieben von Gaint
    Problem 1)
    Das Script klappt, aber wenn ichd as einmal aufgerufen habe und noch ein bild hinzufühen möchte, verschwindet das formular. wieso ?
    weil das Formular nicht in der php-Datei ist?
    Wo ist das? Das geht aus deinem Code/Beschreibung nicht hervor...

    Problem2)
    Das script kontrollier die Elseif Abfragen nicht.
    z.B. wenn ich ds feld "Pfad" freilasse, und im script "!isset($pfad)" steht, parst das script den darauffolgenden code nicht. wieso?
    mach Testausgaben bis die F5-Taste abgenutzt ist,
    PHP-Code:
    echo '<pre>' print_r($_POST1) . '</pre>'
    hilft dir dabei

    Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

    bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
    Wie man Fragen richtig stellt

    Kommentar


    • #3
      Re: Re: Formular verschwindet nach aufrufen

      Original geschrieben von ghostgambler
      1. kein horizontaler Scrollbalken auf 1024, danke


      weil das Formular nicht in der php-Datei ist?
      Wo ist das? Das geht aus deinem Code/Beschreibung nicht hervor...


      mach Testausgaben bis die F5-Taste abgenutzt ist,
      PHP-Code:
      echo '<pre>' print_r($_POST1) . '</pre>'
      hilft dir dabei
      hi
      danke erstmal aber ich versteh das nicht so ganz ^^

      zu 1)
      das script ist in der datei, wo die bilder erscheinen sollen. also index.php:

      Normaler HTML CODE
      <? include("kec_bilder.txt") ?>
      Normaler HTML CODE
      HIER DANN DAS Formular

      das Formular verweist dann auf eine seite wo es kontrolliert werden soll.

      zu2)
      sry ich versteh nicht, was du meinst
      Zuletzt geändert von Gaint; 21.04.2006, 17:12.

      Kommentar


      • #4
        Re: Re: Re: Formular verschwindet nach aufrufen

        Original geschrieben von Gaint
        danke erstmal aber ich versteh das nicht so ganz ^^
        das du deinen *piep* Code umbrechen sollst verstehst du jawohl, oder?
        Mach das sonst ist das meine letzte Antwort

        zu 1)
        das script ist in der datei, wo die bilder erscheinen sollen. also index.php:

        Normaler HTML CODE
        <? include("kec_bilder.txt") ?>
        Normaler HTML CODE
        HIER DANN DAS SCRIPT
        Welches Skript? Meinst du Formular? Formular != Skript, drücke dich so aus dass ich und andere verstehen was genau du meinst

        zu2)
        sry ich versteh nicht, was du meinst
        Tippst du die Zeile ein und schickst das Formular ab, dann siehst du die Variablen die ge"post"ed wurden. Und dann kannst du doch gedanklich dein IF-Konstrukt durchgehen und gucken warum es nicht beachtet wird

        Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

        bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
        Wie man Fragen richtig stellt

        Kommentar


        • #5
          Re: Re: Re: Re: Formular verschwindet nach aufrufen

          Original geschrieben von ghostgambler
          das du deinen *piep* Code umbrechen sollst verstehst du jawohl, oder?
          Mach das sonst ist das meine letzte Antwort


          Welches Skript? Meinst du Formular? Formular != Skript, drücke dich so aus dass ich und andere verstehen was genau du meinst


          Tippst du die Zeile ein und schickst das Formular ab, dann siehst du die Variablen die ge"post"ed wurden. Und dann kannst du doch gedanklich dein IF-Konstrukt durchgehen und gucken warum es nicht beachtet wird

          was is an dem code denn scheisse?
          ja das script ist das formular ^^ sry verschrieben
          ich will doch nur wissen, wieso das formular nach aufruf des scriptes verschwindet

          Kommentar


          • #6
            Re: Re: Formular verschwindet nach aufrufen

            Original geschrieben von ghostgambler
            1. kein horizontaler Scrollbalken auf 1024, danke

            Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

            bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
            Wie man Fragen richtig stellt

            Kommentar


            • #7
              Re: Re: Re: Re: Re: Formular verschwindet nach aufrufen

              Original geschrieben von Gaint
              ich will doch nur wissen, wieso das formular nach aufruf des scriptes verschwindet
              <form method="POST" action="templates/kec_hinzufuegen.php">
              schickt die Anfrage nach templates/kec_hinzufuegen.php ... und was ist da drin?
              Antwort:
              PHP-Code:
              <?
              $pw = "test";
              if( isset($_POST["passwort"]) && isset($_POST["pfad"]) && 
                isset($_POST["kommentar"]) && $_POST["passwort"] == $pw)
              {
              $oeffnen = fopen("kec_bilder.txt","r");
              $gelesen = fread($oeffnen,9999);
              fclose($oeffnen);
              $eintrag="
                <tr>
                  <td width=\"100%\" height=\"183\">
                    <img border=\"0\" src=\"$pfad\" width=\"200\" height=\"270\">$kommentar
                  </td>
                </tr>
                
                ";
              $schreiben = fopen("kec_bilder.txt","a");
              fwrite($schreiben,$eintrag);
              fclose($schreiben);
              die("Bild wurde hinzugefügt");
              unset ($_POST["passwort"], $_POST["pfad"], $_POST["kommentar"]);
              }

              elseif ($_POST["passwort"] != $pw)
              {
              echo "Falsches Passwort";
              }
              elseif (!isset($_POST["passwort"]))
              {
              echo "Bitte passwort angeben";
              }

              elseif (!isset($_POST["pfad"]))
              {
              echo "Bitte Pfad zum Bild angeben";
              }

              elseif (!isset($_POST["kommentar"]))
              {
              echo "Bitte ein Kommentar zum Bild geben";
              }

              else
              {
              echo "Fehler";
              }
              ?>
              mehr nicht
              woher soll das Formular denn da bitte kommen?

              Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

              bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
              Wie man Fragen richtig stellt

              Kommentar


              • #8
                aaaaaaaaaaaaaaaaalso:

                Das formular soll ja nicht in kec_hinzufuegen angezeigt werden, sondern dort nur überprüft werden.

                das ausgefüllte formular wird an die datei kec_hinzufuegen.php im ordner templates gesendet (das ist auch der abfragecode, der oben steht).
                Dort werden die eingegebenen sachen in einer textdatei gespeichert.
                auf der seite, wo das script ist, wird die textdatei mit include() geöffnet.

                das klappt auch alles.
                aber leider nur einmal - das formular verschwindet nach einmaligem aufruf des scriptes...

                gucksu da, meine seite: www.slikk.de/vanessa2/index.php?site=kec



                so
                Zuletzt geändert von Gaint; 21.04.2006, 17:31.

                Kommentar


                • #9
                  So nochmal ein Problem

                  Hallo Mädels
                  Da mein Problem im letzen Thread nicht rihtig verstanden wurde, versuche ich es nocheinmal deutlicher zu erklären

                  zuerst mal handelt es sich um die seite:
                  http://www.slikk.de/vanessa2/index.php?site=kec

                  Auf dieser Seite befindet sich ein Formular, welches nach abschicken die Kontrolldatei namens kec_hinzufuegen.php im Ordner templates öffnet.

                  Dieses Script schreibt einen Code in eine Textdatei.

                  Die erstelle bzw. geschriebene Textdatei wird dann auf der Seite, wo das Formular auch ist includet.

                  Soweit verstanden ?

                  Jetzt mein Problem:
                  Nachdem ich das formular einmal abgesendet habe, und der Code einmal auf der Hauptseite wo das Formular ist includet wurden ist, zeigt er das Formular nicht mehr an. Das heisst, ich kann keine weiteren sachen in die txt schreiben.

                  Hier nochmal der Code:

                  Index.php: Die Seite, wo das formular ist
                  PHP-Code:
                  <div align="center">
                  <table border="0" cellpadding="0" cellspacing="0" width="22%" height="100%">
                    
                    <? include("kec_bilder.txt") ?>
                  </table>
                  </div>


                  <div align="center">
                  <form method="POST" action="templates/kec_hinzufuegen.php">
                  <table border="0" width="235">
                    <tr>
                      <td width="79">Passwort:</td>
                      <td width="150"><input type="password" name="passwort" size="20"></td>
                    </tr>
                    <tr>
                      <td width="79">Pfad:</td>
                      <td width="150"><input type="text" name="pfad" size="20" value="http://"></td>
                    </tr>
                    <tr>
                      <td width="79">Kommentar:</td>
                      <td width="150"><input type="text" name="kommentar" size="20"></td>
                    </tr>
                    <tr>
                      <td width="79">&nbsp;</td>
                      <td width="150"><input type="submit" value="Hinzufügen" name="submit"></td>
                    </tr>
                  </table>

                  </form>
                  </div>

                  templates/kec_hinzufuegen.php: Die Datei, wo alles überprüft wird und in eine txt datei geschrieben wird
                  PHP-Code:
                  <?
                  $pw = "test";
                  if( isset($_POST["passwort"]) && isset($_POST["pfad"]) &&
                  isset($_POST["kommentar"]) && $_POST["passwort"] == $pw)
                  {
                  $oeffnen = fopen("kec_bilder.txt","r");
                  $gelesen = fread($oeffnen,9999);
                  fclose($oeffnen);
                  $eintrag="
                    <tr>
                      <td width=\"100%\" height=\"183\">
                        <img border=\"0\" src=\"$pfad\" width=\"200\" height=\"270\">$kommentar
                      </td>
                    </tr>
                    
                    ";
                  $schreiben = fopen("kec_bilder.txt","a");
                  fwrite($schreiben,$eintrag);
                  fclose($schreiben);
                  die("Bild wurde hinzugefügt");
                  }

                  elseif ($_POST["passwort"] != $pw)
                  {
                  echo "Falsches Passwort";
                  }
                  elseif (!isset($_POST["passwort"]))
                  {
                  echo "Bitte passwort angeben";
                  }

                  elseif (!isset($_POST["pfad"]))
                  {
                  echo "Bitte Pfad zum Bild angeben";
                  }

                  elseif (!isset($_POST["kommentar"]))
                  {
                  echo "Bitte ein Kommentar zum Bild geben";
                  }

                  else
                  {
                  echo "Fehler";
                  }
                  ?>
                  Woran kann es liegen, dass er das Formular nur einmal anzeigt?
                  Ich hoffe ich hab mich jetzt besser ausgedrückt...

                  Gruß
                  Gaint
                  Zuletzt geändert von Gaint; 21.04.2006, 22:34.

                  Kommentar


                  • #10
                    also wenn ich die seite aufrufe, dann kommen erst ein paar nicht gefundene bilder und danach das formular. WO ist nun das Problem?

                    Kommentar


                    • #11
                      du bist aber mutig junge nach bloss 5 std. einen zweites thread zu öffnen, wozu?
                      http://www.php-resource.de/forum/sho...threadid=69505

                      gostghambler hatte dir übrigens auch schon stark geholfen:
                      Code:
                      <form method="POST" action="templates/kec_hinzufuegen.php">
                      In Flames - Pinbal Map
                      Becoming the Archetype - No Fall Too Far
                      Pantera

                      Kommentar


                      • #12
                        Original geschrieben von pippo
                        du bist aber mutig junge nach bloss 5 std. einen zweites thread zu öffnen, wozu?
                        http://www.php-resource.de/forum/sho...threadid=69505

                        gostghambler hatte dir übrigens auch schon stark geholfen:
                        Code:
                        <form method="POST" action="templates/kec_hinzufuegen.php">
                        hi
                        ja das hier is zu durcheinander geworden

                        das war der fehler aber nicht

                        hab in jetzt behoben


                        DANKE LEUTZ

                        Kommentar


                        • #13
                          Ich würde: <form method="POST" action="index.php?aufruf=vomFormular">
                          weil darin ist das form.

                          Machst Du
                          <form method="POST" action="templates/kec_hinzufuegen.php">
                          so ist im templates/kez_hinzufuegen.php nämlich kein Form drin.

                          Das heisst Du musst im index.php unter anderem, unterscheiden (können), ob es als form oder einfach so aufgerufen wird. Dafür habe ich (edited) eine $_GET Variable $_GET['aufruf'] gemacht. Ist sie nicht vorhanden, ist's der erste Aufruf.

                          Das php.index hat also folgende Struktur:

                          INPUT: schauen obs erster oder folgender Aufruf ist und alle $_POST und $_GET Variablen entgegennehmen .
                          PROCESS: falls folgender Aufruf: verarbeiten, hinzufügen, templates/kec_hinzufuegen.php includen.
                          falls erster Aufruf, entsprechend verarbeiten und evtl. Variabeln leer-setzen, damit der output auch funktioniert.
                          OUTPUT: Formular und alles übrige ausgeben. Erst in diesem Teil kommt auch <html>..</html>.

                          Zuletzt geändert von vierteln; 22.04.2006, 20:35.

                          Kommentar

                          Lädt...
                          X