【发布时间】:2016-11-29 13:36:46
【问题描述】:
我有一个将数据发布到我的网站的按钮
<form action="https://www.mysite.co.uk/some/index.php" method="POST">
<input type="hidden" name="userid" value="ZUpmenVaN0ZVTTBmejNGZGNwZGFha1NmR0tuSjdaT3VYdjV5cTF4WGtISzRvK0ptOC9vZmQyc3J3T3cwTmplbWZ3alhod0xMYUhlQ2xLSng4WWI4ZEE9PQ2">
<input type="submit" value="Go" style="font-size:14px; padding:20px;">
</form>
然后我把它变成可用的会话
mysite.co.uk/some/index.php
<?php session_start();
<?php
if (isset($_POST['userid'])) {
$_SESSION['userid'] = $_POST['userid'];
$userid = $_SESSION['userid'];
}
if (isset($_SESSION['userid'])) {
echo "You are logged in and have access to these tests.";?>
code here
<?php
} else {
header ('location: ../index.htm');
}
?>
这一切都很好。
我现在想在同一个网站的会签项目中使用它(这是出错的地方)
mysite.co.uk/some/tests/ETray/New/
<?php
$this->load->library('session');
$this->session->set_userdata('user_id', $_POST['userid']);
$userID = $this->session->userdata('user_id');
echo "$userID";
?>
我得到错误
消息:未定义的索引:用户 ID
除非我像这样直接发布到此页面
<form action="https://www.mysite.co.uk/some/tests/ETray/New/" method="POST">
<input type="hidden" name="userid" value="ZUpmenVaN0ZVTTBmejNGZGNwZGFha1NmR0tuSjdaT3VYdjV5cTF4WGtISzRvK0ptOC9vZmQyc3J3T3cwTmplbWZ3alhod0xMYUhlQ2xLSng4WWI4ZEE9PQ2">
<input type="submit" value="Go" style="font-size:14px; padding:20px;">
</form>
然后没有错误并且回显打印出来。
问题
如何让这个在这个页面上以第一种形式而不是第二种形式回显?
【问题讨论】:
-
会话负载发生在哪里?控制器还是视图?
-
查看atm进行测试
-
您必须在不同于控制器的视图中加载库。 Try this to load differently in view,但要检查得分最高的答案,而不是接受的答案。看看这是否有助于您的事业。
-
我已经自动加载了会话?
-
啊……如果会话是自动加载的,请完全删除视图中的加载。不过,我现在会提交答案。
标签: php codeigniter session post