ФорумПрограммированиеPHP для идиотов → Редирект и счетчик

Редирект и счетчик

  • Felicitto

    Сообщения: 24 Репутация: N Группа: Кто попало

    Spritz 25 августа 2008 г. 10:42

    Добрый день.
    Возник следующий вопрос.
    У меня есть файл redirect.php
    <?php header("Location: http://google.com"); exit;?> 

    Также есть код счетчика. Как разместить его на этой странице, чтобы знать сколько человек было переброшено редиректом.

    Нужно использовать другой способ редиректа?

    P.S. я начинающий :)

  • adw0rd

    Сообщения: 22905 Репутация: N Группа: в ухо

    Spritz 25 августа 2008 г. 10:57, спустя 14 минут 24 секунды

    Felicitto, перед "header" считайте пользователей.
    adw/0
  • Felicitto

    Сообщения: 24 Репутация: N Группа: Кто попало

    Spritz 25 августа 2008 г. 11:16, спустя 19 минут 30 секунд

    Я просто использую готовый счётчик от хит.уа

    <!– hit.ua –>
    <a href='http://hit.ua/?x=7697' target='_blank'>
    <script language="javascript" type="text/javascript"><!–
    Cd=document;Cr="&"+Math.random();Cp="&s=1";
    Cd.cookie="b=b";if(Cd.cookie)Cp+="&c=1";
    Cp+="&t="+(new Date()).getTimezoneOffset();
    if(self!=top)Cp+="&f=1";
    //–></script>
    <script language="javascript1.1" type="text/javascript"><!–
    if(navigator.javaEnabled())Cp+="&j=1";
    //–></script>
    <script language="javascript1.2" type="text/javascript"><!–
    if(typeof(screen)!='undefined')Cp+="&w="+screen.width+"&h="+
    screen.height+"&d="+(screen.colorDepth?screen.colorDepth:screen.pixelDepth);
    //–></script>
    <script language="javascript" type="text/javascript"><!–
    Cd.write("<sc" + "ript src='http://c.hit.ua/hit?i=7697&g=0&x=3"+Cp+Cr+
    "&r="+escape(Cd.referrer)+"&u="+escape(window.location.href)+"'></sc" + "ript>");
    //–></script>
    <noscript>
    <img src='http://c.hit.ua/hit?i=7697&amp;g=0&amp;x=2' border='0' alt='hit.ua' title='hit.ua'/>
    </noscript></a>
    <!– / hit.ua –>


    Получаю такую ошибк:

    Warning: Cannot modify header information - headers already sent by (output started at /home/site/public_html/register.php:33) in /home/site/public_html/register.php on line 34
  • adw0rd

    Сообщения: 22905 Репутация: N Группа: в ухо

    Spritz 25 августа 2008 г. 11:24, спустя 8 минут 15 секунд

    Мавр, твоя очередь ;)
    adw/0
  • Felicitto

    Сообщения: 24 Репутация: N Группа: Кто попало

    Spritz 25 августа 2008 г. 11:33, спустя 9 минут 4 секунды

    Как я понимаю, то если используется хедер, но нельзя чтобы сам документ (сгенерированный хтмл) отправлялся юзеру. То есть с кода счетчика надо удалить весь html. Но ведь, скажем,
    <script language="javascript" type="text/javascript">
    тоже отправляется…
    Кто виноват и что делать? :(
  • adw0rd

    Сообщения: 22905 Репутация: N Группа: в ухо

    Spritz 25 августа 2008 г. 11:51, спустя 18 минут

    Felicitto, ты определись, ты на стороне сервера будешь считать и редирект делать или на стороне клиента?

    Для текущего твоего варианта (на стороне клиента) нужно:
    <script type="text/javascript">
    <!–
    window.location = "http://www.example.com/"
    //–>
    </script>

    а:
    <?php header("Location: http://google.com"); exit;?> 
    - в этом случае не нужно.

    На стороне сервера (с использованием PHP):
    * header - предназначен для передачи заголовков со стороны сервера - клиенту.
    <?php

    // тут мы считаем средствами PHP пользователей
    // html, javascript и прочий контент - передавать нельзя!

    header("Location: http://google.com"); exit;?>
    adw/0
  • Trej Gun

    Сообщения: 5299 Репутация: N Группа: в ухо

    Spritz 25 августа 2008 г. 12:06, спустя 14 минут 38 секунд

    Мавр, твоя очередь ;)

    прости я занят был

    Felicitto
    <meta http-equiv="refresh" content="5;url=http://google.com">



  • Felicitto

    Сообщения: 24 Репутация: N Группа: Кто попало

    Spritz 25 августа 2008 г. 12:22, спустя 16 минут 3 секунды

    Спасибо. Реализовал по совету adw0rd. Правда если у пользователся отключен яваскрипт, то ему прийдется перейти вручную…
    стоит переделать по методу Мавра?
  • adw0rd

    Сообщения: 22905 Репутация: N Группа: в ухо

    Spritz 25 августа 2008 г. 12:26, спустя 3 минуты 56 секунд

    Felicitto, да, делай как мавр показал. Однако в твоем счетчике есть JavaScript, учти что он также не будет доступен.
    adw/0

Пожалуйста, авторизуйтесь, чтобы написать комментарий!