Formular --> PHP --> Insert --> mySQL: funktioniert nicht!

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

  • Formular --> PHP --> Insert --> mySQL: funktioniert nicht!

    Hallo zusammen!


    Mal wieder funktioniert mein Skript nicht und die Tips und Anleitungen die ich mir von diversen Seiten zusammengekratzt habe wollen auch nicht fruchten.

    Ganz simple Sache, die ich als Newbie, vorhabe: Daten von einem Formular in die Tabelle einzutragen. Aber, das läuft nicht.

    Den ersten Fehler vermute ich ja schon irgendwo in meinem PHP-Code, doch finde ich ihn nicht... bitte:

    PHP-Code:
    <? $eintragen = mysql_query($eintrag); ?>
        <form id="event_neu" name="event_neu" method="post" action="<?php $PHP_SELF ?>">
          <p>Datum: 
            <input type="text" name="datum" />
            jjjj-mm-tt
          </p>
          <p>Uhrzeit (Anfang): 
            <input type="text" name="uhr_anfang" />
            hh:mm</p>
          <p>Uhrzeit (Ende):
            <input type="text" name="uhr_ende" />
          hh:mm</p>
          <p>Veranstaltungsname:
            <input type="text" name="veranstaltung" />
          </p>
          <p>Leitung:
            <input type="text" name="leitung" />
          </p>
          <p>Beschreibung:
            <textarea name="beschreibung"></textarea>
          </p>
          <p>Beitrag pro Person:
            <input type="text" name="beitrag" />
          &euro;</p>
          <p>Bild:
            <input type="text" name="bildpfad" />
          </p>
          <p>max. Teilnehmerzahl :
            <input type="text" name="max_teilnehmer" />
          </p>
          <p><input type="submit" name="Submit" value="Eintragen" />
          </p>
        </form>
        <?php
            $datum 
    $_POST["datum"];
            
    $uhr_anfang $_POST["uhr_anfang"];
            
    $uhr_ende $_POST["uhr_ende"];
            
    $veranstaltung $_POST["veranstaltung"];
            
    $leitung $_POST["leitung"];
            
    $beschreibung $_POST["beschreibung"];
            
    $beitrag $_POST["beitrag"];
            
    $bild $_POST["bild"];
            
    $max_teilnehmer $_POST["max_teilnehmer"];
            
            
    $eintrag "INSERT INTO kochevents
                (datum, uhr_anfang, uhr_ende, veranstaltung, leitung, beschreibung, beitrag, bild, max_teilnehmer)
            VALUES 
                ('
    $datum', '$uhr_anfang', '$uhr_ende', '$veranstaltung', '$leitung',
                   '
    $beschreibung', '$beitrag', '$bild', '$max_teilnehmer')";
        
    ?>
    mit der Datenbank bin ich natürlich verbunden.

    Tja - also es passiert einfach NICHTS.


    Vielen Dank im Voraus, Tom
    EDIT:
    Übrüche sponsored by Pappi.
    Zuletzt geändert von TobiaZ; 08.12.2006, 15:54.

  • #2
    worked as designed!
    du schickst eine db-anfrage zu beginn des scriptes ab, den query definierst du aber am ende! also pasiert auch nichts.

    gruß
    peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

    Kommentar


    • #3
      Re: Formular --&gt; PHP --&gt; Insert --&gt; mySQL: funktioniert nicht!

      Original geschrieben von TomFresh
      Tja - also es passiert einfach NICHTS.
      Und das wundert dich wirklich, bei der Reihenfolge ...?

      Ganz oben steht
      PHP-Code:
      mysql_query($eintrag); 
      - zu einem Zeitpunkt, wo $eintrag noch gar nicht definiert ist, das erfolgt erst viel weiter unten ...


      Hättest du unsere Regeln gelesen, und dein error_reporting entsprechend eingestellt, dann hätte PHP dich gleich darauf hingewiesen, dass $eintrag gar nicht existiert.
      Aber nein, wozu schon vorher irgendwas lesen, sich informieren - man kann ja lieber gleich fragen und anderen mit solch einem trivialen Mist auf den Nerv gehen ...
      I don't believe in rebirth. Actually, I never did in my whole lives.

      Kommentar


      • #4
        Also es gibt Leute, wie mich, die erstmal kaum Ahnung von PHP und MySQL haben. Diese versuchen sich dann, mittels diverser Tutorials und Anleitungen und eBooks die ganze Geschichte beizubringen. Entsteht ein Fehler, so wird dieser gesucht, es wird herumexperimentiert usw.
        Ist dieser Fehler dann noch nicht beseitigt, sollten sich diese Leute hier melden dürfen, auch wenn das Problem unter Niveau der ganzen Profs liegt!!!! Die Regeln kenne ich, habe ich gelesen!
        PHP-Code:
        error_reporting(E_ALL); 
        war drin und ergibt N I C H T S ! !

        Darf ich nun nochmal zu meinem Problem kommen?!

        PHP-Code:
        $eintragen mysql_query($eintrag); 
        ich habs jetzt nach unten gepackt, nach der Definition von $eintrag. Leider immernoch erfolgslos.

        Irgendwie vermute ich den Fehler bei <?php $PHP_SELF ?> Mir kommt das irgendwie falsch vor.

        Nochmals Danke, Tom

        Kommentar


        • #5
          1. $eintragen = mysql_query($eintrag) or die (mysql_error());
          2. $_SERVER['PHP_SELF']
          3. solltest du noch eine bedingung einbauen, dass die formularinhalte erst nach dem absenden(!) in die db geschrieben werden, also z.b. if ($_POST)

          gruß
          peter
          Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
          Meine Seite

          Kommentar


          • #6
            Original geschrieben von TomFresh
            error_reporting(E_ALL);
            war drin und ergibt N I C H T S ! !
            Das ist eigentlich unmöglich - es sei denn, display_errors wäre dummerweise auch noch auf off gestellt.
            $eintragen = mysql_query($eintrag);
            ich habs jetzt nach unten gepackt, nach der Definition von $eintrag. Leider immernoch erfolgslos.[/B]
            In den Regeln stehen weitere Tipps was du machen sollst, wenn etwas mit MySQL "nicht funzt".
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              Alles klar, die Ecke läuft jetzt super - dafür hat sich an anderer Stelle ein eigentlich schon beseitigtes Problem aufgetan. Dies aber nicht in diesem Thread.

              Nunja, or die (mysql_error()) gibt Fehler aus, wie es auch seien sollte - von error_reporting(E_ALL); hab ich keine Fehlerauswertung gesehen (vll. gab's im php ja auch keine?!?)

              Hier noch mein korrektes Ergebnis:

              PHP-Code:
              <?php if(!isset($_POST['submit'])) {?>
                  <form id="event_neu" method="post" action="<?php $_SERVER['PHP_SELF'?>">
              .
              .
              .
              .
              .
                  </form>
                  <?php
                      $datum 
              $_POST["datum"];
                      
              $uhr_anfang $_POST["uhr_anfang"];
                      
              $uhr_ende $_POST["uhr_ende"];
                      
              $veranstaltung $_POST["veranstaltung"];
                      
              $leitung $_POST["leitung"];
                      
              $beschreibung $_POST["beschreibung"];
                      
              $beitrag $_POST["beitrag"];
                      
              $bild $_POST["bild"];
                      
              $max_teilnehmer $_POST["max_teilnehmer"];
                      
                      
              $eintrag "INSERT INTO kochevents
                          (datum, uhr_anfang, uhr_ende, veranstaltung, leitung, beschreibung, beitrag, bild, max_teilnehmer)
                      VALUES 
                          ('
              $datum', '$uhr_anfang', '$uhr_ende', '$veranstaltung', '$leitung',
                             '
              $beschreibung', '$beitrag', '$bild', '$max_teilnehmer')";
                          
                      
              $eintragen mysql_query($eintrag) or die (mysql_error());
                      }
                      
              error_reporting(E_ALL);
                  
              ?>

              Also, nochmals besten Dank, Tom
              EDIT:
              Umbrüche sponsored by Pappi
              Zuletzt geändert von TobiaZ; 08.12.2006, 15:53.

              Kommentar


              • #8
                PHP-Code:
                error_reporting(E_ALL); 
                gehört an den anfang der datei
                PHP-Code:
                if(!isset($_POST['submit'])) 
                bezog sich auf die verarbeitung im unteren teil und anders herum.

                gruß
                peter
                Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                Meine Seite

                Kommentar


                • #9
                  Original geschrieben von Kropff
                  error_reporting(E_ALL);
                  gehört an den anfang der datei
                  Scheint bei Tom irgendwie noch nicht angekommen zu sein, in welcher Reihenfolge ein prozedurales Script abgearbeitet wird.

                  Dass es an den Anfang sollte, steht natürlich auch in den Regeln ...
                  I don't believe in rebirth. Actually, I never did in my whole lives.

                  Kommentar

                  Lädt...
                  X