我有这个: main.php:
ID: <input name="id" id="id" type="text" size="20" value="<?php echo $_POST['id']; ?>"><br>
Password: <input name="password" id="password" type="password" value="<?php echo $_POST['password']; ?>" size="20">
文件main.php是索引页。
文件main.php是一个带有action =“main.php”的表单
当我从main.php转到console.php时,我没有得到值id和密码。
当我从main.php转到plugins.php时,我没有得到值id和密码。
从main.php,你可以进入plugins.php和console.php。但是你没有得到这些价值。
我知道为什么会这样。
如何解决这个问题?我怎样才能做到,当我去console.php或者plugins.php时,字段会被记住?
会议对我来说太难学了。还有其他解决方案吗?
答案 0 :(得分:3)
太难了?简而言之,在您要使用会话的每个页面的顶部,使用session_start()
。现在,您想要将某些内容保存到会话中吗?
#page1
session_start();
$_SESSION['foo'] = 'bar';
#page2
session_start();
echo $_SESSION['foo'] #echoes bar
unset($_SESSION['foo']); #destroy foo
#if you want to discard the entire session, use
session_destroy(); #going down!
所以,在你的情况下,可能是这样的:
#main.php
session_start();
if (isset($_POST['id'], $_POST['password'])) {
$_SESSION['id'] = $_POST['id'];
$_SESSION['password'] = $_POST['password'];
}
#rest of main.php
#console.php and plugins.php
session_start();
if (isset($_SESSION['id'], $_SESSION['password']))
#do stuff
我觉得用勺子喂你是不好的,但基本的会话功能实际上就是你所描述的情况所需要的,而且它可能是传递敏感信息的最简单方法,基本上是会话的内容对
欲了解更多信息:
答案 1 :(得分:1)
1)学习课程。永远不要传递某人的密码。您应该对密码进行哈希处理,并根据数据库中的哈希值进行检查。检查匹配后,您可以在会话变量中存储用户经过身份验证的情况 - 您不再需要知道他们提交的密码。
2)了解当您提交html表单时,表单的action
是唯一可以直接使用已发布的表单参数执行任何操作的页面。
...
尽量不要放弃学习这些东西 - 它们的创建是为了让您的生活更轻松,而不是更具挑战性。