Лучший способ отправить значения формы в базу данных в Code Igniter - PullRequest
0 голосов
/ 09 февраля 2012

Я довольно новичок в Code Igniter.

Я читал некоторые учебники по этому поводу, но некоторые из них устарели, а остальные просто не понятны для меня.

Итак, Я получил свою первую форму, закодированную с помощью помощника по формам (наконец-то!: P) - каков наилучший способ (и как это сделать) для отправки данных в моей форме в базу данных?

Кроме того, хорошо ли хранить данные формы в модели следующим образом:

$data['login'] = 'Login:';
$data['password'] = 'Password:';
$data['rpassword'] = 'Repeat Password:';

$data['flogin'] = array(
    'name' => 'login',
    'class' => 'login_box'
);

$data['fpassword'] = array(
    'name' => 'password',
    'class' => 'login_box'
);

$data['frpassword'] = array(
    'name' => 'rpassword',
    'class' => 'login_box'
);

и отображать их в виде, подобном следующему:

<?=
    $this->load->helper('form');
    echo form_open();
?>

<div class="container">
    <?= $login ?> <?= form_input($flogin); ?><br/>
    <?= $password ?> <?= form_password($fpassword); ?><br/>
    <?= $rpassword ?> <?= form_password($frpassword); ?><br/>
    <? echo form_submit("submit", "Save"); ?>

    <? echo form_close(); ?>

</div>

Или, может быть, выесть лучшие решения для этого?

1 Ответ

1 голос
/ 09 февраля 2012

Слишком твой второй вопрос, мой серверный кодер и я перепробовали все под солнцем и обсуждали это миллион раз.В основном все сводится к ситуации.Если у вас есть представление, которое используется repitavly для простого рисования данных для другого представления, то лучше всего использовать класс синтаксического анализа codigniter для отправки значений в простом в использовании массиве, который ci может проанализировать в вашем html, и таким образом заполнить пробелы,Однако, если у вас есть представление, заполненное динамическими данными, мы обычно делаем следующее для исходных данных:

В CI:

$bob = 'some data1'
$jill = date(); // or whatever
// continue to get your data as needed
// then prep specific vars with your front end guy for the data, remember,
// every initial key in your data array becomes $key in the view
// when done gather your data, just before view call
$data = array(
    'title' => $bob,
    'bodyPiece' => $jill,
    // etc...
);
$this->load->view('someviewWithAFormInIt.php', $data);

В представлении:

<html ....
    <title><?= $bob; ?></title>
    <form ....
        <input name="inpBob" value="<?= $jill; ?>"

Получение данных из вашей формы довольно легко, хотя, если вы загружаете их в БД, убедитесь, что вы используете условный параметр как TRUE, чтобы позволить фильтру xss CI сделать его более безопасным

$this->input->post('inpBob', TRUE);

И дляна ваш вопрос о предоставлении базы данных я не могу ответить лучше, чем this <- </p>

Это называется Active Record, и это FREAKING AWESOME !!!Потратьте некоторое время на чтение той ссылки, которую я предоставил, которая является документом CI для этого класса под названием Active Record, и вы никогда не захотите делать код типа БД другого типа, кроме этого, я обещаю!Это супер просто!

...