【发布时间】:2016-02-13 15:50:49
【问题描述】:
我在 PHP 中工作。我想在登录后将页面重定向到我想访问的最后一个页面,但我仍然在 5 小时内在这里堆叠,我还没有做到。这是架构,我有 3 个 php 文件。
newest.php (before login),
signin.php (before login),
thread.php (after login).
我正在使用 cookie 进行此重定向。首先我去了最新的.php,然后我点击了按钮(去thread.php)。然后thread.php看到你还没有登录,然后重定向到signin.php。在我填写登录表单之后,我点击了提交按钮(signin.php),然后我在 signin.php 堆栈(不会去任何地方)即使我已经登录,它应该去 thread.php自动。
这是我在 latest.php 和 thread.php 中的代码(不在 signin.php 中):
$coopage='coopage';
$current_page='http://'.$_SERVER[HTTP_HOST].$_SERVER[REQUEST_URI];
setcookie($coopage, $current_page,time()+86400,'/');
latest.php 中的提交按钮(转到 thread.php):
echo "<center><button onclick=\"window.location='/thread/form'\">add new thread</button></center>";
在signin.php中(在我点击提交按钮或提交区域后,因为表单和提交后我在同一页面中)(在页面底部):
if(isset($_COOKIE[$coopage])){
$url=$_COOKIE[$coopage];
unset($_COOKIE[$coopage]);
header('location:'.$url);
}
注意:在 signin.php 中,我在这个 cookie 之前还设置了另一个 cookie,这是造成这种情况的原因吗?或者我是否在一页中设置了 2 个 cookie 是否重要?另一个cookie设置是这样的(在页面顶部)
$cooval2='juna';
setcookie($coousername, $cooval2, time() + (3600 * 24 * 365), "/"); // 1 year
【问题讨论】:
-
提交按钮上有点击事件处理程序吗?如果没有,请在那里加注星标。
-
我就是这样echo "
"; 转到thread.php -
对不起伙计,我不太擅长 php,但如果你想要的话,总有一个通过 javascript 的解决方案。
-
好吧,Zorken 没关系,而不是我在将近 9 个小时后就在这里堆砌,无论哪种方式。
-
@Junaserbaserbi 使用
SESSION而不是cookies