我目前正在使用PHP会话和数据库进行身份验证的移动网站上工作.我有一个登录页面,其表单在提交时转到server_login.php.php文件然后创建一些会话数据(存储在$ _SESSION中),并将用户重定向回索引页面:
header("location:../../index.php");
Run Code Online (Sandbox Code Playgroud)
新网页(index.php)正确加载; 但是,当标题重定向页面时,地址栏中的URL不会改变; 它保留在*http://localhost/php/server/server_login.php*而不是http://localhost/index.php,因此无法加载使用相对路径的所有其他资源.这就好像网页仍然认为它位于/ php/server而不是/.
奇怪的是,我在logout.php上使用标题("location:...")可以正常工作,并通过URL更改成功重定向页面.
我已经确保在我的*server_login.php*中没有输出头重定向之前(上面只是要检查的mysql调用),我也使用了ob_start()和ob_end_flush().
是否有任何强制地址栏上的URL更改的方法(因此希望修复相对路径问题)?或者我做错了什么?
P/S:我正在使用jQuery Mobile.
编辑:这是我的重定向代码,不会更改URL:
// some other stuff not shown
$sql = "SELECT * FROM $user_table WHERE email = '$myemail' AND password = '$mypassword'";
$login_result = mysql_query($sql, $connection);
$count = mysql_num_rows($login_result);
if ($count == 1) {
// Successfully verified login information
session_start();
if (!isset($_SESSION['is_logged_in'])) {
$_SESSION['is_logged_in'] = 1;
}
if (!isset($_SESSION['email'])) {
$_SESSION['email'] = $myemail;
}
if (!isset($_SESSION['password'])) {
$_SESSION['password'] = $mypassword;
}
// Register user's name …Run Code Online (Sandbox Code Playgroud) 在这里遇到一个奇怪的问题.我正在为我的学校项目(非商业)开发游戏,我正在使用自定义字体Black Chancery(在GNU GPL下免费).我按照多个来源的说明进行操作,其中包括:
app-Info.plist以向其添加字体("应用程序提供的字体").[UIFont fontWithName:@"BlackChancery" size:30]在需要字体时使用.我可以在Simulator中显示字体,但是当我将其加载到iPad时,会使用默认的系统字体.我很确定字体本身没有问题,因为它在模拟器中显示,我使用FontForge打开字体而没有任何警告(从本问题开始).
任何帮助是极大的赞赏.谢谢!:)