如何使用PHP调用本地网页

如何使用PHP调用本地网页,php,mysql,local,Php,Mysql,Local,我肯定以前有人问过这个问题,但我似乎找不到答案。我正在进行PHP开发,创建一个与mySQL数据库连接的基本登录名。一旦验证名称/密码正确,我想显示欢迎屏幕。我的问题是,在开发过程中,我不能使用如下本地目录: 标题(“位置:script/login_success.php”) 据我所知,header()正在寻找一个http://URL。有没有办法在本地进行测试 谢谢您可以将相对url传递到标题没有问题 header("Location: /route/here.php"); 这是完全合法的。尽

我肯定以前有人问过这个问题,但我似乎找不到答案。我正在进行PHP开发,创建一个与mySQL数据库连接的基本登录名。一旦验证名称/密码正确,我想显示欢迎屏幕。我的问题是,在开发过程中,我不能使用如下本地目录:

标题(“位置:script/login_success.php”)

据我所知,header()正在寻找一个
http://URL
。有没有办法在本地进行测试


谢谢

您可以将相对url传递到
标题
没有问题

header("Location: /route/here.php"); 
这是完全合法的。尽管RFC规定必须提供包含模式的绝对URL。一些web客户端接受相对URL。指出了RFC的问题

14.30地点

Location response header字段用于重定向收件人 到请求URI以外的位置以完成请求 或新资源的识别。对于201个(创建的)响应 位置是由请求创建的新资源的位置。 对于3xx响应,位置应指示服务器的首选位置 用于自动重定向到资源的URI。字段值 由单个绝对URI组成


Header
必须是页面中的第一个函数调用(您可以访问其他函数,但不能输出函数,甚至不能输入空格)。。最重要的是(echo和html)。。。它应该适用于任何地方

当您
echo
时,响应部分写入,标题为
200 ok
。。。所以只需先写
标题
,然后再写
退出()

标题('Location:url')
。。。我不认为url必须是相对的。。。在php.net上阅读
header()
可以使用任何URL,甚至是相关的URL。如果您正在本地测试一些东西,比如
header(“location:script/login\u success.php”)


请记住,在输出任何内容之前必须调用header(),否则它将不起任何作用。

通过这样做,您可以创建一个url,以便在头重定向中使用

$url = isset($_SERVER["HTTPS"])?"https://":"http://".$_SERVER["HTTP_HOST"]."/script/login_success.php");
header("Location: $url");
这应该在本地主机或其他地方正确解析

另一个选项是设置一个常量,表示每个环境的基本url

define("BASE_URL", "http://localhost/");
并使用它来构建url

header ("Location: ".BASE_URL."script/login_success.php");

您是否尝试过
标题(“位置:http://localhost/script/login_success.php");?不,这是不合法的,它应该使用完整的URI,而不是相对的URI。错了,是这样的。从手册“HTTP/1.1需要一个绝对URI作为参数到»位置:包括方案、主机名和绝对路径,但一些客户端接受相对URI。您通常可以使用$_服务器['HTTP_主机]]、$_服务器['PHP_SELF']和dirname()从相对URI自己创建一个绝对URI:“您引用了手册中的以下内容:“字段值由一个绝对URI组成。”但始终坚持使用相对URI-奥迪喜欢让人们知道所有选项:)。就我个人而言,我一直使用相对URL,但没有遇到问题。但我感谢您指出RFC。让我为您补充一点:)不,在header()之前可能有许多其他函数只是没有输出是…不写标题…比如
echo
define("BASE_URL", "http://localhost/");
header ("Location: ".BASE_URL."script/login_success.php");