在Code Igniter中将表单值提交到数据库的最佳方法

时间:2012-02-08 23:08:15

标签: codeigniter form-submit

我对Code Igniter很新。

我已经阅读了一些有关此内容的教程,但其中一些已经过时,其余部分对我来说并不清楚。

所以,我使用form helper编写了我的第一个表单(最后!:P) - 将表单中的数据提交到数据库的最佳方式(以及如何执行此操作)是什么?< / 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 个答案:

答案 0 :(得分:1)

你的第二个问题,我的后端编码器和我已经在阳光下尝试了一切,并且争论了一百万次。基本上它归结为情况。如果你有一个可以重复使用的视图来简单地绘制另一个视图的数据,那么最好使用codigniter的parse类在一个易于使用的数组中发送值,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让CI的xss过滤器使其更安全

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

关于数据库提交的问题,我无法回答this&lt; -

它被称为活动记录,它真是太棒了!花一些时间阅读我提供的链接,这是CI这个名为Active Record的类的文档,除了这个,你永远不想做另一种类型的db代码调用,我保证!这太容易了!