backbone: problem mit implode-logik

hi folks!

wollte folgende sache realisieren:

habe eine liste mit mehreren computern. nun kann der user einzelne checkboxen für die jeweiligen pc aktivieren die er löschen will. hat er das gemacht und klick er auf löschen so werden die ausgewählten pc gelöscht.

ich wollte das nun wie folgt machen:

$ids   = implode(" OR id = ",$_POST[pc_id]);
$id_send .= "id = ".$ids;

$del_any_pc  = "DELETE FROM maschine WHERE $id_send";

mysql_query($del_any_pc);

problem: die sache mit implode funzt nicht. er baut den string nicht wie gewünscht zusammen.

frage: wo ist mein fehler in der logik bzw an der herangehensweise?

thx for help.

tschau

  1. Hallo,

    $ids   = implode(" OR id = ",$_POST[pc_id]);
    $id_send .= "id = ".$ids;

    $del_any_pc  = "DELETE FROM maschine WHERE $id_send";

    Bei deinem Problem kann ich dir jetzt leider nicht helfen, aber ich möchte darauf hinweisen, dass du dir da eine Sicherheitslücke einbaust.

    Du überprüfst $_POST[pc_id] nicht und da kann dir jeglicher SQL-Code untergejubelt werden, der dann z.B. alle Computer löscht.

    Gruß,
    Henning

    1. Du überprüfst $_POST[pc_id] nicht und da kann dir jeglicher SQL-Code untergejubelt werden, der dann z.B. alle Computer löscht.

      eigentlich brauch ich den ja auch nicht überprüfen da es sich um checkboxes handelt wo der user keinen wert eintragen kann. aber trotzdem die frage: wie überprüfe ich die eingabe denn auf die richtigkeit bzw auf was überprüfe ich sie eigentlich?

      thx for help

      1. Hallo,

        eigentlich brauch ich den ja auch nicht überprüfen da es sich um checkboxes handelt wo der user keinen wert eintragen kann. aber trotzdem die frage: wie überprüfe ich die eingabe denn auf die richtigkeit bzw auf was überprüfe ich sie eigentlich?

        Inwieweit sich POST Daten manipulieren lassen weiß ich nicht, Kontrolle ist besser.

        Im Prinzip hängt das immer davon ab welche Werte erlaubt sind. In deinem Fall dürfen nur IDs übergeben werden. Ich nehme mal an das das nur Zahlen sind. Also überprüfst du ob sich im übergebenen Array nur Zahlen befinden.

        Gruß,
        Henning

      2. hi,

        eigentlich brauch ich den ja auch nicht überprüfen da es sich um checkboxes handelt wo der user keinen wert eintragen kann.

        ich brauche mir lediglich dein formular auf meinem lokalen rechner nachbauen, ein paar zusätzliche felder mit den von dir verwendeten variablennamen anlegen, und schon hast du ein problem ...

        gruss,
        wahsaga