[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: $_COOKIE такие $_COOKIE...
SkaTrancer
Проблема в следующем:

есть скрипт рейтинга-сайтов(самописный), в скрипте есть файлик counter.php, который подсчитывает кол-во переходов по ссылке, и если юзер впервые на ней то прибавляется +1 голос сайту по баннеру которого он перешел.

Сначало я сделал проверку голосовал ли за этот сайт человек с этим айпи сегодня - все ок!
Решил сделать выдачу куков на 24 часа, тут-то я и застрял. Сделал что в куки шло значения айди сайта за который голосовали, но проблема была в том что в куки передалось значение 12 и оно там осталось и всегда там session_destroy(); и тд все перепробовал не спасает)

ХЕЛП) :blink:

Вообщем вопрос - как выдать куки на 24 часа и проверять есть ли они?!
Читал мануалы не понял про foreach нифига!)

<?php
session_start();

// Подключение файла настроек
include('inc/config.php');

$id = $_GET['id'];
$ip_vote = $_SERVER['REMOTE_ADDR'];
$date = date('Y-m-d');
$error = 0;

foreach($_COOKIE['vote'] as $vote_cook => $value)
{
if($value != $id)
{
setcookie("vote", "", time() - (3600*24));
session_destroy();
if($_GET['vote'] == $_SERVER['REMOTE_ADDR'])
{

// Получение списка ip-адресов
$get_ip = mysql_query("SELECT * FROM votes WHERE site_id='{$id}' AND ip='{$ip_vote}' AND date='{$date}'");
$check = mysql_fetch_assoc($get_ip);

// Проверяем голосовал ли такой юзер с этим ip за этот сайт
if($check['site_id'] == $id && $check['ip'] == $ip_vote && $check['date'] == $date)
$error = 1;

// Если не голосовал, то...
if($error == 0)
{
$get_sites = mysql_query("SELECT * FROM sites WHERE id='{$id}'");
$update_clicks = mysql_query("UPDATE sites SET clicks=clicks+1 WHERE id='{$id}'");
$insert_votes = mysql_query("INSERT INTO votes VALUES (NULL,'{$id}','{$ip_vote}',NOW())");
setcookie("vote", $id, time()+(3600*24));
}
}
}

else
{
$get_sites = mysql_query("SELECT * FROM sites WHERE id='{$id}'");
$update_clicks = mysql_query("UPDATE sites SET clicks=clicks+1 WHERE id='{$id}'");
}
}

?>




Спустя 40 минут, 46 секунд (21.02.2012 - 13:35) Invis1ble написал(а):
foreach тут как бы совсем не причем
Цитата
setcookie("vote", $id, time()+(3600*24));

это и есть на 24 часа
проверить просто - isset($_COOKIE['vote'])

Спустя 50 минут, 3 секунды (21.02.2012 - 14:25) SkaTrancer написал(а):
а как мне для проверки вывести значение $_COOKIE['vote']?

Спустя 1 минута, 31 секунда (21.02.2012 - 14:26) Invis1ble написал(а):
var_dump($_COOKIE['vote']);

Спустя 10 секунд (21.02.2012 - 14:27) SkaTrancer написал(а):
мне нужно проверить значение $_COOKIE

Спустя 1 час, 31 минута, 59 секунд (21.02.2012 - 15:59) SkaTrancer написал(а):
Проблему решил)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.