在codeigniter中写一个POST按钮

时间:2016-11-30 16:23:44

标签: php html codeigniter post input

我有一个简单的HTML帖子,其中包含一个php变量作为值,我希望在我的codeigniter项目中使用它,这是最好的方法。

这是我正确的代码(我有表单助手)

 <form action="https://www.mysite.co.uk/1/" method="POST">
     <input id="start-test" type="hidden" name="userid" value="<?php echo htmlspecialchars($userID); ?>;
     <input class="btn btn-primary" type="submit" role="button" id=""></input>
 </form>

2 个答案:

答案 0 :(得分:0)

你可以做你正在做的事情:

<input id="start-test" type="hidden" name="userid" value="<?php echo htmlspecialchars($userID); ?>">

或者像这样使用set_value:

<input id="start-test" type="hidden" name="userid" value="<?php echo set_value('userid', $userID); ?>">

这将重新填充表单错误的字段值。我已经错过了HTML特殊字符,但你可以包括那仍然如果你觉得你需要,但我认为这是一个来自数据库的id,用自动增量设置,因为它不是用户生成的数据使用这里的HTML特殊字符可能有点不必要。

在您的控制器中,您可以访问这样的帖子变量:

$posted_id = $this->input->post('userid');

但是,您应该对发布的数据使用表单验证。这是一个非常大的主题,但您可以在文档中阅读上述内容。直接引用您的用户ID并不总是一个很好的解决方案,因为这种形式可以很容易地操作。您可以通过CI CSRF保护和使用form_open来帮助减轻这种情况,但通常最好使用会话并从那里获取ID。您不应该在隐藏的表单变量中包含用户ID。

设定价值 http://www.codeigniter.com/user_guide/libraries/form_validation.html#re-populating-the-form

阅读帖子变量 http://www.codeigniter.com/user_guide/libraries/input.html#accessing-form-data

表格验证一般 http://www.codeigniter.com/user_guide/libraries/form_validation.html#form-validation

表格开放和CSRF http://www.codeigniter.com/user_guide/helpers/form_helper.html#form_open

CI会话 http://www.codeigniter.com/user_guide/libraries/sessions.html#session-library

如果您不熟悉安全实践,有时最好了解并使用成熟且开发的授权和身份验证库。有很多,所以我不会在这里推荐一个。只需搜索一个并找到一个适合您需求的那个。

答案 1 :(得分:0)

我的第一个答案可能误解了你的问题。

如果你想要的只是一个帖子按钮,那么你可以写这个

<input type="submit" class="btn btn-primary" role="button" value="Send" />

或使用表格助手

 <?php echo form_submit('BtnName', 'Send'); ?>
// Would produce:<input type="submit" name="BtnName" value="Send" />

http://www.codeigniter.com/user_guide/helpers/form_helper.html#form_submit