powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / session_start
11 сообщений из 11, страница 1 из 1
session_start
    #39325581
AromaFon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я создал на сайте форму для отсылки сообщений. Теперь хочу на серверном скрипте PHP проверять ID сессии. А со страницы посылать. Ни на сервере не могу получить ID сессию, ни на странице. Кто начинает сессию сервер или страница? Если страница, то куда вставлять :

на странице:

Код: php
1.
2.
3.
4.
<?php
session_start();
echo session_id ();
?>



на сервере (скрипт по отсылке e-mail):

Код: php
1.
2.
3.
4.
<?php 
session_start(); 
if($_POST['session_id'] != session_id()){exit("Только на  сайте ".$_SERVER['HTTP_HOST'].".");      
?>



Хочется где-нибудь увидеть... На сервере или на странице... Подскажите? (2 суток лепил выезжающую форму с отсылкой почты), а тут сутки уже...
Или увидеть ID сессии нельзя?
...
Рейтинг: 0 / 0
session_start
    #39325632
AromaFon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: html
1.
2.
3.
4.
5.
<html>
<?php
session_start();
echo 1;
?>




Единичка не вылезает...

Буду учиться сначала единичку выводить...
...
Рейтинг: 0 / 0
session_start
    #39325653
AromaFon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
На сервере получилось. Послал ID себе на почту строкой из серверного скрипта PHP:

Код: php
1.
2.
3.
...
<p>ID: '.session_id().'</p>
...



пришло:
ID: 089283eb2eac4ff6b1bdd63210ce23f1
(32 символа)

Причем ID не менялось при закрытии браузера. 3 подряд письма с закрытием браузера (Chrome) дали один ID.
Если отключил интернет, то пришел другой ID. Пока понятно.

Теперь как получить ID на клиенте?
...
Рейтинг: 0 / 0
session_start
    #39325677
SharuPoNemnogu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AromaFon
Код: html
1.
2.
3.
4.
5.
<html>
<?php
session_start();
echo 1;
?>




Единичка не вылезает...

Буду учиться сначала единичку выводить...

потому что сперва надо сделать session_start(); а потом уже выводить что то.
В мане написано To use cookie-based sessions, session_start() must be called before outputing anything to the browser.
т.е. будет примерно так
Код: php
1.
2.
3.
4.
5.
6.
<?php
session_start();
echo 1;
?>
<html>
...
...
Рейтинг: 0 / 0
session_start
    #39325680
AromaFon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SharuPoNemnogu, Не так все просто. У меня страничка index.html и в этой страничке это не работает нигде:

<?php
echo 1;
?>

В примерах везде index.php.... и весь код в тегах с 1 до последней <?php ?>
...
Рейтинг: 0 / 0
session_start
    #39325693
SharuPoNemnogu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AromaFon,

а оно и не будет работать в html, надо расширение файла php
...
Рейтинг: 0 / 0
session_start
    #39325711
AromaFon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SharuPoNemnogu, Я не хочу все файлы сайта в теги php оборачивать. Должен быть другой выход.
...
Рейтинг: 0 / 0
session_start
    #39325726
sxq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вам следует вначале изучить как работают сессии и для чего они нужны.
Сессии генерируются на сервере, что бы браузер и сессии были связаны, в момент генерации сессии на сервере, сервер создает во временной папке файл (в котором будут храниться переменные), и передает (часть имени этого файла) внутри заголовка ответа (в куке). Браузер сохраняет эту куку в течение работы с этом сайтом.
При последующих обращениях на сервер браузер передает куку с именем сессии так же в заголовках, при старте сессии сервер считывает временный файл и все переменные из него, и записывает в $_SESSION
Сессии используют куки, которые передаются в заголовках, поэтому session_start должен быть до любого вывода в браузер, т.е. ДО <html> и всевозможных пробелов.

Объясните зачем вам ID сессии? Все проверки и связки между вашим браузером и сайтом уже за вас сделаны и работают автоматически.
Если вы пытаетесь сделать защиту от угона сессии, то смотреть нужно совсем в другом направлении.
...
Рейтинг: 0 / 0
session_start
    #39325731
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AromaFonЯ не хочу все файлы сайта в теги php оборачивать.Все и не надо. Достаточно лишь вставки php-кода только в тех файлах, которые будут работать с сессией.
...
Рейтинг: 0 / 0
session_start
    #39329815
AromaFon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sxq, я правильно понял, что скрипт на сервере может выполнить только страничка с одинаковой сессией?
...
Рейтинг: 0 / 0
session_start
    #39329967
sxq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сессия это просто хранилище ваших переменных между запросами и не более того.
Сам скрипт (программа) работает не зависимо от сессий и их данных.
Данную сессию может использовать какой угодно скрипт, главное что бы в момент старта скрипта был получен идентификатор сессии, в принципе теоретически скрипт может подключиться к любой сессии, даже которую вы не создавали, это называется угоном сессии.
Идентификатор передается в куках, заголовках запросов, сама кука живет только пока открыто окно браузера, после его закрытия кука уничтожается, и теоретически идентификатор сессии будет утерян.
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / session_start
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]