我在Jquery Mobile遇到了这个奇怪的事情我无法完全解开..当你第一次进入网站时,你选择是否要注册或登录,当你点击注册时你会被带到您填写信息的新页面。完成后,您将被发送到processreg.php
,它处理信息并将其插入数据库。这有效。完成之后,它会带你回到index.php
,这里我无法理解它发生了什么。
编辑:在表单中添加data-ajax="false"
可以解决此问题,但是,它会删除我不打算删除的默认页面切换效果。因此,我的问题不是一个公认的答案,我也试过通过javascript切换而没有任何运气。
看一下这张图片:
这是在你注册之后。 index.php
文件的HTML内容在那里,但是,如果您查看它仍在processreg.php
的URL。所以当我尝试点击“注册”(“registrera dig”)时,我得到了一个错误,说它无法加载页面,因为它会尝试加载它,因为我们仍然在processreg.php
页面上:
http://localhost:81/Webb/onlineplatform/includes/includes/pages/register.php
而不是:
http://localhost:81/Webb/onlineplatform/public/index.php
这是在processreg.php
中运行的php脚本:
try {
if (isset($_POST['submit_reg'])) {
//Script that inserts data into database gets successfully run here
header('Location: ../../public/index.php');
}
}
catch (Exception $e) {
echo $e;
}
index.php
文件如下所示:
<?php
include_once('../includes/files/header.php');
?>
<div data-role="header" class="ui-content no-ellipsis">
<h1>Jensen Online Yrkeshögskola</h1>
</div>
<div data-role="main">
<div class="center-wrapper" id="landing-container">
<h2>Välkommen</h2>
<p><b>Befintlig användare?</b></p>
<a href="../includes/pages/login.php" class="ui-btn ui-btn-inline ui-corner-all ui-shadow" id="login-btn">Logga in</a>
<p><b>Ny användare?</b></p>
<a href="../includes/pages/register.php" class="ui-btn ui-btn-inline ui-corner-all ui-shadow" id="register-btn">Registrera dig</a>
</div>
</div>
<?php
include_once('../includes/files/footer.php');
?>
据我所知,它与Jquery Mobile有关,使用AJAX在不同的页面之间切换,但我不明白如何告诉PHP将我发送回实际的index.php
而不只是抓住它的HTML内容并将其应用于processreg.php
。我该怎么做?
答案 0 :(得分:0)
改为回显JS命令:
echo "<script> window.location = 'http://localhost:81/Webb/onlineplatform/public/index.php' </script>";
答案 1 :(得分:0)
我遇到了同样的情况。问题是在客户端缓存 - 移动设备试图保持您的流量:-)
尝试使用新的唯一链接:
header('Location: ../../public/index.php?'.base64_encode(rand(0,10000)));
或者您可以尝试在移动应用中清除缓存。
如果有效 - 则检测到您的问题
所以现在你可以为index.php或你所有的页面http://php.net/manual/en/function.header.php以某种方式实现缓存禁用:
if (isset($_GET['nocache'])) {
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past
}
并设置
header('Location: ../../public/index.php?nocache=1');
在processreg.php中
这应该允许index.php被缓存,而index.php?nocache = 1 - 总是动态的