Update-Funktion

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

  • Update-Funktion

    Hallo!

    Ich habe ein großes Problem. Und zwar möchte ich eine Tabelle updaten.
    In der Tabelle sind 4 Felder:

    username
    password
    option1
    option2

    Die Tabelle soll in Listenform auftauchen und es soll ein UPDATE-Button
    neben jeden Eintrag.

    Ich habe das bei einer DELETE-Anweisung hinbekommen aber bei der
    Update-Seite passiert garnichts.

    Das Passwort, die Bestätigung und Option 1 und 2 sind in der Update-Seite Formularfelder in denen Eintragungen forgenommen werden sollen.
    Dann klickt man auf den Link und es soll abgedatet werden.

    Und das passiert nicht. Hier der Code:

    PHP-Code:
    $update mysql_query("UPDATE ".$mysql_prefix."user_management SET username = '$username', password = '$password', option1 = '$option1', option2 = '$option2' WHERE username = '$username'");

    $abfrage mysql_query("SELECT username, password, option1, option2 FROM ".$mysql_prefix."user_management ORDER BY username ASC");

    if (
    mysql_num_rows($abfrage) <1) {
    echo 
    "Es sind keine Benutzer in der Datenbank gespeichert!";
    } else {
    echo 
    "<form action='' method='post' name='updateuser'><table width='500' border='1' cellspacing='0' bordercolor='6701FF' 
    align=center cellpadding='1'><tr class='Hauptteil2'>"
    ;
    echo 
    "<td>Benutzername<br></td><td>Password<br></td><td>Bestätigung<br></td>
    <td>Option-1<br></td><td>LiveDemo<br></td><td>Option-2<br></td></tr>"
    ;

    while(
    $ausgabe=mysql_fetch_array($abfrage))
        {
    echo 
    "<tr class='Hauptteil2'><td>$ausgabe[username]<br></td>
    <td><input value='
    $ausgabe[password]' name='password' type='text' size='10' maxlength='10' background-color:#FFFFFF;'><br></td>
    <td><input value='
    $ausgabe[password]' name='password_confirm' type='text' size='10' maxlength='10' background-color:#FFFFFF;'><br></td>";
              if (
    $ausgabe[option1] == Ja) {
            echo 
    "<td><select size='1' name='option1'><option selected>Ja</option><option>Nein</option></select><br></td>";
          } else {
            echo 
    "<td><select size='1' name='option1'><option>Ja</option><option selected>Nein</option></select><br></td>";
          }
              if (
    $ausgabe[option2] == Ja) {
            echo 
    "<td><select size='1' name='option2'><option selected>Ja</option><option>Nein</option></select><br></td>";
          } else {
            echo 
    "<td><select size='1' name='option2'><option>Ja</option><option selected>Nein</option></select><br></td>";
          }
    echo 
    "<td><a href=\"".$PHP_SELF."?username=".$ausgabe[username]."\">UPDATE</a>";
    }
    echo 
    "<br></td></tr>";
    }
    echo 
    "</div></table></form>"
    Ich danke schon mal für Eure Hilfe und hoffe, dass die Erklärung OK ist

  • #2
    Re: Update-Funktion

    Original geschrieben von DR-DooM
    aber bei der Update-Seite passiert garnichts.
    dann wäre es vielleicht empfehlenswert, wenn du dem formular auch ein ziel gibst ...
    PHP-Code:
    echo "<form action='' method='post' name='updateuser'> 
    eine nicht-leere action-angabe für's formular wäre vielleicht ein guter anfang, oder?
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      füge mal hinter deinen 2x mysql_query() noch ein mysql_error() an.

      PHP-Code:
      $res mysql_query("UPDATE diesunddas ......") or die(mysql_error()); 
      auch solltest du dir angewöhnen, variablen niemals direkt in den string zu schreiben.
      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


      • #4
        Hallo!

        Also ich habe jetzt dem Formular ein Ziel gegeben und den beiden SQL-Anweisungen noch das anhängsel:

        PHP-Code:
         or die(mysql_error() 
        Jetzt gibt es zwei schöne Phänomene. Und zwar...

        ...wenn Option1 oder 2 auf "Ja" steht, dann kann ich es auf "Nein" setzen
        aber nicht umgekert. Somit wird nur aus JA NEIN

        ...wird der Username, das Passwort und die Bestätigung gelöscht.


        Hat jemand dazu eventuell eine Idee?

        Danke für die Antworten.

        Kommentar


        • #5
          gelöscht?

          hast du evtl noch mehr code wo auch eine DELTE-anweisung enthalten ist?

          benutzt du auch $_GET und/oder $_POST ?
          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
            Nein. Das ist der ganze Code für die Update-Seite. Nur auf der Delete-Seite gibt es den besagten Lösch-Code.

            Im Formular habe ich sowohl GET als auch POST ausprobiert. Beides führt
            zum selben Ergebnis!

            Ich weis solangsam nicht mehr weiter, warum es hier nicht klappt...

            Kommentar


            • #7
              Im Formular habe ich sowohl GET als auch POST ausprobiert. Beides führt
              zum selben Ergebnis!
              das war imho so gemeint, daß du hier
              PHP-Code:
              $update mysql_query("UPDATE ".$mysql_prefix."user_management SET username = '".$_GET["username"]."', password = '".$_GET["password"]." ... 
              verwenden solltest, bzw. POST, da das wohl besser dafür geeignet ist.

              wenn du in der ersten zeile der auswertung mal
              PHP-Code:
              echo "<pre>";
              print_r ($_POST); 
              machst ...
              siehst du, was im POST steht.
              Die Zeit hat ihre Kinder längst gefressen

              Kommentar


              • #8
                vielleicht mag er "password =" nicht, da password ein geschütztes Wort ist.

                probier "`passwort` ="

                Offe

                Kommentar


                • #9
                  Jooo!

                  Danke für Eure Hilfe. Es funktioniert! an alle!

                  Kommentar

                  Lädt...
                  X