Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 5.00/13: Рейтинг темы: голосов - 13, средняя оценка - 5.00
122 / 65 / 4
Регистрация: 12.04.2009
Сообщений: 1,047

Обясните как работать с сессиями

12.09.2010, 16:32. Показов 2733. Ответов 23
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Хочу с помошью сессии сохранить переменую пре переходе со страници на страницу! Для перехода использую ссылкую

Записать переменюю пытаюсь так:

PHP
1
<a href="nadlan.php" onClick="<?php session_start(); $_SESSION['category'] = 1 ?>">Недвижимость</a>
Прочитать на другой странице так:

PHP
1
<tr><td width = "30%"><?php session_start(); echo"$_SESSION['category']"; ?></td>
Комп в ответ выдаёт:

Code
1
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/areostar/public_html/nadlan.php on line 77
Что я сделал не так!??
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.09.2010, 16:32
Ответы с готовыми решениями:

Проблема c сессиями, как идентифицировать посетителя?
Краткая предыстория: Понадобилось мне сделать статистику посещений сайта. Все сделал, все работает. В начале каждого скрипта...

Сильно ли сессии грузят ресурсы? И как оптимизировать работу с сессиями?
на сколько я знаю сессии хранятся на сервере, так же что бы постоянно не доставать данные пользователя из базы при каждой перезагрузке...

Обясните как работает
Обясните как работает код. ( по сути имею 2 класса - простой класс и управляющий) Роль чего играет класс Player? - просто хранит...

23
БТР - мой друг
 Аватар для Hagrael
333 / 277 / 47
Регистрация: 07.01.2010
Сообщений: 1,932
12.09.2010, 16:37
areostar, ваша запись - чушь несусветная. Вот как надо писать:
PHP
1
2
3
4
5
<?
session_start();
$_SESSION['var']="var";
echo $_SESSION['var'];
?>
и это весь файл!
0
 Аватар для Vovan-VE
13210 / 6599 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
12.09.2010, 16:40
Цитата Сообщение от areostar Посмотреть сообщение
PHP
1
onClick="<?php session_start(); $_SESSION['category'] = 1 ?>"
Ну вот, опять. PHP выполняется на сервере. Когда скрипт выполнен, в браузере на странице получится
HTML5
1
onClick=""
0
122 / 65 / 4
Регистрация: 12.04.2009
Сообщений: 1,047
12.09.2010, 16:41  [ТС]
Это запись или чтение переменной!?
0
БТР - мой друг
 Аватар для Hagrael
333 / 277 / 47
Регистрация: 07.01.2010
Сообщений: 1,932
12.09.2010, 16:42
areostar, и то и то.
0
122 / 65 / 4
Регистрация: 12.04.2009
Сообщений: 1,047
12.09.2010, 16:46  [ТС]
Цитата Сообщение от Vovan-VE Посмотреть сообщение
Ну вот, опять. PHP выполняется на сервере. Когда скрипт выполнен, в браузере на странице получится
HTML5
1
onClick=""
А как тогда записывать и считывать сессии!? Обьясните подробно!!

Добавлено через 2 минуты
Цитата Сообщение от Hagrael Посмотреть сообщение
areostar, и то и то.
При переходе на разные страницы мне понадобятся разные значения!! Тогда надо передовать значение в Этот фаил!!?
0
БТР - мой друг
 Аватар для Hagrael
333 / 277 / 47
Регистрация: 07.01.2010
Сообщений: 1,932
12.09.2010, 16:48
areostar, вот:
index.php:
HTML5
1
2
3
4
5
6
7
8
9
<html>
<head><title>...</title></head>
<body>
<form action="phpfile.php" method="POST">
Логин: <input type="text" value="" maxlength="20" size="30" name="login">
Пароль: <input type="password" value="" maxlength="20" size="30" name="password">
</form>
</body>
</html>
phpfile.php:
PHP
1
2
3
4
<?
$_SESSION['login']=$_POST['login'];
$_SESSION['password']=$_POST['password'];
?>
И занесутся логин и пароль в сессию (правда на сайте делается это по-другому)
0
122 / 65 / 4
Регистрация: 12.04.2009
Сообщений: 1,047
12.09.2010, 16:51  [ТС]
Ну это пример с формой авторизации! А если я нажимаю на ссылку! там формы нет!
0
БТР - мой друг
 Аватар для Hagrael
333 / 277 / 47
Регистрация: 07.01.2010
Сообщений: 1,932
12.09.2010, 16:59
Вот ещё:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
<? session_start(); if ($_POST['text']) {$_SESSION['var']=$_POST['text'];} ?>
<html>
<head><title>...</title></head>
<body>
<?
if ($_SESSION['var']) {
    echo "\$_SESSION['var'] = ".$_SESSION['var'];
} else {
    echo "<form action="эта страница.php" method="POST"><input type="text" name="text"></form>";
}
?>
</body>
</html>
0
122 / 65 / 4
Регистрация: 12.04.2009
Сообщений: 1,047
12.09.2010, 17:22  [ТС]
А для события нажатия на ссылку чего нить предкмать можно!!??
0
БТР - мой друг
 Аватар для Hagrael
333 / 277 / 47
Регистрация: 07.01.2010
Сообщений: 1,932
12.09.2010, 17:35
areostar, ну по нажатию на ссылку переадрисация на нужную страницу, где будет задаваться $_SESSION['var']
0
не Администратор ^_^
 Аватар для Unick
