Tag: 标题的

PHP标题(位置:…):强制地址栏中的URL更改

我目前正在使用带有数据库的PHP会话进行身份validation的移动网站上工作。 我有一个login页面,表单上提交到server_login.php 。 PHP文件然后创build一些会话数据(存储在$ _SESSION中),并将用户redirect回索引页面: header("location:../../index.php"); 新的网页(index.php)正确加载; 但是,当标题redirect页面时,地址栏中的URL不会更改; 它停留在* http://localhost/php/server/server_login.php*而不是http://localhost/index.php ,因此我所有使用相对path的其他资源都无法加载。 就好像网页仍然认为它位于/ php / server而不是/。 奇怪的是,我在logout.php中使用header(“location:…”),并且使用URL更改成功redirect页面。 我已经确定,在我的* server_login.php *中没有输出在头redirect之前(上面只是mysql调用检查),我也使用了ob_start()和ob_end_flush()。 有没有强制地址栏上的URL的任何方法改变(并因此希望解决相对path问题)? 还是我做错了什么? P / S:我正在使用jQuery Mobile。 编辑:这是我的代码redirect,不改变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 […]

为什么我必须在PHP中通过头('Location ..')重定向后调用'exit'?

你知道,如果你想在PHP中重定向一个用户,你可以使用头函数: header('Location: http://smowhere.com'); 众所周知,放置exit;也是一个好的做法exit; 在header调用之后,防止执行其他的php代码。 所以我的问题是:可以有效地执行标题位置调用后的代码? 在哪种情况下? 恶意用户是否可以完全忽略header('Location..')调用? 怎么样?