как извлечь информацию о флажке и сохранить ее в базе данных с помощью codeigniter - PullRequest
0 голосов
/ 19 апреля 2011

У меня есть этот код в файле php.он перечисляет все интересы в виде флажков и позволяет ввести текстовое поле «другое».Пользователь должен выбрать несколько из этих интересов и сохранить.Теперь, когда пользователь нажимает кнопку отправки, он должен передать ее контроллеру, а контроллер должен извлечь их и сохранить в базе данных.У меня есть один файл, который закодирован, чтобы сделать это, но это бесполезно и слишком запутанно.

Вот форма в обычном файле php

<form method="post" action="<?php echo site_url("userProfile/update_bio");?>" name="editForm" id="edit-form">

<div> <!-- description start -->
<div> <p <p class="special-p">Name:</p> <hr> </div>
<p class="used-p"> <input type="text" name="name" value="<?php echo $this->dx_auth->get_username(); ?>"></textarea> </p> <!-- should be real name -->

</div> <!-- description end -->

<div> <!-- description start -->
<div> <p <p class="special-p">Description:</p> <hr> </div>
<p class="used-p"> <textarea name="description"></textarea> </p>

</div> <!-- description end -->

<div> <!-- interests start -->
<div> <p class="special-p">Interests:</p> <hr class="special-hr2"> </div>
<p class="used-p">I am interested in:</p>

<ul>
<?php
foreach ($allInterests->result() as $row){
echo '<li><input type="checkbox" name="checks1[]" value="'.$row->id.'"/> '.$row->name.'</li>';


}

?>
<li><input type="checkbox" name="checks1[]" value="other"/> Other: <input type="text" name="otherText"/></li>
</ul>

</div> <!-- interests start -->

<div>
<input id="editbutton" type="submit" value="Save" name="editBioButton" class="small green button"/>
</div>

</form>

Функция контроллера пустаПроблема в том, что я не знаю, как он получит флажки.

Заранее спасибо

1 Ответ

1 голос
/ 19 апреля 2011
foreach($this->input->post(checks1) as $check)
{
    echo $check;
}

Но я считаю, что если флажок не установлен , он не появится в массиве $_POST.Чтобы бороться с этим, дайте каждому флажку определенный индекс:

<?php
$count=0;
foreach ($allInterests->result() as $row){
   echo '<li><input type="checkbox" 
        name="checks1[' . $count . ']" value="'.$row->id.'"/> '.$row->name.'</li>';
    $count++;
}

может делать то, что вам нужно.Ваш контроллер будет:

foreach($this->input->post(checks1) as $key => $value)
{
    echo $key . ' - ' . $value;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...