Problem mit Action "post"

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

  • Problem mit Action "post"

    Hallo, ich bin Anfänger :-( erschiest mich bitte nicht
    gleich bin schon selber überrascht wie ich überhaupt
    die anzeigen in der datenbank speichern kann :-)

    mein Problem ist folgendes

    Versuche gerade ein Anzeigen Board zu programieren
    komme aber an einer Stelle nicht weiter wenn man die
    Pflichtfelder ausgefüllt hat gibt es noch eine möglichkeit
    ein Bild mit aufm Server zuladen sobald man auf Anzeige
    abschicken klickt werden die daten in der mysql
    Datenbank abgespeichert aber leider wird das
    Bild nicht mit hochgeladen

    das problem ist das nicht weiß wie ich den action
    post befehl progamieren muss . weil so untereinander
    funktioniert es nicht

    PHP-Code:

    <form action="<?php echo $_REQUEST["PHP_SELF"]; ?>" method="POST"  >

    <form method="post" action="upload.php" enctype="multipart/form-data">

    da PHP ja nach der reihenfolge abarbeitet nimmt er 
    als erstes die zeile mit dem PHP_SELF  und geht 
    nicht mehr weiter auf die zeile mit 
    post"upload.php" wenn ich das so richtig verstanden habe 

    kann da jemand eventuell weiterhelfen 
    wär echt nett ,mikeHH

    hier noch mal ein auschnitt 


         // in die datenbank eintragen
         $result        =        mysql_query( $sql );
         die("Deine Anzeige wurde gespeichert");
        }
    }

    ?>

    <?php
        
    if ( $error_msg != "")
    {
    echo 
    $error_msg;
    }

    ?>
    <form action="<?php echo $_REQUEST["PHP_SELF"]; ?>" method="POST"  >

    <form method="post" action="upload.php" enctype="multipart/form-data">

    <p align="center"><font face="Arial" size="6">Anzeige aufgeben</font></p>
    <table border="0" width="100%">
        <tr>
    Zuletzt geändert von mikeHH; 28.12.2005, 23:08.

  • #2
    wie wäre es mit so?
    PHP-Code:
    <form action="<?php echo $_REQUEST["PHP_SELF"]; ?>" method="POST" enctype="multipart/form-data" >
    und dann Eintragen der Daten und if (isset($_FILES['input_name'])) dann den File-Upload auch noch, alles in der gleichen Datei

    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
      huiii jetzt gehts ans eingemachte :-)

      erstmal danke für die schnelle antwort

      PHP-Code:

      <form action="<?php echo $_REQUEST["PHP_SELF"]; ?>" method="POST" 
      enctype="multipart/form-data" >

      aber fehlt da nicht noch der verweis auf "upload.php" 
      weil der eigentlich php code der für den upload 
      zuständig ist ja in der datei "upload.php" steht.


      ich habe auf einer andere seite folgendes inhalt 

      <html><head><title>Dateiupload</title></head>
      <body>
      <p><font face="Arial, Helvetica, sans-serif" size="6">
      Dateiupload via HTML </font></p>
      <form method="post" action="upload.php" enctype="multipart/form-data">
        Datei:
        <input name="MAX_FILES_SIZE" value="100000" 
      type="hidden">
        <input name="datei" size="40" maxlength="100000" 
      type="file">
        <input name="Submit" value="Senden" type="submit">
      </form>
      </body></html>
      damit funkioniert der upload einer datei super allerdings
      möchte ich ja die eingetragenen daten und das bild
      gleichzeitig abschicken
      Zuletzt geändert von mikeHH; 28.12.2005, 23:09.

      Kommentar


      • #4
        Original geschrieben von mikeHH
        damit funkioniert der upload einer datei super allerdings möchte ich ja die eingetragenen daten und das bild gleichzeitig abschicken
        und dafür musst du eintragen und hochladen auf eine Seite packen. Du kannst doch nicht gleichzeitig ein Formular an 2 Seiten senden...

        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
          haha
          mit
          <form action="<?php echo $_REQUEST["PHP_SELF"]; ?>" method="POST" enctype="multipart/form-data" >
          Willst du ja das alles in dieser folgenden datei bearbeitet werden soll wenn du es an upload.php schicken möchtest solltest du das so abändern:
          <form action="upload.php" method="POST" enctype="multipart/form-data" >

          Kommentar


          • #6
            sorry aber kann man nicht gleichzeitig von einer php seite aus

            die formulardaten mit

            form action="<?php echo $_REQUEST["PHP_SELF"]; ?>" method="POST" >

            senden und das foto über

            <form action="upload.php" method="POST" enctype="multipart/form-data" >


            mein problem ist wenn ich nur das

            form action="<?php echo $_REQUEST["PHP_SELF"]; ?>" method="POST" >

            in der seite lasse funktioniert das eintragen in der datenbank

            möchte aber das bild auch gleichzeitig abschicken über "upload.php"

            Kommentar


            • #7
              Das mit deinen 2 Form-Tags geht definitv nicht!

              Geh am besten so vor, dass du immer an das Formular selbst schickst, was du ja mit $_REQUEST["PHP_SELF"] machst - prüfe in dieser Datei am Anfang, ob ein Bild hochgeladen wurde -> wenn ja, bindest du deine upload.php ein (evtl. anpassen damit sie includiert werden kann).
              Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
              Schön - etwas Geschichte kann ja nicht schaden.
              Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

              Kommentar


              • #8
                Hallo, ich bin Anfänger :-(
                das hindert dich aber nicht am lesen dieses threads hier.
                http://www.php-resource.de/forum/sho...threadid=50454

                und wenn du fertig gelesen hast, kannst du direkt deine posts entsprechend mit php-tags versehen!
                INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                Kommentar


                • #9
                  hallo,danke für eure meldungen habe jetzt die upload
                  in die gleiche seite mit eingebaut weil ich ja gelernt
                  habe das 2 Form-Tags nicht geht


                  wenn ich jetzt den formular ausfülle und auf absenden
                  drücke wird der formularinhalt in der datenbank
                  gespeichert aber immer noch kein bild hochgeladen
                  es kommt die fehlermeldung im Browser:

                  Fehler: Im Dateinamen oder Dateigrössen Limit!
                  Deine Anzeige wurde gespeichert


                  hier ein abschnitt vom inhalt:

                  PHP-Code:

                  <?php
                  include 'db.inc.php';
                  ?>
                  <html>
                  <head>
                  <meta http-equiv="Content-Language" content="de">
                  <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
                  <title>Anzeige aufgeben</title>
                  </head>
                  <body>
                  <?php

                  // pflichtfeldkontrolle
                  if ( isset($_REQUEST["do"]) && $_REQUEST["do"] == "insert" )
                  {
                  $error_msg        =        "";
                  if  (
                  $_REQUEST["form_titel"]  == "" )
                  {
                  $error_msg =   "Bitte Titel & Rubrik eingeben.<br>";
                  }
                  if  (
                  $_REQUEST["form_text"]  == "" )
                  {
                  $error_msg .=   "Bitte Text & Rubrik eingeben.<br>";
                  }
                  if ( 
                  $error_msg == "")

                  {
                  //datum
                  $datum    =   date("d.m.y ");
                  // INSERT

                         
                  $sql            =      "INSERT INTO gio_kontaktanzeigen 

                  (Titel, Text, category, timestamp ) VALUES ( "
                  ;
                         
                  $sql           .=    " '" $_REQUEST["form_titel"] . "', ";
                         
                  $sql           .=    " '" $_REQUEST["form_text"] . "', ";
                         
                  $sql           .=    " '" $_REQUEST["form_category"] . "', ";
                         
                  $sql           .=    " '" $datum "' ";
                         
                  $sql           .=    " ) " ;
                  // in die datenbank eintragen
                        
                  $result        =        mysql_query$sql );
                  //  File Upload funktion
                  // Prüfen des Array $_REQUEST
                  if (isset($_REQUEST["datei"])) {
                  // Upload-Status
                  if ($_REQUEST["datei"]["error"] == UPLOAD_ERR_OK) {
                  // Muster zur Überprüfung der im Dateinamen
                  // enthaltenen Zeichen (Optional)
                  $regExp "/^[a-z_]([a-z0-9_-]*\.?[a-z0-9_-])*\.[a-z]{3,4}$/i";
                  // Dateiname und Dateigrösse
                  if (preg_match($regExp,$_REQUEST["datei"]["name"]) && 

                  $_REQUEST["datei"]["size"] > && $_REQUEST["datei"]["size"] < 100000) {
                  // Temporäre Datei in das Zielverzeichnis
                  // des Servers verschieben.
                  move_uploaded_file($_REQUEST["datei"]["tmp_name"],"bild/".$_REQUEST["datei"]["name"]);
                  }
                  else {
                  echo 
                  "Fehler: Im Dateinamen oder Dateigrössen Limit!";
                  }
                  }
                  else {
                  echo 
                  "Fehler: Während der Übertragung aufgetreten!";
                  }
                  }
                  else {
                  echo 
                  "Fehler: Dateiupload fehlgeschlagen!";
                  }
                          die(
                  "Deine Anzeige wurde gespeichert");
                          }
                  }
                  ?>

                  <?php
                     
                  if ( $error_msg != "")
                  {
                  echo 
                  $error_msg;
                  }
                  ?>

                  <form enctype="multipart/form-data"
                  action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="POST">

                  <p align="center"><font face="Arial" size="6">Anzeige aufgeben</font></p>
                  <table border="0" width="100%">
                      <tr>
                          <td width="213">
                          <p align="left"><font face="Arial" size="4">Rubrik auswählen:&nbsp;
                          </font></td>
                          <td>
                              <p align="left"><br>
                              <br>
                              <select size="1" name="form_category">
                              <option selected value="1">Er sucht Sie</option>
                              <option value="2">Sie sucht Ihn</option>
                              <option value="3">Er sucht Ihn</option>
                              <option value="4">Sie sucht Sie</option>
                              <option value="5">Er sucht Paar</option>
                              <option value="6">Sie sucht Paar</option>
                              <option value="7">Paar sucht Ihn</option>
                              <option value="8">Paar sucht Sie</option>
                              <option value="9">Paar sucht Paar</option>
                              </select></p>
                          <p>&nbsp;</td>
                      </tr>
                  </table>
                  <table border="0" width="100%">
                      <tr>
                          <td width="209"><b><font face="Arial">Titel eingeben:</font></b></td>
                          <td>
                              <p><br>
                              <br>
                              <input type="text" name="form_titel" size="60"></p>

                          <p>&nbsp;</td>
                      </tr>
                  </table>
                  <table border="0" width="100%">
                      <tr>
                          <td><b><font face="Arial">Text eingeben:</font></b></td>
                      </tr>
                  </table>
                      <p><textarea rows="5" name="form_text" cols="79"></textarea></p>

                  <table border="0" width="100%">
                      <tr>
                          <td><font face="Arial"><b>Bild uploaden</b> (max.bis 100kb)</font></td>
                          <td width="658">
                          <p><br>
                              <br>

                                 <input name="MAX_FILES_SIZE" value="100000" type="hidden">
                      <input name="datei" size="40" maxlength="100000" type="file">
                  <p>
                      <input type="hidden" name="do" value="insert">
                             <input type="submit" value="Anzeige aufgeben" name="B1" 
                  style="float: left"><input type="reset" value="Zurücksetzen" name="B3"></td>
                      </tr>
                  </table>
                  </form>

                  </body>
                  </html>
                  Zuletzt geändert von mikeHH; 29.12.2005, 00:03.

                  Kommentar


                  • #10
                    geschrieben von Abraxax
                    das hindert dich aber nicht am lesen dieses threads hier.
                    Lesen, umsetzen und dann ggf wieder posten.
                    p.s. es gibt einen Ändern Button für deine Threads

                    Gruss

                    tobi
                    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                    Kommentar


                    • #11
                      PHP-Code:
                      habe so weit ich verstanden habe ich die zeile in 
                      mein datei eingefügt und nachdem ich jetzt auf 
                      absenden gedrückt habe ich folgende 
                      fehlermeldung bekommen 

                      The requested URL /board/<br /><b>Notice</b>: 
                      Undefined index: PHP_SELF in <b>/kunden/88570_22111/webseiten/board/
                      aufgeben.php</b> on line <b>103</b><br /> 
                      was not found on this server.

                      zeile 103 # <form action="<?php echo $_REQUEST
                      ["PHP_SELF"]; ?>" method="POST"  >
                      Zuletzt geändert von mikeHH; 28.12.2005, 23:10.

                      Kommentar


                      • #12
                        bist du so panne, oder tust du nur so?


                        Original geschrieben von Abraxax
                        das hindert dich aber nicht am lesen dieses threads hier.
                        http://www.php-resource.de/forum/sho...threadid=50454

                        und wenn du fertig gelesen hast, kannst du direkt deine posts entsprechend mit php-tags versehen!
                        Original geschrieben von jahlives
                        Lesen, umsetzen und dann ggf wieder posten.
                        p.s. es gibt einen Ändern Button für deine Threads

                        Gruss

                        tobi
                        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                        Kommentar


                        • #13
                          Mein letzter Tipp dazu (wenn du nicht schnell deine alten Posts anpasst)
                          Code:
                          <form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="POST">
                          Gruss

                          tobi

                          p.s. pass deine Beiträge an
                          Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                          [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                          Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                          Kommentar


                          • #14
                            nicht sauer werden bin dabei ,kenn noch nicht alle regeln hier im board

                            Kommentar


                            • #15
                              ich hoffe das ist jetzt so in ordnung ,wenn nicht könnt ihr
                              mir ja sagen wo noch was gemacht werden soll

                              @jahlives habe es mit der zeile von dir versucht aber wieder
                              kam der fehler:

                              Fehler: Im Dateinamen oder Dateigrössen Limit!
                              Deine Anzeige wurde gespeichert

                              woran kann es liegen?

                              Kommentar

                              Lädt...
                              X