2013-07-23 3 views
0

Я пытаюсь сохранить значения из флажков внутри моей базы данных. Пока что я смог сохранить последний выбор флажка. Впоследствии я пробовал следовать примеру кого-то, но я так смутился. Как я могу гарантировать, что все мои данные хранятся в базе данных?Сохранение значений из флажков в моем db

В моей таблице моя колонка, в которой я хочу содержать информацию, называется «категориями». Что касается остального, то ниже (2 из них только)

<tr> 
    <td><input type="hidden" name="categories" value="categories">Categories</td>  

     <td> 
      <div class="checkbox";> 
       <label class="checkbox_label"> 
        <input name="cats" value="Accessoires" type="checkbox" class="checkbox1"/> 
        Accessoires 
       </label> 
      </div> 

      <div class="checkbox";> 
       <label class="checkbox_label"> 
        <input name="cats" value="Mobilier de bureau " type="checkbox" class="checkbox1"/> 
        Mobilier de bureau 
       </label> 
      </div> 
    </td> 
</tr> 

Это код, который я попробовал следующее:

$box=$_POST['box']; 
$ledlamps = $_POST['ledlamps']; 

$str = $ledlamps . ": " . implode(", ", $box); 

И так я закончил с этим:

$cats = $_POST['cats']; 
$categories=$_POST['categories']; 

$str = $categories . ": " . implode(", ", $cats); 
+0

Вы не указали, какова ваша проблема. – Neal

+0

Мои значения не сохраняются должным образом в моем db. Сначала мне удалось сохранить только одно значение. Теперь он сохраняет только слово «категории». –

ответ

0

Название входного сигнала будет name="cats[]". В этой форме вы получите массив значений, который вы проверили.

+0

Теперь слово «категории» появляется в моем db. И я получаю сообщение об ошибке: Предупреждение: implode() [function.implode]: недопустимые аргументы, переданные в /***/****/*****/formulaires/processForm-test.php в строке 38 –

+0

Почему вы сделали этот скрытый ввод под названием «категории»? Зачем вам это нужно? –

+0

Что касается вашего вопроса, просто как визуальный. Кроме того, я разместил что-то еще выше относительно того, о чем вы и Шон говорили. –

1

У меня нет достаточных привилегий, чтобы добавить комментарий к предыдущей попытке ответа, но что @Erman Belegu говорил правильно, cats[] должен сделать трюк. Вот код.

HTML-

<tr> 
    <td><input type="hidden" name="categories" value="categories">Categories</td>  

     <td> 
      <div class="checkbox";> 
       <label class="checkbox_label"> 
        <input name="cats[]" value="Accessoires" type="checkbox" 
         class="checkbox1"/> 
        Accessoires 
       </label> 
      </div> 

      <div class="checkbox";> 
       <label class="checkbox_label"> 
        <input name="cats[]" value="Mobilier de bureau " 
         type="checkbox" class="checkbox1"/> 
        Mobilier de bureau 
       </label> 
      </div> 
    </td> 
</tr> 

<input type="submit" name="submit" value="submit"/> 

Единственное, что я добавил был кнопку отправить, так что я мог бы сделать что-то только в PHP, когда отправить щелкают, здесь тот же самый код PHP.

<?php 

$cats = array(); 

    if(isset($_POST['submit'])) 
    { 
     if(isset($_POST['cats'])) 
     { 
      $cats = $_POST['cats']; 
     } 
     $categories= $_POST['categories']; 

     $str = $categories . ": " . implode(", ", $cats); 
     echo $str; 
    } 

?> 

Если вы выберете что-то и щелкните эхо, вы увидите категории: и все, что вы выбрали.

Надеюсь, это поможет, или, возможно, я не понял, в чем ваша проблема была в первую очередь.

Спасибо.

+0

Спасибо, что расширили его, например. Я просто пишу это место, когда ему нужно измениться. Голосуйте за вас! –

+0

Uhm, ничего на самом деле не эхо:/ Я понимаю, что $ str имеет отношение к строке (или так, это то, что рассказывал мне Google). Всякий раз, когда я заглядываю в свою базу данных, я вижу только слово «категории». –

+0

Если флажок не выбран, он перекликается только с категориями, если вы выберете один флажок, он отобразит категорию: значение флажка установлено, если вы выберете оба варианта, оно будет отображать категории: значение обоих флажков. Попробуйте здесь, на моем тестовом сервере [link] (http://mindhyve.net/tester.php). Попробуйте все три случая, установите флажок в поле, установите флажок в поле, проверьте оба поля, и вам нужно нажать «отправить», чтобы увидеть different echoed result Если ваша база данных содержит только категории, это означает, что создаваемая вами строка - это только категории: отсюда это то, что появляется в db.Можете ли вы показать мне свой код, чтобы я мог просмотреть его –

Смежные вопросы