nur ein Teil des Formulares wird in die DB geschrieben

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

  • nur ein Teil des Formulares wird in die DB geschrieben

    Hi,
    bin grad echt am Verzweifeln...
    Ich bin noch nicht so fit in PHP, bin grade dabei ein kleines Script zu schreiben wo man per Formular Daten in die DB einträgt wieder löscht usw...
    Am Anfang hatte ich jeden Teil davon in einer eigenen Datei, nun habe ich aber alles in eine Datei gemacht und prombt klappt nix mehr.

    Wenn ich das Formular ausfülle schreibt er nur noch die ID und das Datum in die DB, wenn ich das ganze mit GET übergeben lasse dann zeigt er mir die Werte auch an jedoch schreibt er sie nicht in die DB.
    Woran könnte das denn liegen? Davor ging es ja noch..

    Hier noch etwas Code:
    Eine Teil des Formulars hab ich weggelassen, damit es übersichtlicher ist.
    PHP-Code:
     echo "<a href='intern_index.php?action=1'>news eintragen</a>";



      
    /* wenn action in url angegeben */
      
    if (isset($action)) {

      
    /* wenn action 1 eintragen */
      
    if ($action == "1"){
      echo 
    "<form action='$PHP_SELF' method='post' name='form'>";
      echo 
    "<table cellspacing='0' cellpadding='0' border='0'>";
      echo 
    "<tr>";
      echo 
    "    <td>newstitel:</td>";
      echo 
    "    <td><input type='text' name='titel' style='width:300px;font-size:10px;'></td>";
      echo 
    "</tr>";
      echo 
    "<tr>";
      echo 
    "    <td valign='top'>newstext:</td>";
      echo 
    "    <td><textarea name='news' rows='8' cols='10'
    style='width:300px;font-size:11px;font-family:verdana;'>
    </textarea></td>"
    ;
      echo 
    "</tr>";
      echo 
    "<tr>";
      echo 
    "    <td colspan='3'><input type='submit' value='ok'></td>";
      echo 
    "</tr>";
      echo 
    "</table>";
      echo 
    "</form>";

      
    $titel $_POST['titel'];
      
    $news $_POST['news'];
      
    $datum date('ymd');
      
    $bildauswahl $_POST['bildauswahl'];
      
    $eintrag "INSERT INTO news (titel, news, datum, bildauswahl)
       VALUES ('
    $titel', '$news', '$datum', '$bildauswahl')";
      
    $eintragen mysql_query($eintrag);
      } 

    Danke schonmal!

  • #2
    1. E_ALL an?
    2. mysql_error() einbauen.
    3. query vorm ausführen ausgeben lassen und hier zeigen. und in pma o.ä. testen.

    Kommentar


    • #3
      Meinst du folgendes??
      Notice: Undefined index: titel in D:\apachefriends\xampp\htdocs\news\intern_index.php on line 52

      Notice: Undefined index: news in D:\apachefriends\xampp\htdocs\news\intern_index.php on line 53

      Notice: Undefined index: bildauswahl in D:\apachefriends\xampp\htdocs\news\intern_index.php on line 55

      Warning: mysql_error(): supplied argument is not a valid MySQL-Link resource in D:\apachefriends\xampp\htdocs\news\intern_index.php on line 58

      Sorry aber mit deinen Tips kann ich leider net soviel anfangen :/

      Kommentar


      • #4
        ja. nimm ein wörterbuch zur hand, vieles wird klarer.

        sehe ich das richtig, dass nach dem klick auf einen link die form erscheint und direkt versucht wird, in die db einzutragen, noch bevor die form ausgefüllt wurde? da fehlt dir aber ein wenig verständnis für das ganze.

        PHP-Code:
        if ( isset($_POST['eintragen']) )
        {
           
        // eintrag in die db

        else
        {
           
        // form ausgeben

        Kommentar


        • #5
          Ja da hast du Recht, da ich mich aber erst seid 4 Wochen damit beschäftige hab ich eben noch nicht so die Ahnung davon.
          Es bereitet mir eben noch Probleme auf die richtige LÖsung zu kommen...

          Aber das ist nicht mein Problem die Abfrage dass er nix in die DB schreibt wenns Formular leer ist kommt noch.
          Das Problem ist wieso er nix mehr in die DB schreibt...
          Zuletzt geändert von mrpiper; 09.09.2005, 15:52.

          Kommentar


          • #6
            Lass dir z.B. mal den Query per echo ausgeben, dann wirst du wahrscheinlich schon viel mehr wissen...

            Kommentar


            • #7
              das komische ist dass der mir nichtmal was zeigt wenn ich mit echo was ausgebe :/
              Langsam nervt es echt ....

              Kommentar


              • #8
                Dann überprüfe durch Testausgaben, welche der Bedingungen tatsächlich erfüllt werden. Vielleicht kommt das Script gar nicht zum Schreiben in die DB.

                Kommentar


                • #9
                  Nee es schreibt nicht in die DB das weiss ich ja schon!
                  Datum und ID wird ja nicht vom Formular übergeben.

                  Kommentar


                  • #10
                    Schau dir am besten erstmal die Grundlagen an, z.B. auf http://www.schattenbaum.net

                    Kommentar


                    • #11
                      Die hab ich mir angeschaut sonst hätte ich es bis hier net gepackt.

                      Bevor ich die Formulare in eine Datei gehauen habe, ging ja alles ohne Probleme...

                      Kommentar


                      • #12
                        Die Struktur der ganzen Sache haut auch nicht richtig hin. Du gibst das Formular aus, wenn eigentlich der Query an die DB abgesetzt werden sollte.

                        Warum muss denn alles in einer Datei sein? Für den Anfang ist es vielleicht besser, alles getrennt zu machen.

                        Kommentar


                        • #13
                          Ich weiss ned ob das dein Prob löst, aber du scheinst mal mit register_globals on und mal mit off zu arbeiten.
                          PHP-Code:
                          if(isset($action)){...
                          }
                          //besser so
                          if(isset($_GET['action'])){..
                          }
                          //und besser auch so
                          echo '<form action="'.$_SERVER['PHP_SELF'].'"...>'
                          In deinem Form finde ich weder 'bildauswahl' noch 'news'. Du solltest auch verhindern, dass die Query ausgeführt wird bevor das Form ausgefüllt ist.
                          Gib dem submit-Button einen 'name' und prüfe bevor du die Query absetzt, ob er auch gesetzt ist.
                          PHP-Code:
                          if($_POST['name_des_buttons']){
                          //Das Form wurde abgeschickt also Query zusammenbauen
                          }
                          else{
                          //Form wurde nicht abgeschickt also Form ausgeben

                          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

                          Lädt...
                          X