[Variablen] Formular Probleme mit Variablen

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

  • [Variablen] Formular Probleme mit Variablen

    Ich habe folgendes Problem und zwar in der Datei admin.php habe ich das unten aufgeführt Formular und die Daten werden von der Datenbank geladen.
    Beim Absenden zB Aendern sind alle Daten "$benutzername, usw." leer und nur senden und regdatum haben den entsprechenden Wert.
    Warum sind die anderen leer?
    PHP-Code:
    ...
    <?php
        mysql_connect
    ("server""benutzer""password") or
            die(
    "Could not connect: " mysql_error());
        
    mysql_select_db("datenbank");
        if(
    $senden!=null)
        {
            if(
    $senden=="Loeschen")
            {
                
    mysql_query("DELETE FROM kunden WHERE benutzername='".$benutzernmame."'") or
            die(
    "Löschen gescheitert: " mysql_error());
                
    printf ("Deleted records: %d\n"mysql_affected_rows());
            }else if(
    $senden=="Aendern")
            {
                
    mysql_query("UPDATE kunden SET regdatum='".$regdatum."', vorname='".$vorname."', nachname='".$nachname."', strasse='".$strasse."', nummer='".$nummer."', plz='".$plz."', ort='".$ort."', land='".$land."', telefon='".$telefon."', fax='".$fax."', email='".$email."', gebtag='".$gebtag."', gebmon='".$gebmon."', gebjahr='".$gebjahr."', gewicht='".$gewicht."', groesse='".$groesse."', koerperfett='".$koerperfett."', passwort='".$passwort."', ok='false' WHERE benutzername='".$benutzernmame."'") or
            die(
    "Änderung gescheitert: " mysql_error());
                
    printf ("Updated records: %d\n"mysql_affected_rows());
            }
        }else{
            echo 
    "Anzeigen" ;
        }

        
    $result mysql_query("SELECT * FROM kunden");
         while (
    $row mysql_fetch_array($resultMYSQL_BOTH)) {
    echo
    "
    <FORM action='admin.php' method='POST'>
    <TABLE align='MIDDLE' valign='MIDDLE' bordercolor='#C0C0C0'>
      <TR>
       <TD>Registrierdatum
       </TD>
       <TD><INPUT TYPE='text'  name='regdatum' value='"
    .$row[0]."' align='middle'>
       </TD>
      </TR>
       <TR>
          <TD>
             Vorname
          </TD>
          <TD>
             <INPUT TYPE='text'  name='vorname' value='"
    .$row[1]."' align='middle'>
          </TD>
       </TR>
       <!-- hier stehen die restlichen Formularfelder -->
       <TR>
          <TD>
             <INPUT TYPE='SUBMIT' name='senden'  value='Aendern' align='middle'>
          </TD>
          <TD>
             <INPUT TYPE='SUBMIT' name='senden'  value='Loeschen' align='middle'>
          </TD>
       </TR>
    </TABLE> </FORM>"
    ;
    }
    //while ende
    ...

  • #2
    register_globals = on?
    Beantworte nie Threads mit mehr als 15 followups...
    Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

    Kommentar


    • #3
      $row = mysql_fetch_array($result, MYSQL_BOTH)
      Ich würde es erzetrzen durch:
      PHP-Code:
      $row mysql_fetch_row($result
      Download ET-Chat v3.x.x

      Kommentar


      • #4
        Original geschrieben von MelloPie
        register_globals = on?
        ??? wie / wo mache ich das?

        Kommentar


        • #5
          in der php.ini
          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


          • #6
            Original geschrieben von Abraxax
            in der php.ini
            muß ich die auf dem Server (wo ich daten upgeloadet habe) erstellen?
            wie sieht die ungefähr aus?

            (hab vorher mit JSP und Java programmiert, bin jetzt zwangsläufig auf php gestoßen da der Webhost nur php und mysql kann und kein Java - bei Java hat mein"System" gut hingehauen, habs eigentlich nur in php übersetzt)

            Kommentar


            • #7
              Die kannst du normal nicht ändern. Aber ich würde auch mal ausschließen, daß es daran liegt, da $senden und $regdatum ja anscheinend den richtigen Wert haben. Wäre REGISTER_GLOBALS aus, hätten alle Variablen keinen Wert.

              Kommentar


              • #8
                Beim register.php Formular hab ich jedenfalls alle Variablen drin, dh. sie haben alle einen Wert. (Das Script ist genauso aufgebaut wie oben jedoch mit dem unterschied das die Textfelder leer sind, dann werden die mittels senden übergeben und in die DB eingetragen "Insert into ...) Wenn ich sie aber angucke und dann ändern möchte (im admin.php) dann hab ich obiges Problerm.

                Ändere ich zb beim textfeld benutzername den name auf benutzername1, dann hat benutzername1 ein Wert

                Kommentar


                • #9
                  mysql_query("DELETE FROM kunden WHERE benutzername='".$benutzernmame."'") or
                  du schreibst $benutzernmame öfters falsch.
                  --> $benutzername


                  Offe

                  Kommentar


                  • #10
                    allerdings sind die anderen nach dem Ändern/Löschen auch leer bis auf der 1.) regdatum und der 2) bzw letzte senden

                    sobald ich bn1, vn1, nn1 usw statt bn, vn,... geht es

                    Kommentar


                    • #11
                      du hast auch bei update
                      WHERE benutzername='".$benutzernmame."'"
                      Offe

                      Kommentar


                      • #12
                        Benutz HTTP_*_VARS bzw. $_*-Vars...

                        Kommentar


                        • #13
                          kannst du bitte mal ein Bsp machen zb mit benutzername?

                          Kommentar


                          • #14
                            ich habs

                            $HTTP_POST_VARS['benutzername'];

                            richtig?

                            Kommentar

                            Lädt...
                            X