1

我的手机中有一个 HTML 页面,要求输入用户名和密码。当提交按钮被按下时,它将使用我上传到服务器上的 PHP 文件检查数据库中的现有用户。

问题是,登录成功后,如何从 PHP 文件重定向到我的主菜单页面,即我手机中的 HTML 文件?

在 php 中,我看到了将其重定向到其他页面的代码,

header("file:///android_asset/www/mainMenu.html");

我试图改变它,但它仍然无法正常工作。任何人都可以帮忙吗?

4

3 回答 3

2

PHP 标头函数无法重定向到存储在设备上的本地页面,因为本地设备上的页面未托管在网络服务器上,因此远程网络服务器无法使用 http:// URL 对其进行寻址。

您可以做的是让 PHP 返回一个空白页面,该页面在标头中包含一段 JavaScript,使用 window.location.href 将移动浏览器重定向到本地 HTML 文件 (file:///android_asset/your_file.html)或 window.location.replace。这是因为 JavaScript 在设备上执行,因此知道本地文件系统上的文件。

编辑:您的 blank.html 需要如下所示:

<html>
<head>
    <script type="text/javascript">
        window.location.href = 'file:///android_asset/my_local_page.html';
    </script>
</head>
<body>  
</body>
</html>

在上面的文本中,将 my_local_page.html 替换为您的主菜单页面。然后将blank.html 放在您的服务器上并使用PHP 的header() 重定向到blank.html。

于 2012-04-11T19:13:35.227 回答
1

在使用 phonegapp 框架(或其他用于 mobil 的 webapp 框架)构建 html5 + javascript 应用程序时,我不喜欢混合本地和远程 html 页面。显示的页面要么是完全本地的,要么是远程的,但不能混合。当我选择使用完全本地显示但需要调用远程服务时,我使用 ajax 请求。

我建议你也这样做。因此,使用 ajax 调用您的 php 登录方法,然后在成功时更改您的 phonegapp 页面。例如,您的 php 脚本可以返回一个简单的字符串,它可以是“成功”或“失败”。然后,您可以在 phonegap 应用程序中执行必要的页面更改。

问候

于 2012-04-22T21:47:21.650 回答
0

我喜欢您关于仅使用本地 html 文件的建议。我也是这样做的。但我必须使用本地 html 实现支付网关。所以控件转到远程服务器(我不能通过 ajax 来做,因为没有可用的 API)。现在我如何回到我的本地文件夹。一种解决方案是从服务器发送一个带有支付参数的页面,然后通过 javascript 调用本地 html 文件。你能建议我更好的方法吗?

于 2012-04-25T06:01:12.460 回答