Помогите с cookie (для разных страниц)

Тема в разделе "Как сделать...", создана пользователем ufaclub, 24 окт 2012.

  1. ufaclub

    ufaclub

    Регистр.:
    1 май 2007
    Сообщения:
    395
    Симпатии:
    17
    есть страница с урл который можно определить вот так: $url = $_SERVER['REQUEST_URI'];

    Есть переменная $price в которой случайно число из диапазона от 40 000 до 80 000;

    вот мне нужно выводить на странице echo $price; чтобы эта переменная хранилась неделю.

    суть в том что у каждой страницы $price определятся случайным образом и сохраняется у пользователя в куках на неделю. Т.е он открыв эту же страницу увидит число из переменной которая хранится в куках.

    как сделать? [​IMG]
     
  2. StrikeOFF

    StrikeOFF ♥kan inte lyfta utan lift♥

    Регистр.:
    20 мар 2010
    Сообщения:
    364
    Симпатии:
    204
    PHP:
    <?php
    if(!isset($_COOKIE['price'])){
        
    $price rand(40000,80000);
        
    setcookie("price",$price,time()+604800);
        }
    if(isset(
    $_COOKIE['price'])){
        if(
    gettype($price) == "integer"){
            if((
    $price<80000)&&($price>40000)){
                
    $price $_COOKIE['price'];
                } else {
                
    $price rand(40000,80000);
            }
        }
    }
    echo 
    $price;
    ?>
    сори что не с первого раза, учусь
    аа, ты еще дописал проверку на страницу.. ну эт мне уже некогда дописывать ее. :( кто-то допишет... или я завтра
     
  3. ufaclub

    ufaclub

    Регистр.:
    1 май 2007
    Сообщения:
    395
    Симпатии:
    17
    а теперь выводит integer

     
  4. begemot3

    begemot3 Постоялец

    Регистр.:
    18 янв 2009
    Сообщения:
    52
    Симпатии:
    13
    Вот так можно сделать на отдельные страницы:

    <?php

    $url = $_SERVER['REQUEST_URI'];

    if(!isset($_COOKIE['price_'.md5($url)])){
    $price = rand(40000,80000);
    setcookie("price_".md5($url),$price,time()+60*60*24*7); // 7 тут указывает количество дней для хранения куки
    }
    if(isset($_COOKIE['price_'.md5($url)])){
    if(gettype($price) == "integer"){
    if(($price<80000)&&($price>40000)){
    $price = $_COOKIE['price_'.md5($url)];
    } else {
    $price = rand(40000,80000);
    }
    }
    }
    echo $price;
    ?>