Formular (Checkbox) in Datenbank speichern

Fragen zu PHP.
Fragen zu we:Tags bitte im Forum webEdition Templates erstellen (we:Tags) posten.
chw
Senior Member
Beiträge: 164
Registriert: Do 1. Jan 1970, 02:00
Kontaktdaten:

Formular (Checkbox) in Datenbank speichern

Beitragvon chw » Mo 26. Jul 2010, 17:05

Hallo,

ich habe eine Seite mit Fotos, die alle in der Datenbank mit einer 1 bestätigt werden müssen. Jedes Foto muss aus rechtlichen Gründen einzeln bestätigt werden. Mit einer Checkbox soll der User das erledigen.
Hier mal der Code für diese Seite:

Code: Alles auswählen

echo"<"."form action=\"/user/xxx.php\" method=\"post\">
    <fieldset>
            <legend>Veröffentlichen: </legend>
            <label><input type=\"checkbox\" name=\"img_rights[1]\" value=\"1\" img_id=".$DB_WE->f("img_id")."/>Ich erkenne alles an</label>
        </fieldset>
        <input type=\"submit\" name=\"img_rights\" value=\"Bestätigen\" />
    </fieldset>
<"."/form>";
Hier der Code der Seite, die die Info in die DB eintragen soll:

Code: Alles auswählen

foreach ($_POST as $key => $value) {
       $$key = $value;
       }
       $img_id = $DB_WE->f("img_id");
       $DB_WE->query("UPDATE img_rights, u_id, img_id FROM modImagesImages SET img_rights='$img_rights' WHERE  (u_id='$webuser[ID]' && img_id='$img_id')");
Es funktioniert leider nicht. Kann mir vielleicht jemand bei der Lösung helfen?

Vielen Dank
Christian

we:willRockYou
Senior Member
Beiträge: 919
Registriert: Fr 22. Mai 2009, 21:40
Wohnort: Berlin
Kontaktdaten:

Re: Formular (Checkbox) in Datenbank speichern

Beitragvon we:willRockYou » Mo 26. Jul 2010, 17:25

Hallo Christian,

ich sehe hier gleich 3 Probleme. :)

Ein mal heisst Deine Checkbox genau so wie Dein Submit-Button. Der Button überschreibt den Wert somit beim absenden, die Auswhal der Checkbox kommt niemals an.

Die zweite Sache wäre, dass die Checkbox img_rights als Array übergeben wird. Demnach musst Du im SQL-Query auch $img_rights[1] verwenden.

Das dritte ist, dass Du den Wert img_id nicht übergibst. Sofern der nicht noch irgendwo anders aus Deinem Script kommt fehlt der Wert dann im Query. Durch das Attribut img_id in der Checkbox wird natürlich kein Wert übertragen. Dazu brauchst Du ein weiteres hidden-Feld.

Das fällt mir spontan auf. Du solltest auch die übergebenen Parameter noch bereinigen bevor Du Sie direkt in den Query einsetzt.

Variable Variablen sind ganz praktisch, machen den Code aber schlecht nachvolziehbar. Besonders wenn man nur kleine Schipsel sieht wie wir hier im forum. :)
EOF; //totally retired

chw
Senior Member
Beiträge: 164
Registriert: Do 1. Jan 1970, 02:00
Kontaktdaten:

Re: Formular (Checkbox) in Datenbank speichern

Beitragvon chw » Mi 28. Jul 2010, 09:46

Vielen Dank! Es waren auch noch andere Fehler enthalten, die ich aber alle dank deiner Ansätze gut gefunden haben.

Christian


Zurück zu „PHP“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 5 Gäste