Mysql veritabanına birden çok metin kutusu giriş ekleme

3 Cevap php

Ben 5 textbox alanları ile, bir form oluşturduk ve ben veritabanında bu beş girdilerini eklemek istiyorum. Ben textbox "dizi", veritabanına kaydederken ben için-her bir kullanabileceğiniz bu şekilde kullanmak istiyorum. Herkes gibi, bunu nasıl veya herhangi bir kod doğru yolda bana yönlendirebilirsiniz?

input type="text" value="whateva" name= ?php text[0] ?> 
input type="text" value="whateva" name= ?php text[1] ?> 
input type="text" value="whateva" name= ?php text[2] ?> 

if (isset($_POST['Submit']) {
  //add to db
  (for-each $text as $val) {
    //add to db
  }
}

Bu mümkün mü?

3 Cevap

HTML

<input type="text" value="whateva" name="text[]" />
<input type="text" value="whateva" name="text[]" />
<input type="text" value="whateva" name="text[]" />

PHP

if (!empty($_POST['text'])) {
    foreach ($_POST['text'] AS $value) {
        // add to the database
        $sql = 'INSERT INTO tableName SET fieldName = "' . mysql_real_escape_string($value) . '"';
    }
}

Evet, HTML dizilerini destekler. Sadece bu gibi textareas isim:

<textarea name="field[]"></textarea> /* Notice square brackets */

Bu, örneğin, PHP, senin $ _GET veya $ _POST dizisi adını içeren anahtar 'tarla' ve bu textareas gelen değerlere sahip olacaktır.

'Gönder' eğer teslim düğmenin adıdır. evet bu çalışacaktır.

ancak birkaç öneri:

  1. : olarak düzeltin

    < input type = "text" value = "whateva" name = "" />

  2. Kullanıcı tarafından girilen metin için doğrulama kullanın

  3. ÖNEMLİ: "PHP üzerine bir kitap almak" ve bunu öğrenmek. Bu şekilde öğrenmek, ciddi, sen alışkanlık iyi bir programcı olmak. Bunu hardway öğreniyorlar. Kitap sizin için şarttır.