注意:未定义的索引:HTTP_REFERER
$http_referer = $_SERVER [‘HTTP_REFERER’]
我使用这个从教程,它看起来不错
我该怎么改?
我添加了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 )
编辑代码,但仍然无法回应所有fiedds是必需的
<?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”
页面说“所有字段都是必需的”
但即使填写所有字段消息也不要更改
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.
在你的情况下,显然没有被发送,所以你真的可以做的就是
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 }