За последние 24 часа нас посетили 55313 программистов и 1725 роботов. Сейчас ищут 900 программистов ...

setcookie отрабатывает со второго раза.

Тема в разделе "PHP для новичков", создана пользователем wir_wolf, 2 апр 2010.

  1. wir_wolf

    wir_wolf Активный пользователь

    С нами с:
    10 янв 2009
    Сообщения:
    183
    Симпатии:
    0
    PHP:
    1. <?php
    2. $key = "albums_1";
    3. $cookie = setcookie( "albums_name", $key, time()+3600);
    4. echo '<!DOCTYPE HTML PUBLIC  "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    5. <html>
    6. <head>
    7. <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    8. <title>Рейтинг Сайтов. ТОП 100</title>
    9. <link rel="stylesheet" href="css/loader.css" type="text/css" />
    10. <br>
    11. <br>
    12. <br>
    13. <br>
    14. <div id="content">Идет обработка загруженых изображений. <br>Этот процес может занять несколько минут, в зависемости от того сколько файлов было загружено....</div>
    15. <br><p align="center"><img src="img/ajax-loader.gif" border=0><p> ';
    16.  
    17.  
    18.  
    19. require_once("db.php");
    20. include_once("req.php");
    21. include_once("../directory.php");
    22. $imeage_editor = new imeage_edit();
    23. $db = new db_layer();
    24. $db->getConnection();
    25. $album_name = $_COOKIE["albums_name"];
    26. directory_create("../small_image/");
    27. directory_create("../small_image/".$album_name);
    28. directory_create("../bid_image/");
    29. directory_create("../bid_image/".$album_name);
    30.  
    31.  
    32. if($_COOKIE["albums_name"] == null){echo "Ошибка чтения COOKIE";}else
    33. {
    34. $qry = "select * from temp_counter";
    35. $db->execute_sql($qry,$result,$error_msg);
    36. $row = mysql_fetch_object($result);
    37. if($error_msg <> "")
    38. {
    39.     echo $error_msg;die;
    40. }
    41. else
    42. {$db->execute_sql($qry,$result,$error_msg);}
    43.  
    44. while($row = mysql_fetch_object($result))
    45. {
    46. echo "<br>";
    47. $temp_miniIMG = $imeage_editor->editsize($row->url);
    48. $filename = "../small_image/" . $album_name . "/".$row->url;  
    49. imagejpeg($temp_miniIMG, $filename, 100 );
    50.  
    51. $bid_filename ="../bid_image/".$album_name."/".$row->url;
    52. $imeage_editor->imageresize($bid_filename, $row->url, 50);
    53.  
    54. $SQL = "INSERT INTO albums (`date`, `url`, `coment`, `id_in_gallery`) VALUES ('2010-04-01', '".$row->url."', '".$_COOKIE["albums_name"]."', '".$row->id."')";
    55. echo $SQL;
    56. echo "<br>";
    57. $db->execute_sql($SQL,$resul);
    58. $row2 = mysql_fetch_object($resul);
    59. }
    60. //$qry = "delete from temp_counter;";
    61. //$db->execute_sql($qry,$result,$error_msg);
    62. //$qry = "ALTER TABLE `temp_counter` AUTO_INCREMENT =0;";
    63. //$db->execute_sql($qry,$result,$error_msg);
    64. //$dey = date("d");
    65. //$mons = date("m");
    66. //$yer = date("Y");
    67.  
    68. }
    69. ?>
    70. <div id="content2"> Обработка успешно выполнена. Вы множите перейти к редактированию очередности.<br><a href="editor.php?id=ok">Перейти..</a></div>
    71. <html>
    72.  
    после первого открытия вижу "Ошибка чтения COOKIE", а потом все нормально выполняется..
     
  2. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    Потому что в массив $_COOKIE поставленая кука попадет после того, как браузер ее передаст скрипту. После третьей строки добавь
    PHP:
    1. $_COOKIE["albums_name"] = $key;
     
  3. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    для текущих значений, которые не надо светить посетитлю подойдет $_SESSION.
    Но это только на время посещения. Когда пользователь зайдет в следующий раз - создается новая сессия.

    Сессии и куки можно с умом комбинировать.