Записване на данни

php_mysql

Registered
Имам код:
Код:
<?php 

	$server="localhost"; 
	$user=""; 
	$pass=""; 
	$db="ref"; 
	mysql_connect($server, $user, $pass); 
	mysql_select_db($db); 
	$idva = $_SERVER['HTTP_REFERER'];
	if($idva == '') {
		$ip = $_SERVER['REMOTE_ADDR']; 
		$date = date("j.n.Y"); 
		$query ="INSERT INTO ref(`id`, `url` , `ip`, `date` ) values('NULL', '$idva' , '$ip', '$date')"; 
		mysql_query($query); 
		}
		
?>

При влизане в index.php ми дава следната грешка
Notice: Undefined index: HTTP_REFERER in C:\..\..\ref\index.php on line 9

9 ред:
Код:
$idva = $_SERVER['HTTP_REFERER'];

И ако има нужда от някаква защита , защото не виждам да се сложи :)

EDIT: При отваряне ми записва всичко без от къде идва.
 
<?php

$server="localhost";
$user="";
$pass="";
$db="ref";
mysql_connect($server, $user, $pass);
mysql_select_db($db);
$idva = @$_SERVER['HTTP_REFERER'];
if($idva == '') {
$ip = $_SERVER['REMOTE_ADDR'];
$date = date("j.n.Y");
$query ="INSERT INTO ref(`id`, `url` , `ip`, `date` ) values('NULL', '$idva' , '$ip', '$date')";
mysql_query($query);
}

?>

И дай едно print_r($_SERVER); да видим имаш ли изобщо такъв индекс в масива.

:)
 
Има плугини, които скриват рефералната страница. Някои firewall също го правят.
Ако искаш това съобщение да не ти го показва замени реда:
$idva = @$_SERVER['HTTP_REFERER'];
с:
$idva = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '';
 

Back
Горе