![]() |
Помогите с $_SESSION['id'].
Помогите кто знает $_SESSION['id'];
Вообщем надо сравнивать кукисы и сессион айди...ведь они одинаковые... как? 1.как можно вывести просто на экран $_SESSION['id'] этот длинный код и print_r ($_COOKIE); 2.Как их можно сравнивать? |
artemidka
сформулируй почетче то, что ты хочешь выводить значение переменной можно оператором echo или print сравнивать -- if (выражение == выражение) { если совпадают} else {иначе} |
PHP код:
Вот Смотрите Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /usr/home/tonka/ftp/sit/inc/start.php:3) in /usr/home/tonka/ftp/sit/test.php on line 3 cfc32fbba1fefbe2aec0e1c0a4699efc Почему? Что надо изменить. вывести я хочу для себя сессию и куки. А вообще я их сравнивать буду и выполнять соответственно действия. |
во-первых. до этого места не должно ничего выводиться в браузер (или в стандартный вывод)
во-вторых попробуй вот так PHP код:
|
Цитата:
Цитата:
|
echo session_id();
выводится @_is_absent ты был прав, а КУКИ????Как с ними быть, я сколько пробовала...они у меня не уживаются с сессиями..это надо быть магом что бы они друг друга не видили:)шучу. Как $CookIES их айди? Добавлено через 10 минут: PHP код:
|
А зачем тебе сравнивать данные кук и сессий? Опиши задачу?
|
echo $_COOKIE['PHPSESID'] %-)
все же написано... Добавлено через 1 минуту: artemidka а если ты хочешь вывести данные, которые хранятся в самой сессии, то куки тут непричем. :) для этого надо смотреть массив $_SESSION |
PHP код:
@_is_absent А как? Как можно посмотреть Массив СЕССИОН? |
artemidka
дык... а сессию кто создавать будет? или хотя бы кук повешать. session_srart() в начало файла допиши |
@_is_absent
medved2002 Я себе вообще задачу как поставила, вообще есть товары и карзина, и чтобы человек мог перекидывать в нее и удалять....надо ведь идентификаю поставить ну мол это карзина Васи, Это карзина Пети..по сессион ай ди можно вполне ариентироваться. Я думаю если сравнивать сессион ай ди и то что в куках то можно что то уже делать...а реализовала в своем сайте(домашняя страничка) это с помощью ПХП ..но это изврат в php! Как это правильно сделать? |
artemidka
имхо, не получится. поскольку идентифитактор сессии генерируется накаждыйй визит. то есть если петя зайдет два раза (даже с одного и того же компьютера), при условии, что он после первого визита закрыл браузер, то SID будет другой. соответственно и в куках будет тоже другое значение. имхо нужно просто авторизировать пользователя. для каждого пользователя держать пару логин/пароль логин уникален). и заходишь каждый раз. можно еще куку вешать (где хранить хеш от логина и пароля), это позволит впоследствии не вводить эти самые логин и пароль, но это вешь такая... не любят ее почему-то. нужна конкретная реализация или хватит идей? :) а насчет сравнивать.. эти два значения будут ВСЕГДА одинаковы :) |
1. Правильней решить критична ли информация которую ты будешь хранить в сессиях (ибо сессие ресурсозатратны). Что пихают в сессии - инфу которую нельзя доверить пользователю.
2. А товары котрые пользователь положил в корзину ты где хранишь? |
Стой, дело в том что мне и нужно чтобы каждый раз после закрытия браузера..т.е. по завершению сессии.. карзина пустая была....
Да идей я не знаю...голова пухнет. Думаю а если просто сделать...без сессий куков только СЕССИОН АЙ ДИ И БАЗА МУСКЛА? Если сравнивать значение мускла и этого пользователя..то все будит ок? Сама себе и на вопрос ответила. Глянь..зашел чел. Под него табличка отделльно создалась с его названием сессии.. Только он начинает что то заказыватьего табличка забивается....а потом преддложить ему в конце когда он окончательно захочет подтвердить заказ форму с авторизацией...вернее куда чего и сколько:) Вообщем это как сочинение писать в школе всегда можно обойти другими путями- это же не диктант) |
1. Самый простой вариант в этом случае хранить в куках идшники товаров, ибо создавать таблицу под каждого зашедшего на сайт - имхо параноя.
2. А от регистрации пользователя чтонибудь зависит? Скидки? Запоминает несколько адресов доставки? |
medved2002 и в куки айди сессии записывать да?
|
А зачем тебе еще и сессион айди?
Пойми что сессии и куки это разные варианты хранения данных (между собой не связанных), зачем тебе использовать сразу оба? |
Лучше в Сессии) Мне они ближе по духу) Буду сессии юзать.
|
Бррр а чем если не секрет? Еще раз повторюсь юзать сессии имхо имеет смысл только когда нельзя доверить хранимую информацию пользователю, разница в них только в том что куки хранятся на компе пользователя, а сесии на сервере. Товар который человек положил в корзину вряд ли является секретной информацией. Тогда зачем заваливать сервак лишней информацией?
|
medved2002 ты прав.... Блин тогда прийдется с массивами разбираться) А можно сделать переменную в куках- массив? medved2002 сейчас ты скажешь) ПРИЕХАЛИ)))))
|
artemidka
в куках можно хранить только строки. НО! есть такая функция serialize называется. очень полезная вешь. почитай документацию там хорошо написано :) |
Цитата:
Цитата:
Цитата:
|
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
|
Так на чем лучше остановится?Hubbitus ? Онли куки ор сессионс юзать?
|
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
P.S. Я абсолютно не ставил задачи уличить кого бы то нибыло в некомпетенции. Я просто старался помочь artemidka и высказал свое мнение. И как еще один аргумент - я так понял что только начинают осваивать Сессии и Куки и пока вопрос об оптимизации и скорости работы не стоял, а с сессиями разобраться ораздо легче :biggrin: |
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
|
Цитата:
С сессиями однозначно проще разбираться и работать. На счет нагрузки, как сказал medved2002, она больше на сервер, но IMHO не значительная она при нормальном использовании (ну не надо полный текст Онегина в сессии класть :p ) Я бы магазин сделал на сессиях (кстати,medved2002, чаще всего так и делают). Да я вобщем-то на сессиях его и делал :) |
medved2002
Hubbitus Тихо:) Не ссорьтесь, я лучше вам еще вопрос подкину)) Скажите лучше как в куках сделать динамический массив ? Распределять память не надо? И как его забивать? заранее сенкс. Хочу в куки сохранять данные.... вернее в массив который в куках...реально это вообще или нет*? $_Cookie[i]="123"; $_Cookie[i++]="124"; $_Cookie[i++]="125"; это грубо...а вообще я в цикле буду смотреть |
господа :)
нагрузка на сервер??? в чем??? записать в файлик? давайте сравнивать объемы хранимых и передаваемых данных! это мое мнение. но, имхо сессии в PHP это очень удобный механизм. и очень хорошо подходит к задаче, которую изложилаartemidka. поскольку при использовании куков, ВСЯ информация о них таскается со странице на страницу. а для сессии достаточно только одного идентификатора. который передается не обязательно в залоговке. по-моему это (механизм сессий) очень удобно. |
Цитата:
Цитата:
Добавлено через 6 минут: Цитата:
вытаскивать $array = unserialize($_COOKIE['Имя куки']); |
Цитата:
Разница в удобстве большая что проще написать: session_register("var") или (пример из МАНа) setcookie ("TestCookie", $value,time()+3600, "/~rasmus/", ".utoronto.ca", 1);??? Потом Куки могут быть отключены у пользователя, вы об этом подумали? А идентификатор сессии можно пердать различными способами (я могу назвать 5-6) Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Хотябы то что там на С написано, а у тебя интерпретироваться будет!!! Давай, попробуй, покажи хоть один пример реализации стандартной функции PHP, написанной на PHP, и работающей быстрее чем родная!!! Цитата:
P.S. Я еще раз предлагаю не спорить! :biggrin: |
set_cookie('Имя куки', serialize($array), time+3600);
serialize($array) - это массив? Как его забивать в форе? с массивом? serialize($array) сериалайз вроде для точто что бы типы данных сохранялись выходит? Добавлено через 17 минут: PHP код:
Fatal error: Call to undefined function: set_cookie() in /usr/home/tonka/ftp/sit/test.php on line 4 |
$array - массив
serialize() функция сериализации перемынных, в том числе массивов. serialize($array) - представляет массив в виде строки для записи в Куки Цитата:
Работаешь как с массивом, обычно! P.S. Вот про эти удобства использования сессий я и говорил!!! Ничего подобного там не требуется. |
Описался setcookie;
serialize($abc) - превращает массив в строку |
Hubbitus ок расскажи как в сессиях это дело делать!!!!!!!!!!
Честно говоря..куки ведь могут и отключены быть... да и с этим превращение мне что то возиться не очень нравится.....В чем смысл юзания массивов сессий? |
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
|
medved2002,Hubbitus
$abc = array("1" => "16758","2"=>"493875"); session_register("$var")=$abc; #это не правильно как правильно ? как правильно массив занести и считать его? Когда я буду читать из массива значению будут какого типа?стринг? |
session_register("abc"); правильно
|
artemidka
а на родном сайте советую пользоваться массивом $_SESSION для этих целей. тип данных при передаче между страничками сохраняется. какой был, такой и останется. была строка -- будет строкой. был массив -- будет масив. тебе об этом заботится не нужно |
Если читать из сессии будешь - то занесенный массив массиво и останется!
|
| Часовой пояс GMT +4, время: 07:14. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.