988 / 223 / 23
Регистрация: 03.05.2009
Сообщений: 1,493
Записей в блоге: 1
12.09.2010, 21:03
HTML5
1
<a href="nadlan.php">Недвижимость</a>
Это была бы просто ссылка, если у вас в файле много бла бла бла, надо делать через форму
<form></form> либо если вы пользуетесь GET передачей, тогда:
файл 1:
HTML5
1
<a href="nadlan.php?category=1">Недвижимость</a>
а в файле 2 (nadlan.php) вы принимаете ответ:
PHP
1
2
3
4
5
<?php
$category=$_GET['category'];
// Вывести вашу категорию:
echo "<tr><td width = \"30%\">$category</td>";
?>
Если вы хотите еще чтобы по другим страницам можно было вывести вашу категорию, тогда пишите так:
PHP
1
2
3
4
<?php
session_start();
$_SESSION['category'] = $_GET['category'];
echo "<tr><td width = \"30%\">{$_SESSION['category']}</td>";
теперь на любой странице введите в начале session_start(); и вы сможете вывести вашу категорию где хотите!
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/areostar/public_html/nadlan.php on line 77

Это вам говорит, что вы не можете открыть сессию на 77 строчке, session_start(); делают в самом начале, до любого действия, которое что-то передаст браузеру
1
122 / 65 / 4
Регистрация: 12.04.2009
Сообщений: 1,047
13.09.2010, 01:18  [ТС]
Спасибо работает вреде!!


следующий вопрос!!

в процессе построения страницы выполнен запрос к бд. На основе результата запроса на странице построена Доска с обьявлениями. На страничкеесть менюшка с именами городов при нажатии того или иного пункта должен происходить новый запрос с учётом выбранного городаи должна обнавляться доска обьявлений! как это сделать!??

Я конечно могу написать скрипт и передовать туда праметры для выполнения запроса! Но как мне после этого обнавлять страницу чтооб получить новую доску обьявлений!!???
0
не Администратор ^_^
 Аватар для Unick
988 / 223 / 23
Регистрация: 03.05.2009
Сообщений: 1,493
Записей в блоге: 1
13.09.2010, 04:18
не корректный следующий вопрос, не понятно что надо-то?

Не по теме:

Если кто помог - есть кнопочка +1 Спасибо

0
122 / 65 / 4
Регистрация: 12.04.2009
Сообщений: 1,047
13.09.2010, 08:03  [ТС]
Поясняю! Когда страница уже построена как мне отодразить на ней результаты нового запроса к БД.
0
БТР - мой друг
 Аватар для Hagrael
333 / 277 / 47
Регистрация: 07.01.2010
Сообщений: 1,932
13.09.2010, 12:56
Стучитесь в ICQ!
0
122 / 65 / 4
Регистрация: 12.04.2009
Сообщений: 1,047
13.09.2010, 13:02  [ТС]
А можно узнать ваш номер
0
БТР - мой друг
 Аватар для Hagrael
333 / 277 / 47
Регистрация: 07.01.2010
Сообщений: 1,932
13.09.2010, 13:08
areostar, в профиле (на форуме нельзя говорить, ругаться будут)
0
20 / 19 / 3
Регистрация: 20.06.2010
Сообщений: 626
13.09.2010, 18:55
А у меня вообе сессии не работают. Вот начал с простого примера.
PHP
1
2
3
4
5
6
<? 
session_start(); 
if (!isset($_SESSION['counter'])) $_SESSION['counter']=0;
echo "Вы обновили эту страницу ".$_SESSION['counter']++." раз. ";
echo "<br><a href=".$_SERVER['PHP_SELF'].">обновить"; 
?>
В ответ
HTML5
1
2
3
4
5
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at S:\home\localhost\www\session\index.php:1) in S:\home\localhost\www\session\index.php on line 2
 
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at S:\home\localhost\www\session\index.php:1) in S:\home\localhost\www\session\index.php on line 2
Вы обновили эту страницу 0 раз. 
обновить
Почему?

Добавлено через 24 минуты
Надо было Unicod (BOM) выключить. Но теперь русский язык накрылся.
0
БТР - мой друг
 Аватар для Hagrael
333 / 277 / 47
Регистрация: 07.01.2010
Сообщений: 1,932
13.09.2010, 19:18
ICEBERG@, не надо было ничего убирать, просто вы написали
PHP
1
$_SESSION['counter']++
а значит как бы прибавили к сесси единицу и вывели на экран. Но нельзя работать ни с cookies, ни с сессиями, если headers have been sent или на русском - было послано какое-то содержание документа. Такие правила. А вы прибавляете выведя что-то на экран. Это неправильно. Если хотите вывести переменную, увеличенную на один, то заключайте переменную в скобки, выполняя в них арифметические действия, но не операторы ++/--, вот:
PHP
1
echo "Var: ".($_SESSION['var']+1);
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.09.2010, 19:18
Помогаю со студенческими работами здесь

Обясните как реализовать фильтр данных
Привет всем. Столкнулся с такой проблемой как реализовать фильтр данных на странице. Допустим пользователь зашел на страничку выбирает...

Обясните, пожалуйста как сделать дальше!
Как найти какая из сумм чисел максимальная, а какая минимальная? Это начало программы! from random import* print &quot;Введите число...

как понять статю 3 уже сто раз перечитал так ничего и не понял обясните как можно проще
Стаття 3. Регулювання трудових відносин Законодательство о труде регулирует трудовые отношения работников всех предприятий,...

Какой класс нужно брать для работы с сессиями и как это можно реализовать?
Здравствуйте. Помогите с такой проблемой пожалуйста. Без Spring и Hibernate. В Web-приложении запросы обрабатывают сервлеты. Косяк такой:...

Для чего именно и как исползуется dynamic_cast(обясните "ЯЗИКОМ ЧЕЛОВЕКА")
привет ребята ктото может привести хороший пример о dynamic_cast ?(об осталних я выучил).. Именно для чего он...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru