Ankündigung

Einklappen
Keine Ankündigung bisher.

Array Inhalte in eine Datenbank über tragen

Einklappen

Neue Werbung 2019

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

  • Array Inhalte in eine Datenbank über tragen

    Hallo,

    ich bin noch neu hier und auch ein blutiger Anfänger was php betrifft aber ich hoffe ihr könnt mir auf die Sprünge helfen. Ich habe eine HTML Tabelle und möchte nun die Daten die vom Nutzer ausgewählt werden in eine Datenbank schreiben. Ich weiß das ich das ganze mit einem Array machen muß. Das Script für die Tabelle sieht so aus

    PHP-Code:
    <td><th width="200"><select multiple="multiple" name="tpm[]" size="6">
    <
    option value="tpm_vng_2_0">tpm_vng_2_0</option>
    <
    option value="tpm_vng_2_0_bp_Bereitschaftsplanung">tpm_vng_2_0_bp_Bereitschaftsplanung</option>
    <
    option value="tpm_vng_2_0_bp_report">tpm_vng_2_0_bp_report</option>
    <
    option value="tpm_vng_2_0_bp_usermanagement">tpm_vng_2_0_bp_usermanagement</option>
    <
    option value="tpm_vng_2_0_notification_show">tpm_vng_2_0_notification_show</option>
    <
    option value="tpm_vng_2_0_notification_change">tpm_vng_2_0_notification_change</option>
    <
    option value="tpm_vng_2_0_notification_create">tpm_vng_2_0_notification_create</option>
    <
    option value="tpm_vng_2_0_notification_ontras">tpm_vng_2_0_notification_ontras</option>
    <
    option value="tpm_vng_2_0_rzg">tpm_vng_2_0_rzg</option>
    <
    option value="tpm_vng_2_0_gw1220">tpm_vng_2_0_gw1220</option>
    </
    select></td
    Damit sind alle Daten die vom Nutzer angeklickt werden in dem Array tpm enhalten oder? Nun möchte ich die Daten an eine Datenbank senden aber ein
    PHP-Code:
    if(isset($_POST)) {
    $eintrag "INSERT INTO anwender (name, novellname, stoermanagement, unkraut, fpa) 
                VALUES 
                ('"
    .$_POST['name']."', 
                 '"
    .$_POST['novellname']."',
                 '"
    .$_POST['tpm']."',
                 '"
    .$_POST['unkraut']."',
                 '"
    .$_POST['FPA']."')"
    Zeigt mir in der Datenbank nur ein Array an. Nun habe ich gelesen das ich die Werte in einem Array vorher umwandeln muß um sie in eine Datenbank zu speichern. Nur wie mache ich das?
    Wäre schön wenn ihr mir einen Tip geben könntet.
    Vielen Dank.
    Grüße
    Sebastian


  • #2
    Hallo,

    Du sagst dein Array, das aus dem Formular entsteht heißt tmp, aber wieso benutzt du es dann nicht auch?
    Mach mal folgendes:

    PHP-Code:
    print_r($_POST); 
    Vielleicht kommst du dann selber drauf.

    Gruß Thomas

    Kommentar


    • #3
      Deine Informationen sind etwas mager. $_POST['tpm'] ist ja schon ein Array. Deshalb kannst du den Inhalt natürlich nicht so ein ein DB-Feld schreiben. Aber wenn du uns sagst, was du willst, und v.a. wie deine DB-Struktur aussieht, können wir dir sicher weiterhelfen
      Gruss
      L

      Kommentar


      • #4
        Die Elemente eines Feldes kannst Du mit join() als Zeichenkette zusammenfassen.
        Parameter und vor allem Benutzereingaben wie $_POST niemals ungeschützt in das SQl Query einbauen, Stichwort: sql injections.
        PHP-Code:
        if(isset($_POST)) {
          
        $tpm join(','$_POST['tpm']);
          
        $eintrag "INSERT INTO
              anwender (name, novellname, stoermanagement, unkraut, fpa) 
            VALUES 
            (
              '"
        .mysql_real_escape_string($_POST['name'])."', 
              '"
        .mysql_real_escape_string($_POST['novellname'])."',
              '"
        .mysql_real_escape_string($tpm)."',
              '"
        .mysql_real_escape_string($_POST['unkraut'])."',
              '"
        .mysql_real_escape_string($_POST['FPA'])."'
            )
          "

        Kommentar


        • #5
          Erstmal Danke für eure schnellen Antworten. Momentan sieht die Datenbankstruktur sehr einfach aus. Also es gibt eine Tabelle mit den Spalten Name, Novelname, Stoermanagement, Unkraut und FPA. Ich weiß ist nicht sehr sinvoll alles in eine zu klatschen aber zum üben möchte ich es erstmal recht einfach halten. Ich möchte ein Formular erstellen in dem ich einen Nutzernamen dessen Novellnamen sowie die Berechtigungen die die Nutzer in den Bereichen Stoermanagement (tpm), Unkraut und FPA haben in eine Datenbank eintragen. Säter soll es möglich sein diese Daten durch abfragen des Namen oder Novellnamen wieder aus der Datenbank angezeigt zu bekommen.
          Ein print_r($_POST) zeigt folgendens an
          Eintrag erfolgreichArray ( [name] => [novellname] => [TPM] => Array ( [0] => tpm_vng_2_0 [1] => tpm_vng_2_0_bp_Bereitschaftsplanung ) [id] => )

          Danke für die Hilfe

          Kommentar


          • #6
            Hallo David,

            danke das war es. Jetzt werde ich mich mal in Sachen sql injections und join einlesen.
            Also Danke noch mal und schönes Wochenden
            Sebastian

            Kommentar

            Lädt...
            X