注意:未定义的索引:HTTP_REFERER [英] Notice: Undefined index: HTTP_REFERER

查看:367
本文介绍了注意:未定义的索引:HTTP_REFERER的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

注意:未定义的索引:HTTP_REFERER

Notice: Undefined index: HTTP_REFERER

$ http_referer = $ _SERVER ['HTTP_REFERER']

$http_referer = $_SERVER['HTTP_REFERER']

i在教程中使用它。它看起来没问题

i used this from tutorial.and it looks okay

还有代码从包含文件调用它

also code is calling it from including file

我该怎么办?改变?

我添加了print_r($ _ SERVER);现在页面给了我

 Array ([UNIQUE_ID] => UoSxWa56310AAAwUckIAAAAA
        [HTTP_HOST] => movafaghha.com
        [HTTP_COOKIE] => __utma=210711305.58608218.1372977010.1372977010.1372977010.1; __utmz=210711305.1372977010.1.1.utmcsr=who.is|utmccn=(referral)|utmcmd=referral|utmcct=/whois/movafaghha.com; PHPSESSID=83eb0e2ae7ebe4b6c2eeb071d9f5de71
        [HTTP_X_REAL_IP] => 109.109.41.81
        [HTTP_X_FORWARDED_HOST] => movafaghha.com
        [HTTP_X_FORWARDED_SERVER] => movafaghha.com
        [HTTP_X_FORWARDED_FOR] => 109.109.41.81
        [HTTP_CONNECTION] => close 
        [HTTP_CACHE_CONTROL] => max-age=0 
        [HTTP_ACCEPT] => text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8 
        [HTTP_USER_AGENT] => Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.48 Safari/537.36 
        [HTTP_ACCEPT_LANGUAGE] => en-US,en;q=0.8,fa;q=0.6 
        [PATH] => /sbin:/usr/sbin:/bin:/usr/bin
        [SERVER_SIGNATURE] =>
        [SERVER_SOFTWARE] => Apache 
        [SERVER_NAME] => movafaghha.com 
        [SERVER_ADDR] => 174.122.223.93 
        [SERVER_PORT] => 80 
        [REMOTE_ADDR] => 109.109.41.81 
        [DOCUMENT_ROOT] => /home/memarest/public_html/movafaghha.com 
        [SERVER_ADMIN] => webmaster@movafaghha.memarestan.com 
        [SCRIPT_FILENAME] => /home/memarest/public_html/movafaghha.com/tutorials/login200/register.php 
        [REMOTE_PORT] => 49737 
        [GATEWAY_INTERFACE] => CGI/1.1 
        [SERVER_PROTOCOL] => HTTP/1.0 
        [REQUEST_METHOD] => GET 
        [QUERY_STRING] => 
        [REQUEST_URI] => /tutorials/login200/register.php 
        [SCRIPT_NAME] => /tutorials/login200/register.php 
        [PHP_SELF] => /tutorials/login200/register.php 
        [REQUEST_TIME_FLOAT] => 1384427865.54 
        [REQUEST_TIME] => 1384427865 
        [argv] => Array ( ) 
        [argc] => 0 
    ) 

编辑了代码但仍然无法回显所有fiedd是必需的

edited the code but still unable to echo all fiedds are required

<?php

ini_set("display_errors", true);
error_reporting(E_ALL);

require 'core.inc.php';






if(!loggedIn()) {

//check mikunim ke tamame field ha dar form vojod darand va set shudan

if(isset($_POST['username'])&&isset($_POST['password'])&&isset($_POST['password_again'])&&isset($_POST['firstname'])&&isset($_POST['surename'])) {

    $username = $_POST['username'];
    $password = $_POST['password'];
    $password_again = $_POST['password_again'];
    $firtsname = $_POST['firstname'];
    $surename = $_POST['surename'];



    //HALA CHECK MIKUNIM KHALI HASTAND YA NA

    if(!empty($username)&&!empty($password)&&!empty($password_again)&&!empty($firstname)&&!empty($surename)){
        echo 'ok' ;

    } else {

        echo ' All fields are required';

    }

}




?>

<form action="register.php" method="POST">
Username:<br> <input type="text" name="username"><br> <br>
Password:<br> <input type="password" name="password"><br><br>
Password again:<br> <input type="password" name="password_again"><br><br>
Firstname:<br> <input type="text" name="firstname"><br><br>
Surname:<br> <input type="text" name="surename"><br><br>
<input type="submit" value="register">



</form>

<?php

} elseif (loggedIn()) {

    echo 'you \'re already logged in';
    }

?>

现在添加后


e

"e"

页面上写着所有字段都是必填项

page says "all fields are required"

但即使填写所有字段的消息也不会改变

but even when fill all fields message do not change

推荐答案

HTTP_REFERER 不保证由客户发送:


将用户代理引用到当前页面的页面地址(如果有)。这由用户代理设置。并非所有用户代理都会设置此功能,有些用户可以将HTTP_REFERER修改为功能。简而言之,它无法真正被信任。

The address of the page (if any) which referred the user agent to the current page. This is set by the user agent. Not all user agents will set this, and some provide the ability to modify HTTP_REFERER as a feature. In short, it cannot really be trusted.

在你的情况下,显然没有被发送,所以你真的所能做的就是

In your case it's clearly not being sent, so really all you can do is

if(isset($_SERVER['HTTP_REFERER'])) {
  //do what you need to do here if it's set    
   }
else
{
   //it was not sent, perform your default actions here
}

这篇关于注意:未定义的索引:HTTP_REFERER的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