我有一个简单的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>
答案 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