serialize в куках

Slaughter

Новичок
serialize в куках

есть:
фотогалерея (50 фоток)
функция, кот. выводит фотку на экран:
PHP:
function show_foto()
{		  
		  
  $id=$_GET['id'];
  include("conn.inc");
  if (isset($_COOKIE['cookie_foto[$id]']))
  {
      $table="foto";
      //узнаем какую фотку нужно показать
      $querya = "SELECT `adr` FROM `$table` ORDER BY `id` = '$id'";
      $resa=mysql_query($querya,$link);
      $k=0;
      while ($line = mysql_fetch_array($resa))
      {
          $addr[$k]=$line[0];
      }
      
      $name = $addr[$k];  // имя нашей фотки
      
      //воводим фотку
      $fp = fopen($name, 'rb');
      header("Content-Type: image/jpeg");
      header("Content-Length: " . filesize($name));
      fpassthru($fp);
  }
  else
  {
      //устанавливаем куку... после, нав., должно быть serialize
      setcookie("cookie_foto[$id]", "cook_$id", time()+3600);
      $table="foto";
      $querya = "SELECT `adr` FROM `$table` ORDER BY `id` = '$id'";
      $resa=mysql_query($querya,$link);
      $k=0;
      while ($line = mysql_fetch_array($resa))
      {
         $addr[$k]=$line[0];
      }
       //увеличиваем счетчик
       $counter=mysql_query("UPDATE `$table` SET `count`= `count` + 1 WHERE `id` = '$id'", $link);
       mysql_close($link);
       if ($counter)
       {
           // ну.. и опять вывод фотки
           $name = $addr[$k];
           $fp = fopen($name, 'rb');
           header("Content-Type: image/jpeg");
           header("Content-Length: " . filesize($name));
           fpassthru($fp);
       }
       else {echo "<br><br>Ощибка базы";}
		 }
}
вот как сделать, чтобы на каждую фотку давалась кука?
Я так понимаю надо использовать serialize... Но не понимаю как...
Плз, тыкните пальцем...
и можно как-нить этот код оптимизировать?
 

azamat

Guest
Врядле тебе кто-нибудь ответит, пока ты не объяснишь зачем тебе это надо: хранить id фотки в куках.
 

lucas

Guest
Slaughter

Ты объясняешь, зачем тебе нужно хранить id фоток в куке -- тебе помогают. Намек ясен?
 

Slaughter

Новичок
ок
есть фотогалерея, есть там счетчик($counter)
нужно, чтобы при нажатии на фотку 1) если нет куки - установить, увеличить счетчик, показать фотку или 2) если есть кука, то не увеличивать счетчик и открыть фотку.

"зачем тебе нужно хранить id фоток в куке" - а как? вот я и хочу узнать как мне это сделать... если не так, то как....?
мануал читал и по кукам и по serialize... ну... не могу понять, как serialize использовать в куках...?
и конечно же нужно установит куку для всех фоток в отдельности (вот как раз этот serialize)
большое спасибо!
 

Фанат

oncle terrible
Команда форума
не могу понять, как serialize использовать в куках...?
serialize выдает тебе строку. эту строку можно записать в куку. Что здесь неясного-то?
Другое дело, что логика у тебя хромает. Точнее, реализация отличается от логики. проверять тебе нажно не куку, а наличие ид фотки в массиве, который ты из нее достаешь.

Имей в виду, что размер кук ограничен. И в этом тоже слабость твоего метода.Если все так серьезно, то лучше ставить юзеру ОДНУ куку с ЕГО ид, а остальной учет вести на сервере
 
Сверху