На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Страницы: (2) [1] 2  все  ( Перейти к последнему сообщению )  
> Глючат куки
    Почему могут не прописываться куки в PHP и как с этим бороться?
      Может в брозере куки отключены.
      Да и вообще голимняк эти куки - сессиями лучше пользоваться... ;)
        Да кстати посмотри свой php.ini повнимательнее - может там ответ найдешь ;D ;D ;D
          В броузере куки включены, другие скрипты работают, а мой - нет.
          Мне предпочтительно пользовать именно куки, т. к. нужно просто прописывать клиенту его имя и e-mail, которые он ввел в гостевой книге.
            Если у клиента все включено, то ошибка у тебя в 17-й строке :)
            Что-то не так делаешь... и от нас скрываешь :)
              Ничего не понял...
              Почему куки предпочтительнее???
                2vot: цитирую файл guestbook.php:17 - "    $Req = $HTTP_POST_VARS;". Ошибок нет :-)
                2Алексей: потому, что загоняться не хочу :-)

                Есть такое подозрение, что перед вызовом setcookie() уже успевают заслаться header'ы, но только не понятно как.

                Попробую объяснить подробнее что я делаю.

                Значит так. Имеется скрипт .php, который при вызове с разными параметрами подгружает разные html-странички и вставляет их в template. Работает отлично, глюков не замечено.

                Имеется другой скрипт guestbook.php. Он тоже работает, делает все, что должен, кроме прописывания куков.

                Когда он вызывается с параметром "добавить новое сообщение", новое сообщение добавляется. После операции добавления у меня стоит:

                setcookie("afs_gb_nickname", "THE NICKNAME", time()+60*60*24*30);

                , причем, перед этой строчкой у меня <i>вроде бы</i> нету ни одного print'a и echo'а.

                Скрипт guestbook.php вызывается скриптом .php, и сам по себе не работает.

                Вроде, так.
                  Проверь вызываемые ранее функции на предмет вывода хеадера
                    Каким образом?
                      setcookie("afs_gb_nickname", "THE NICKNAME", time()+60*60*24*30);

                      А где хост, путь, идентификатор безопасного соединения???

                      Попробуй вот так:
                      setcookie("afs_gb_nickname", "THE NICKNAME", time()+60*60*24*30,"/", "yourhost.ru",0);

                      Не хочу показаться занудой но все же советую сделать сессией - одна строка кода и те же глобальные переменные... Все тоже самое.

                      Я то вот недолюбливаю куки и частенько их тру: паранойя...

                        Я попробовал этот guestbook.php пускать отдельно: работает. А вместе с движком нет.

                        2Алексей: А как пользовать сессии?
                          Да кстати header  ни при чем - интерпретатор сказал бы тебе что не может
                          Блин короче : Warning: Cannot add header information - headers already sent by
                          Смотри варнинги.
                          Или попробуй сам вставить строку print " "; перед установкой куки и посмотри что выйдет.
                            Держи пример:

                            Session.phtml

                            <?php
                            session_start();
                            ?>
                            <html>
                               <head>
                                   <title>Session</title>
                               </head>
                               <body>
                            <?php
                            print "Your session id is: ".session_id()."<hr>";
                            //include("Global.phtml");
                            session_register("product1");
                            session_register("product2");
                            $product1="SSS";
                            $product2="xxx";
                            print session_encode()."<hr>";
                            ?>
                            <a href="Session2.phtml">Next</a>

                               </body>
                            </html>



                            Session2.phtml

                            <?php
                            session_start();
                            ?>
                            <html>
                            <head>
                            <title>Session</title>
                            </head>

                            <body>
                            <?php
                            print "<ul><li>$product1<li>$product2</ul>";
                            print session_save_path();
                            ?>
                            </body>
                            </html>

                            Думаю разберешься. Что не понятно - спрашивай.
                              Да еще сделай каталог /tmp (в Unix) где будут храниться временные файлы сессий.

                              В форточках - укажи к нему путь в php.ini
                                Если надо - могу скан книжки прислать с описанием как работать с сессиями - укажи просто свой майл, а то чтоб его узнать регистрироваьтся надо  :(.
                                5 стр всего.
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0350 ]   [ 15 queries used ]   [ Generated: 27.04.24, 13:50 GMT ]