#1 2009.02.22 15:01

AGENT
Участник
Откуда: Россия
Зарегистрирован: 2008.06.01
Сообщений: 258
Карма: 2
Профиль

Реферер

Почему не работает скрипт записи и вывода рефа? Задолбался уже. Белый экран в водит и все тут.
Добавлено спустя   5 минут  10 секунд:

Код:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
Таблица: CREATE TABLE `referer` (
url varchar(100) NOT NULL,
hits int(10) DEFAULT '0' NOT NULL,
PRIMARY KEY (url)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
файл который необходимо инклюдить в нужные страницы:
<?php
$hostname1 = "";
$username1 = "";
$password1 = "";
$userstable1 = "referer";
$dbName1 = "";
$ref = strtolower($HTTP_REFERER);
if(!empty($ref)){
mysql_connect($hostname1,$username1, $password1) or die (mysql_error());
mysql_select_db("$dbName1") or die(mysql_error());
$query = "select * from $userstable1 where url = '$ref'";
$result = mysql_query($query);$rows = mysql_num_rows ($result);
if ($rows == 0){
$hits = "1";
$query1 = "insert into $userstable1 (url,hits) values ('$ref','$hits')";
else {
$hitquery = "select hits from $userstable1 where url = '$ref'";
$result2 = mysql_query($hitquery);
$row = mysql_fetch_array($result2);
$hits = $row["hits"];
$query2 = "update $userstable1 set hits = hits+1 where url = '$ref'";
mysql_query($query2);
} }
?>
файл вывода информации:
<?php
 
$hostname1 = "";
$username1= "";
$password1 = "";
$userstable1 = "referer";
$dbName1 = "";
 
$color10 = "#FFFF00";
$color20 = "#FF0000";
$color50 = "#008000";
$color1k = "#0000FF";
$color2k = "#0000A0";
$color5k = "#000040";
 
mysql_connect($hostname1, $username1,$password1) or die (mysql_error());
mysql_select_db("$dbName1") or die(mysql_error());
 
$query = "select * from $userstable1 order by hits desc";
$result = mysql_query($query);
$number = mysql_num_rows($result) or die (mysql_error ());
$i = 0;
if ($number == 0) {
echo '<center><p><b>Сведений о рефералах не обнаружено!</b></center>';
}
elseif ($number >= 1) {
while ($i < $number){
$row = mysql_fetch_array($result);
$hits = $row["hits"];
$ref = $row["url"];
if ($hits <10){
$color = "$color10";
} elseif (($hits >= 10 ) and ($hits < 20)){
$color = "$color20";
} elseif (($hits >= 20 ) and ($hits < 50)){
$color = "$color50";
} elseif (($hits >= 50 ) and ($hits < 100)){
$color = "$color1k";
} elseif (($hits >= 100 ) and ($hits < 200)){
$color = "$color2k";
} elseif ($hits >= 200){
$color = "$color5k";
}
echo "<div align="left">";
echo "<table cols="3" border="0" width="100%"><tr><td align="left" width="400"><b><a href="$ref">$ref</a></b></td>";
echo "<td align="right" width="60"><b>$hits</b></td>";
echo "<td align="left" width="$hits" bgcolor="$color"></td></tr>";
$i++;
echo"</table>";
}
}
?>

Неактивен

#2 2009.02.22 15:23

AGENT
Участник
Откуда: Россия
Зарегистрирован: 2008.06.01
Сообщений: 258
Карма: 2
Профиль

Re: Реферер

В чем проблема может быть?

Неактивен

#3 2009.02.22 15:49

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Реферер

где ты этот скрипт взял?
Добавлено спустя    32 секунды:
в глобальных переменных, скрипт написан на включенных.
Добавлено спустя   2 минуты  25 секунд:

echo "<div align="left">";

вот тут ошибка.

else {

и вот тут ошибка.

Неактивен

#4 2009.02.22 16:35

AGENT
Участник
Откуда: Россия
Зарегистрирован: 2008.06.01
Сообщений: 258
Карма: 2
Профиль

Re: Реферер

Скрипт в сети нашел. Точнее как шаблон. А как сделать чтоб работало и без глобальных чтоб было? smile
Добавлено спустя   1 минуту  11 секунд:
Правда я там чуть полазил ))изначально не такой был скрипт

Неактивен

#5 2009.02.22 16:43

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Реферер

$HTTP_REFERER заменить на $_SERVER['HTTP_REFERER']; ну и переменные которые приходят извне принимаь соответственно через $_GET и $_POST

Неактивен

#6 2009.02.22 16:54

AGENT
Участник
Откуда: Россия
Зарегистрирован: 2008.06.01
Сообщений: 258
Карма: 2
Профиль

Re: Реферер

A вот переменные которые приходят из вне я не смогу заменить. Точнее найти((

Неактивен

#7 2009.02.22 17:11

AGENT
Участник
Откуда: Россия
Зарегистрирован: 2008.06.01
Сообщений: 258
Карма: 2
Профиль

Re: Реферер

Это получится $ref = strtolower($_SERVER['HTTP_REFERER']);
а переменные нужно заменить $ref,$hits?
Добавлено спустя   1 минуту  35 секунд:
$row убрать и поставить $_POST?

Неактивен

#8 2009.02.22 17:28

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Реферер

$_POST['row'] если эта переменна приходти POST методом.

Неактивен

#9 2009.02.22 17:33

AGENT
Участник
Откуда: Россия
Зарегистрирован: 2008.06.01
Сообщений: 258
Карма: 2
Профиль

Re: Реферер

$hits=$_POST['row']["hits"] что ли получится? *WALL* а как узнать каким методом передается?

Отредактировано AGENT (2009.02.22 17:35)

Неактивен

#10 2009.02.22 17:37

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Реферер

$row = mysql_fetch_array($result); ты эту переменную имеешь ввиду чтоли?
если видишь переменную в url, то это GET, если нет, то это POST

Неактивен

Дополнительно

forum.wapinet.ru

PunBB Mod v0.6.2
0.012 s