Помогите скоректировать скрипт

(Ответов: 3, Просмотров: 655)
  1. Студент
    • Регистрация: 09.04.2010
    • Сообщений: 86
    • Репутация: 8
    в общем, есть задача, считать количество переходов по ссылкам
    Облазил много чего, но так и не нашёл ничего работающего и вменяемого.

    На одном сайте, увидел статейку, как можно сделать такой скрипт самому
    вот сайт http://san-ceram.ru/zashhita-partner...exodov-po-nim/

    Но у меня не получается довести его до ума. в статье много нюансов опущено. На данный момент работает добавление ссылки и псевдонима в базу, редирект по ссылке, считывание ссылок и псевдонимов, не работает подсчёт переходов, не ставиться id (ну он не особо нужен).

    мой код
    самый главный файл go.php
    PHP код:
    <?php
    $name_link 
    $_GET["link"]; //получаем имя переменной
    $q mysql_connect("localhost","[B]user[/B]""[B]password[/B]"); //соединяемся с ервером MySQL
    mysql_select_db("[B]db_name[/B]"); // выбираем базу данных
    $query "SELECT * FROM [B]tb_neme[/B] WHERE name ='$name_link'";
    $result mysql_query($query); // делаем запрос
    $f mysql_fetch_array($result);
    $counter=$f[counter]+1// увеличиваем показания счетчика +1
    $query "UPDATE [B]tb_name[/B]SET counter='$counter' WHERE name= '$name_link'";
    $result mysql_query ($query); //записываем новые показания в таблицу
    header ("Location: http://$f[link]"); //собственно сам редирект
    ?>
    и файл считывания статистики
    PHP код:
    <?php
    $q 
    mysql_connect("localhost","[B]user[/B]""[B]password[/B]")
    or die(
    "Could not connect : " mysql_error());
    mysql_select_db("[B]db_name[/B]") or die("Could not select database"); //Соединяемся, выбираем базу данных
    $query "SELECT * FROM [B]tb_name[/B]";
    $result mysql_query($query) or die("Query failed : " mysql_error()); //Выполняем SQL-запрос
    echo "<table border=\"1\" width=\"100%\" bgcolor=\"#FFFFE1\">"//Выводим результаты в html
    echo "<tr><td>id</td><td>Имя</td><td>cсылка</td>";
    echo 
    "<td>Счетчик</td></tr>";
    for (
    $c=0$c<mysql_num_rows($result); $c++)
    {
    echo 
    "<tr>";
    $f mysql_fetch_array($result);
    echo 
    "<td>$f[id]</td><td>$f[name]</td><td>$f[link]</td>";
    echo 
    "<td>$f[counter]</td>";
    echo 
    "</tr>";
    }
    echo 
    "</table>";
    echo 
    "<a href=\"index.html\">На главную</a>";
    ?>
    но он кажется не причём, так как в phpmyadmin счётчик тоже пустой

    таблица в базе формата csv 4 столбца

    id int
    name text
    link text
    count int

    должен считать по команде www.mysite.ru/go.php?link=psevdonim

    помогите разобраться почему не считает?
    • 0
  2. Новичок
    • Регистрация: 15.12.2011
    • Сообщений: 21
    • Репутация: 7
    • Webmoney BL: ?
    в запросе
    Цитата Сообщение от Werdik Посмотреть сообщение
    $query = "UPDATE tb_nameSET counter='$counter' WHERE name= '$name_link '";
    - counter, а поле в таблице count
    • 1

    Спасибо сказали:

    Werdik(21.05.2014),
  3. Студент
    • Регистрация: 09.04.2010
    • Сообщений: 86
    • Репутация: 8
    barabaka, спасибо, пробовал менять, не работала, и только после твоего совета заметил что в одном месте пропустил. Всё работает. Чуть позже закину код всех файлов, может кому тоже пригодится.
    • 0
  4. Студент
    • Регистрация: 09.04.2010
    • Сообщений: 86
    • Репутация: 8
    Алгоритм работы следующий, передаем скрипту псевдоним ссылки, по нему скрипт из таблицы находит соответствующую ссылку, увеличивает показатель счетчика на 1 и перенаправляет пользователя по запорошенной ссылке, всё просто


    1. Создаем базу, например links, а в ней таблицу например link. (все описанные действия я произвел в phpmyadmin).


    id int
    name text
    link text
    count int
    2. Создаем файл который будет увеличивать показания счетчика и производить редирект.

    go.php
    PHP код:
    <?php
    $name_link 
    $_GET["link"]; //получаем имя переменной
    $q mysql_connect("server","user""password"); //соединяемся с сервером MySQL
    mysql_select_db("db_name"); // выбираем базу данных
    $query "SELECT * FROM tb_name WHERE name ='$name_link'";
    $result mysql_query($query); // делаем запрос
    $f mysql_fetch_array($result);
    $count=$f[count]+1// увеличиваем показания счетчика +1
    $query "UPDATE tb_name SET count='$count' WHERE name= '$name_link'";
    $result mysql_query ($query); //записываем новые показания в таблицу
    header ("Location: http://$f[link]"); //собственно сам редирект
    ?>
    3. Создаем скрипт добавления данных в таблицу. add_link.html, выводит форму в которой мы заполняем 2 поля, ссылка и псевдоним. А второй, add_link.php, собственно и будет производить запись в таблицу.

    add_link.html
    PHP код:
    <html><body>
    <
    form method="post" action="add_link.php">
    Введите псевдоним ссылки: <input type=text name="name"><br>
    Введите адрес: <input type=text name="link"><br>
    <
    input type=submit value="GO!">
    </
    form>
    </
    body>
    </
    html
    add_link.php

    PHP код:
    <?php
    $name
    =$_POST['name'];
    $link=$_POST['link'];
    /* Соединяемся, выбираем базу данных */
    $q mysql_connect("server","user""password")
    or die(
    "Could not connect : " mysql_error());
    mysql_select_db("db_name") or die("Could not select database");
    /*Вставляем данные в таблицу*/
    $query "INSERT INTO tb_name (name, link) VALUES ('$name','$link')";
    $result mysql_query ($query) or die("Query failed : " mysql_error());
    echo 
    "ссылка успешно добавлена";
    echo 
    "<br><a href=\"index.html\">Главная</a>";
    echo 
    "<br><a href=\"add_link.html\">добавить еще</a>";
    ?>
    4. Завершением действий будет создание скрипта который будет смотреть статистику.

    statistika.php

    PHP код:
    <?php
    $q 
    mysql_connect("server","user""password")
    or die(
    "Could not connect : " mysql_error());
    mysql_select_db("db_name") or die("Could not select database"); //Соединяемся, выбираем базу данных
    $query "SELECT * FROM tb_name";
    $result mysql_query($query) or die("Query failed : " mysql_error()); //Выполняем SQL-запрос
    echo "<table border=\"1\" width=\"100%\" bgcolor=\"#FFFFE1\">"//Выводим результаты в html
    echo "<tr><td>id</td><td>Имя</td><td>cсылка</td>";
    echo 
    "<td>Счетчик</td></tr>";
    for (
    $c=0$c<mysql_num_rows($result); $c++)
    {
    echo 
    "<tr>";
    $f mysql_fetch_array($result);
    echo 
    "<td>$f[id]</td><td>$f[name]</td><td>$f[link]</td>";
    echo 
    "<td>$f[count]</td>";
    echo 
    "</tr>";
    }
    echo 
    "</table>";
    echo 
    "<a href=\"index.html\">На главную</a>";
    ?>
    server, user, password, db_name, tb_name - заменить на свои

    server - чаще localhost

    user - пользователь базы, password - пароль от базы для user'a

    db_name -имя базы данных

    tb_name - имя таблицы

    В результате на экране монитора будет таблица в строках которой будет псевдоним, ссылка и показания счетчика.

    не забудьте про кодировку, иначе русские слова не будут отображаться, должна быть utf-8 без boom

    создаём папку и копируем туда add_link.php add_link.html и statistika.php, файл go.php кладём в корень сайта

    Для удобства можно создать страницу на которой разместить ссылки на add_link.html и statistika.php и поместить её в корень сайта

    И последнее, что бы это все работало заполняем таблицу псевдонимами и ссылками через файл add_link.html (ссылки писать без http)

    Все, теперь вместо ссылки которую мы хотим посчитать, пишем www.mysite.ru/go.php?link=psevdonim.
    • 0

Похожие темы

Темы Раздел Ответов Последний пост
Помогите доделать скрипт php.
Web программирование 0 07.08.2013 17:01
Помогите найти скрипт.
Web программирование 11 06.07.2013 00:12
Помогите найти скрипт?
Web программирование 4 11.04.2013 00:23
Помогите установить скрипт
Web программирование 1 16.02.2012 16:03
Помогите подобрать скрипт
Софт, скрипты, сервисы 15 14.02.2010 01:35

У кого попросить инвайт?

Вы можете попросить инвайт у любого модератора:

Информеры