Update - Es werden nur Zahlen angenommen

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

  • Update - Es werden nur Zahlen angenommen

    Hallo,

    ich hab da ein kleines Problem. Ich möchte in Folge einer Kommentarfunktion Datensätze in einem MYSQL-Eintrag ändern.

    Die Datensätze werden in der Datei gbad2.php angezeigt. Der Eintrag kann über das Formular bearbeitet werden, es werden jedoch nur Zahlen gespeichert. Eine Texteingabe wird komplett ignoriert. Eine Fehlerausgabe erfolgt nicht.

    Leider konnte mit im phpforum dazu nicht weitergeholfen werden. Ich hoffe jemand von Euch weiß wo der Fehler steckt

    Gruß Polarwelt

    gbad2.php


    PHP-Code:
     <?php

     $Zugangspasswort 
    "1234";
     
     

     if(
    $_REQUEST['Send'] && $Zugangspasswort==$_REQUEST['Passwort'])
     {
        
    mysql_select_db("usr_web12_1");

         if(
    $_REQUEST['Passwort'] && $_REQUEST['Loeschen'] && $_REQUEST['Datum'])
         {
             
    mysql_query("DELETE FROM gbook WHERE Datum='".date("Y-m-d H:i:s"$_REQUEST['Datum'])."'");    
         }

         
    $ResultPointer=mysql_query("SELECT * FROM gbook ORDER BY Satz DESC");
        

         echo
    "<table border=\"0\">";
         for(
    $i=0$i<mysql_num_rows($ResultPointer); $i++)
        {
             
    $Gaestebuch=mysql_fetch_object($ResultPointer);
                     
               echo
    "<tr>",
                 
    "<td><b>G&auml;stebuch-Eintrag Nr. ",
                 
    htmlentities($Gaestebuch->Satz),
                 
    ": <br><br>",
                 
    "</b></td>",
                 
    "</tr>",
                 
                 
    "<tr>",
                 
    "<td><b>Eintrag vom: ",
                 
    substr($Gaestebuch->Datum82),
                 
    ".",
                 
    substr($Gaestebuch->Datum52),
                 
    ".",
                 
    substr($Gaestebuch->Datum04),
                 
    " ",
                 
    substr($Gaestebuch->Datum10),
                 
    "</b></td>",
                 
    "</tr>",
                 
                 
    "<tr>",
                 
    "<td><b>E-Mail Adresse: ",
                 
    htmlentities($Gaestebuch->EMail),
                 
    "</b></td>",
                 
    "</tr>",
                 
                 
    "<tr>",
                 
    "<td><b>Homepage: ",
                 
    htmlentities($Gaestebuch->Homepage),
                 
    "</b></td>",
                 
    "</tr>",
                 
                 
    "<tr>",
                 
    "<td><b>ICQ: ",
                 
    htmlentities($Gaestebuch->ICQ),
                 
    "</b></td>",
                 
    "</tr>",
                 
                 
    "<tr>",
                 
    "<td><b>IP: ",
                 
    htmlentities($Gaestebuch->IP),
                 
    "</b></td>",
                 
    "</tr>",
                 
                 
    "<tr>",
                 
    "<td><b>Wohnort: ",
                 
    htmlentities($Gaestebuch->Wohnort),
                 
    "</b></td>",
                 
    "</tr>",
                 
                 
    "<tr>",
                 
    "<td><b>Titel: ",
                 
    htmlentities($Gaestebuch->Titel),
                 
    "</b></td>",
                 
    "</tr>",
                 
                 
    "<tr>",
                 
    "<td><b>Eintrag: ",
                 
    htmlentities($Gaestebuch->Eintrag),
                 
    "</b></td>",
                 
    "</tr>",
                 
                 
    "<tr>",
                 
    "<td><b>Kommentar: ",
                 
    "</b></td>",
                 
    "</tr>",
                 
                 
    "<tr>",
                 
    "<td>",
                 
    "<form name='formular' action='kommentar-einfuegen.php' method='post'>",

                 
    "<input name='neukom' value='$Gaestebuch->Kommentar'>",
                 
                 
    "<input type='hidden' name='neusatz' value='$Gaestebuch->Satz'>",
                 
                 
    "</td>",
                 
    "</tr>",
                 
    "<tr>",
                 
    "<td>",
                 
    "<input name='Send' type='submit' value='Eintragen'>",
                 
    "</td>",
                 
    "<td>",
                 
    "<input name='Reset' type='reset' value='L&ouml;schen'>",
                 
    "</td>",
                 
    "</tr>",
                 
    "</form>";
                         
                 echo 
    "<tr>",
                 
    "<td><br><a href=\"",
                 
    $_SERVER['PHP_SELF'],
                 
    "?Send=1&Passwort=",
                 
    $_REQUEST['Passwort'],
                 
    "&Loeschen=1&Datum=",
                 
    strtotime($Gaestebuch->Datum),
                 
    "\">Eintrag l&ouml;schen</a></td>",
                 
    "</tr>",
                 
    "<tr>",
                 
    "<td><hr></td>",
                 
    "</tr>";
         }
         echo 
    "</table>";
     }
     else
     {
     
    ?>
     <table border="0">
     <form action="<?php echo$_SERVER['PHP_SELF']; ?>" method="post">
     <tr>
       <td>Passwort</td>
       <td><input name="Passwort" size="10" type="password"></td>
     </tr>
     <tr>
       <td align="center" colspan="2"><input name="Send" type="submit" value="Login"></td>
     </tr>
     </form>
     </table>
     <?php
     
    }

     
    ?>

    und hier die kommentar-einfuegen.php

    PHP-Code:
     <body>
      <?php
      error_reporting
    (E_ALL);
         include 
    "db.inc.php";
         
    mysql_select_db("usr_web12_1");
         
         
    $wert1 $_POST['neusatz'];
         
    $wert2 $_POST['neukom'];
     
            
        
    $SQL "UPDATE gbook SET Kommentar = $wert2 WHERE Satz = $wert1";
              
       
             
    mysql_query($SQL);
             
    mysql_error()
         

                
                  
    ?>
      Der Kommentar wurde eingetragen!<br><br> ?>
       <a href="gaestebuch.php">... zu den Eintr&auml;gen</a>
       <a href="gbad2.php">... zum Adminbereich</a>

     </body>
    </html>
    und hier noch die Tabellen-Felder aus phpMyAdmin:

    Feld: Kommentar
    Typ: Text
    Länge/Set:
    Attribute:
    Null: null
    Standard: NULL
    Extra:

    Feld: Satz
    Typ: int
    Länge/Set: 10
    Attribute:
    Null: nein
    Standard:
    Extra: auto_increment

  • #2
    Ich habe jetzt keine Lust, den ganzen Krempel da oben zu lesen, das ist mir zuviel unwichtiger Code dabei.

    Hast du daran gedacht, Strings beim Absetzen in die Datenbank in Anführungszeichen zu schreiben?

    Kommentar


    • #3
      Schreibe vor dein mysql_error() mal ein echo, dann siehst du, was du falsch machst...
      Ich denke, also bin ich. - Einige sind trotzdem...

      Kommentar


      • #4
        Hallo,

        hm ich hab jetzt nochmal mit Ausgabe der Fehlermeldung durchprobiert.

        Das Ergebnis:

        Trage ich Zahlen in das Input-Feld ein oder änder diese erfolgt der Eintrag ohne Fehler

        Trage ich Text ein z.B. test kommt folgender Fehler "Unknown column 'test' in field list' ... Was ich ehrlich gesagt nicht verstehe, da der Fehler ja normalerweise Aussagt, dass das Feld nicht vorhanden ist, aber warum klappts dann mit Zahlen?

        Gruß Polarwelt

        Kommentar


        • #5
          Original geschrieben von frabron
          Hast du daran gedacht, Strings beim Absetzen in die Datenbank in Anführungszeichen zu schreiben?
          tust du das nicht, will mysql das feld durch mit einem anderen (nicht existenten) feld updaten.
          Kissolino.com

          Kommentar


          • #6
            Hast du daran gedacht, Strings beim Absetzen in die Datenbank in Anführungszeichen zu schreiben?

            Kommentar


            • #7
              OffTopic:

              Mist zu langsam

              Kommentar


              • #8
                Jo habs probiert und funktioniert aber wieso er dann Zahlen reinschreibt und Text net blick ich ehrlich gesagt net.

                Vielen Dank Euch allen auf jedenfall

                Gruß Polarwelt

                Kommentar


                • #9
                  Eventuell, weil du in mySQl keine Spalte z. B. 5 nennen kannst und mySQl daher die 5 als Zahl interpretiert und in das entsprechende Feld schreibt

                  Da du aber rein theoretisch eine Spalte test nenne kannst, geht mySQl in einem solchen Fall, dass du das was du in der Spalte test stehen hast auch in der Spalte kommentar haben willst, gibt es jetzt keine Spalte test...
                  Ich denke, also bin ich. - Einige sind trotzdem...

                  Kommentar


                  • #10
                    zur ergänzung:
                    http://dev.mysql.com/doc/mysql/de/la...structure.html
                    Kissolino.com

                    Kommentar

                    Lädt...
                    X