我正在使用jquerymobile将我的网站更新为更具移动性的响应式设计。通常我有用户登录,在检查细节是否正确后,它会将它们刷新到新页面。 但是,我无法使用jquerymobile。想必这是因为Ajax覆盖功能? Ajax目前对我来说很陌生:) 删节的脚本如下所示:
else
//else, all ok proceed with login
{
if(isset($_GET['redirect']))
{header ("Refresh: 0; URL=" . $_GET['redirect'] . "");}
else{header ("Refresh: 0; URL=cohome.php");
echo "Your login was successful, you are being redirected in one second <br />";
echo "(If your browser doesn't support this, <a href=\"cohome.php\">click here</a>)";}
}
非常感谢
实际上,为了简化事情。我的注销按钮也存在同样的问题。
<a href="logout.php">
导致
<?php
session_start();
// make double sure that logged out.
$_SESSION['logged'] = "0";
session_destroy();
header("Refresh: 0; URL=index.php");
echo "You have been logged out.<br />";
echo "You are being redirected to the homepage!<br />";
echo "(If your browser doesn't support this, <a href=\"index.php\">click here</a>)";
?>
不幸的是,没有重定向。它在我的标准网站上工作正常,只是从开始转换到jquery mobile。
答案 0 :(得分:0)
刷新为0的标题没有多大意义。考虑使用
header('location:' . $_GET['redirect']);
代替。或者,如果要显示重定向消息,请增加刷新时间。最后,但并非最不重要的是,您还可以回复刷新:
echo "<meta http-equiv='refresh' content='3; url=" . $_GET['redirect']) . "'>";
但是,不建议使用元刷新。但是如果你使用JS并依赖它,你也可以使用JS重定向:
echo "setTimeout(\"location.href = '" . $_GET['redirect']) . "';\", 3000);";
有几种方法,但在我看来,用0秒的PHP刷新并不是最好的主意。
答案 1 :(得分:0)
<form name="login" id="login" action="<?php echo "processCoLogin.php?".$_SERVER['QUERY_STRING']; ?>" data-ajax=false method="post">
或
<a href="logout.php" class="ui-btn" data-ajax=false>Log out</a>
但是我更喜欢一种解决方案,我不需要关闭ajax&amp; amp;可以使用标题(位置)重定向。