我正在创建一个网站,注册后一部分就是更多信息。填写完所有内容并在register.php中将所有内容发送到signup.inc.php(通过post方法)之后,其中有一些代码可以检查您是否已通过register中的post方法发送。 php。
<?php
if (isset($_POST["signup-submit"])){
/* Code for sign up*/
} else {
header("Location: ../register/register.php");
exit ();
}
?>
我想再次做同样的事情,但是registered.php检查该人是否由signup.inc.php发送到了registered.php,其中包含已注册文件夹中的一些php。我不能使用以前使用的方法,因为signup.inc.php中没有post方法。我用
/*after all script was successfully run and the information was sent to the database*/
("Location: ../register/registered.php");
exit ();
方法代替。有什么我可以使用的代码吗?
register.php> signup.inc.php> registered.php
答案 0 :(得分:1)
使用可以使用$_SERVER['HTTP_REFERER']
标头。
PHP中的HTTP REFERER存储在$ _SERVER超级全局变量中,可以从您的PHP代码中的任何位置进行引用,如下所示:
$previousURL=$_SERVER['HTTP_REFERER'];
HTTP_REFERER并不总是由客户端用户代理发送,因此您可以添加它来检查它是否被设置:
if(isset($_SERVER['HTTP_REFERER']))
{
$previousURL=$_SERVER['HTTP_REFERER'];
}
答案 1 :(得分:1)
<?php
if (isset($_SERVER['HTTP_REFERER']) && $_SERVER['HTTP_REFERER']!='')
{
/* Code for sign up*/
}
else
{
header("Location: ../register/register.php");
exit ();
}
?>
您可以使用上面的代码,如果REFERER不为空,则可以编写用于注册的逻辑。否则它将重定向到register.php
答案 2 :(得分:0)
您可以使用$_SERVER['HTTP_REFERER']
来检查它的来源。如果没有引荐来源网址,则为空。
参考:
答案 3 :(得分:0)
$ _ SERVER ['HTTP_REFERER']将保存响应来自的页面引用的URL。
但是在某些情况下,当请求从https发送到http时,HTTP_REFERER将会丢失
当付款网关的最终请求从他们的https服务器发送到我们的http服务器时,我曾经在应用程序中遇到过这种情况。