проверка включеных cookie

Discussion in 'PHP' started by dondy, 3 Aug 2015.

  1. dondy

    dondy Member

    Joined:
    5 Jun 2015
    Messages:
    560
    Likes Received:
    61
    Reputations:
    5
    хочу проверить включены ли cookie, но одного не хватает, что сделав так:
    PHP:
    <?php
      
    // это небольшой проверочный скрипт, выясняющий,
      // включены ли cookies у пользователя 

      
    if(!$cookie)
      {
        
    // посылаем заголовок переадресации на страницу,
        // с которой будет предпринята попытка установить cookie
        
    header("Location: $PHP_SELF?cookie=1");
        
    // устанавливаем cookie с именем "test"
        
    setcookie("test","1");
      }
      else
      {
        if(!
    $test)
        {
          echo(
    "Для корректной работы приложения необходимо включить cookies");
        }
        else
        {
          
    // cookie включены, переходим на нужную страницу:
          
    header("Location: http://localhost/river.jpg");
          
    // здесь посылается заголовок, содержащий адрес нужной страницы
        
    }
      }
    ?>
    адрес страницы изменится: http://sitename.ru/page?cookie=1

    это get значение не умесно: ?cookie=1, его пробовал обрезать через htaccess и средствами php - бесполезно, осталось оно
    адрес страницы должен быть http://sitename.ru/page и любой другой get запрос тоже естественно не вариант

    можно ли как то решить эту проблему ?
    проверить cookie тоже нужно, но можно ли до загрузки страницы это сделать и вернуть назат страницу? если есть cookie http://sitename.ru/page
    если их нет, то можно оставить как есть или например так http://sitename.ru/page?cookie=no
     
  2. Zen1T21

    Zen1T21 Member

    Joined:
    13 Jan 2013
    Messages:
    158
    Likes Received:
    37
    Reputations:
    2
    if(isset($_COOKIE['user']))
    {
    есть куки
    }
    else
    {
    нет
    setcookie
    }
     
  3. dondy

    dondy Member

    Joined:
    5 Jun 2015
    Messages:
    560
    Likes Received:
    61
    Reputations:
    5
    тут нужна перезагрузка, что бы переменную которая у юзера задается принять
    если в самом начале страницы поставить js который создают переменную, то под ним в коде - обработчик php принять может созданое значение js без перезагрузки ?
     
  4. InfectedM

    InfectedM Elder - Старейшина

    Joined:
    4 Nov 2007
    Messages:
    155
    Likes Received:
    12
    Reputations:
    0
    Странная какая-то архитектура...

    Нужно выполнять PHP код в фоне?
    Ajax
     
  5. i~DOS

    i~DOS Member

    Joined:
    26 Mar 2009
    Messages:
    42
    Likes Received:
    40
    Reputations:
    4
    Что-то вроде этого
    Code:
    $(document).ready(function()
    {
        $.ajax(
        {
            post: "GET",
            url: "gate.php"
        }).done(function(data)
        {
            alert(data);
        }).fail(function(jqXHR, textStatus, errorThrown)
        {
            alert(textStatus);
        });
    });