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

在CodeIgniter中将表单值提交到数据库的最佳方法,codeigniter,form-submit,Codeigniter,Form Submit,我对代码点火器很陌生 我读过一些关于这方面的教程,但其中一些已经过时,其余的对我来说还不清楚 因此,我得到了使用(finally!:p)编码的我的第一个表单-将表单中的数据提交到数据库的最佳方式(以及如何做到这一点) 另外,在模型中存储表单数据是否合适,如下所示: $data['login'] = 'Login:'; $data['password'] = 'Password:'; $data['rpassword'] = 'Repeat Password:'; $data['flogin']

我对代码点火器很陌生

我读过一些关于这方面的教程,但其中一些已经过时,其余的对我来说还不清楚

因此,我得到了使用(finally!: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>
并以如下视图显示:

$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>





或者你有更好的解决方案吗?

还有你的第二个问题,我的后端程序员和我已经在阳光下尝试了一切,并对此进行了无数次的争论。从根本上说,这取决于形势。如果您有一个视图可以重复使用以简单地为另一个视图绘制数据,那么最好使用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; ?>"

对于您关于数据库提交的问题,我真的无法回答比您建议对表单使用原始HTML而不是CI的表单更好的答案了?我的意思是:
而不是
回送表单输入(数组('name'=>'something','value'=>'something123')?您可以或者如果您真的想感到安全,我想说的是,一旦您了解了该格式,您就可以使用form类创建一个数据变量,您可以在视图数据数组中弹出该数据变量,然后在视图上
将您的数据变量回显到页面,从而创建表单。在开发过程中,我们不得不以另一种方式简单地把所有的东西放在一起,然后在beta测试过程中使用更干净的方法。我们发现,尝试创建表单php端和echo html端会让调试和查看变得非常痛苦!。仅供参考,我的更新之所以只是链接,部分原因是因为JSFIDLE今天也关闭了,所以我不能给你一个工作示例