Вс, 2026-06-14
SITE LOGO
Меню сайта
Категории каталога
Мои статьи [6]
Статьи администратора foo.ucoz.ru
Прохождение игр [24]
Здесь вы найдёте ответ: как пройти игру?
Сеть [1]
Раскрутка и оптимизация [3]
В этой категории вы найдёте массу советов по раскруктке сайта
Описание игр [3]
Описание самых папулярных и долгожданных игр.
Интернет [4]
Об том, что в интернете.
PHP [9]
Всё что касается PHP 3-5
Полиграфия [1]
Начало » Статьи » Мои статьи

Сессии в PHP
Само управление сессиями очень просто. Но вот только как вам понять и разъяснить мне где и как можно использовать сессии. Начнем с разъяснения где используют сессии. Сессии используют ВЕЗДЕ, а именно в больших и маленьких скриптах, в чатах в форумах, в поисках, в сар, и многое другое... Но как и зачем используют? Сессии это такой цыкл программы  PHP когда можно создать сессию, редактировать и удалять её, ну прям как файл, не так ли? Короче сессия это такой временный файл который храниться на сервере, а не на компьютере пользователя, т.е. если человек зашел на какой-то сайт где используют сессии то ему создадут индивидуальную сессию на компьютере того сайта гуда зашел пользователь. Название сессии индивидуально для каждой сессии, т.е. нет одинаковых названий сессий. Сессии это довольно просто устроенный файл, разбитый определенным символом, поэтому сессию можно легко редактировать. Сессия храниться на сервере во временной папке, либо в "tmp" для unix, либо "temp" для windows. Её название примерно такое "sess_4c947bfff1a1031382c3986a430d2435"  где "sess_" одинаково для любой сессии, а вот то что за этим префиксом то индивидуально для каждой сессии это называется ид сессии, обратите внимание что такой временный файл не имеет расширения! А содержание сессии может быть таким: "dc|s:2:"dd";". Но знать вам про временные файлы сессии на сервере не обязательно для создания сессии, просто вам может быть это понадобиться, к примеру для взлома(шутка). Короче сессии хранят временную информацию, они очень схожи с cookie, т.к. они оба хранять временную информацию, которая помогает связать несколько страничек PHP или HTML. Пример: когда вы зашли на форум то вам нужно стало зарегистрироваться, вы стали заполнять форму, и дошли до формы "введите код безопасности", который изображен на картинке, вы ввели код и отправили данные, вы зарегистрировались на форуме, после этого вы авторизовались, и стали полноценным пользователем форума. А теперь поясню пример: 1. когда вы зашли на страницу php форума, то она создала для вас сессию куда поместила ваш статус на форуме временный пароль и логин. 2. перед открытием странички регистрации скрипт сгенерировал для вас число которое нарисовал на картинке и записал в сессию и в форму добавил ид сессии, чтобы проверить в дальнейшем правильно ли вы ввели код с картинки, тиким образом скрипт проверяет не "машина" ли вы. 3. После отправки данных скрипту, скрипт открывает вашу сессию по иду, извлекает из неё код который должен был бы вывестись на картинку и сравнивает его с кодом который ввели вы, если коды совпадают то скрипт регистрирует вас, а если не сошлись то выводит повторно форму, и сообщает об ошибке. Если вы зарегистрировались то скрипт выведет вам форму входа на форум, вы вводите пароль и логен, а он опять же заносит их в сессию для того чтобы в дальнейшем не спрашивать его у вас пока вы не закроете браузер.    Теперь вы немного наверно поняли как связывают несколько страничек php. Дальше я вам покажу примеры php-кодов с командами управления сессиями.

Открытие сессии(старт, создание сессии)
Эта функция обязательна для создания сессии!
<?
session_start();//старт сессии
?>

Закрытие сессии(удаление, закрытие сессии)
До этой функции сессия существует на сервере и ждет использования.
<?
session_destroy();//закрыть и удалить сессию
?>

Регистрация переменных в сессию(редактирование сессии)
Регистрируется переменная "user" которая равна содержанию "scyther", обратите внимание что переменная регистрируется без знака доллара!
<?
$HTTP_SESSION_VARS["user"] ="scyther";
?>

Извлечение переменной(чтение сессии)
Читает из сессии значение переменной "user" в переменную "$login", т.е. теперь "$login='scyther'".
<?
$login= $HTTP_SESSION_VARS["user"];
?>


Удаление переменной из сессии(Редактирование сессии)
Переменная "user" удаляется из сессии и её значение, но другие остаются, если таковые были.
<?
session_unregister("user");
?>

Индификатор сессии(распознание сессии)
Индификатор сессии помещается в переменную $sid.
<?
$sid=session_id();
?>

Выбор сессии(чтение сессии)
Данная функция определяет какую сесию выбрать по иду который храниться в переменной $sid
<?
session_id($sid);
?>

Проверка переменной(тест сессии)
Существует ли переменная "user", если существует то возвращает "true", а если нет то "false"
<?
if(session_is_registered("user")){echo "Переменная существует";}
?>

Я привёл список команд которыми вы сможете управлять сессиями, но что бы подкрепить знания я приведу пример, просмотрите его четко и изучите, обязательно смотрите описание, что бы лучше понять!

Пример. "Код безопасности"
Цель: "Убедиться в том что ваш сайт не атакует машина-программа, или вас не пытаются взломать"
Для данного примера создайте 3 файла: "form.php", "img.php", "end.php" и еще вам нужен шрифт "fon.fon", вы можете взять шрифт у себя в системе: пуск/панель управления/шрифты/, тут выберите шрифт в котором есть нормальные арабские цифры(0123456789), скопируйте его в папку с файлами скрипта, переименуйте шрифт на "fon.fon", выбирайте шрифт меньше 50 кб.

Содержание файла "form.php":
<?
srand((double) microtime()*1000000);//шаг 1
$dooglas = rand();

session_start();//шаг 2
$sid=session_id();
$HTTP_SESSION_VARS["deen"] =$dooglas;
$forma="<html><head></head><body><form method=\"POST\" action=\"end.php\"><INPUT TYPE=\"TEXT\"  NAME=\"key\" size=\"10\"><img src=\"img.php?sid=$sid\"> <INPUT TYPE=\"SUBMIT\" VALUE=\"Go\"><INPUT TYPE=\"hidden\" NAME=\"sid\" value=\"$sid\"></form></body></html>";
echo $forma;//шаг 3
?>

Содержание файла "img.php":
<?
session_id($sid);//шаг 4
session_start();
$coo=$HTTP_SESSION_VARS["deen"];//шаг 5

$gi = imageCreate(25,10);//шаг 6
$bg = imageColorAllocate($gi,255,255,255);
$tx = imageColorAllocate($gi,0,0,0);
$w = imageSX($gi); // ширина рисунка
$h = imageSY($gi); // высота рисунка
imageFilledRectangle($gi,0,0,$w,$h,$bg);

$szf = 10;
$ang = 0;
$font = "fon.fon";
$sz = imageTTFBBox($szf,$ang,$font,$coo);
$sdx = $sz[4]/2;
$sdy = ($sz[7]+$sz[3])/2;
imageTTFText($gi,$szf,$ang,$w/2-$sdx,$h/2-$sdy,$tx,$font,$coo);
Header("Content-Type: image/png");
imagePng($gi);
?>

Содержание файла "end.php":
<?
session_id($sid);//шаг 7
session_start();
$mahkey=$HTTP_SESSION_VARS["deen"];
if($key==$mahkey){echo "Вы ввели правельно код безопасности";}else{echo "Вы не правильно ввели код безопасности";exit;}//шаг 8
?>

Объяснение шагов в действиях скрипта.
Шаг 1 -  генерация случайного числа 1 на 1 000 000 и занести его в переменную "$dooglas"
Шаг 2 -  старт сессии, запись в сессию случайного числа, генерация формы
Шаг 3 -  вывод формы
Шаг 4 -  старт сессии извлечение случайного числа, для того что-бы отобразить его потом на картинке
Шаг 5 -  занесение случайного числа из сессии в переменную "$coo"
Шаг 6 -  создание картинки и вывод случайного числа
Шаг 7 -  старт определенной сессии по иду, извлечение случайного числа, для проверки
Шаг 8 -  проверяет совпали ли два кода: один из сессии, а другой из формы пользователя

Итоги. Теперь вы видите как можно обширно использовать сессии, но этот пример очень прост

Если что-то непонятно или не можете создать файлы и сгруппировать их, то просто скачайте скрипт здесь, в нём всё есть и шрифт, просто нужно запустить его.

Если что непонятно то обращайтесь на redrat@land.ru
Категория: Мои статьи | Добавил: RedRat (2006-07-15) | Автор: Галочкин Роман
Просмотров: 29897 | Комментарии: 1970 | Рейтинг: 5.0 |

Всего комментариев: 1341 2 3 ... 13 14 »
134 Duanesen  
0
Сделайте подарок своей коже – купите косметику PREMIUM https://sinapple.ru/collection/cantabria-labs-ispaniya/product/cantabria-labs-endocare-radiance-eye-contour-anti-dark-circles

133 MarioWag  
0
Давно помешиваете выучиться иллюстрировать, но рассчитываете, яко язык для вас я желание безграмотный сказал таланта? Сверху самый-самом сече этюд — это ухватка, который хоть подновить на течение другом возрасте.
Первый урок подсобляет превозмочь эфебофобия незапятнанного листа, постигнуть части и еще еще догнать юху творчества. Спровоцируйте этап буква художеству ужик сегодня хором с нами

132 Passarell  
0
Получение второго гражданства или ВНЖ в странах СНГ и Евросоюзе
Оформим второе гражданство, вид на жительство (ВНЖ) или резидентство в разных странах СНГ, Европы и Америки. Заходите на наш <a href=https://libertyfintravel.ru/vnj-i-vtoroe-grajdanstvo><b>сайт</b></a>: https://libertyfintravel.ru/vnj-i-vtoroe-grajdanstvo

Второе гражданство, практическая иммиграция, иммиграция, вид на жительство, ВНЖ, Зелёная карта (green card) США
Гражданство стран Евросоюза под ключ
Гражданство на основании корней
Гражданство Армении под ключ
Гражданство Кыргызстана под ключ
Гражданство Польши под ключ
Гражданство Болгарии под ключ
Гражданство Италии под ключ
Гражданство Греции под ключ
Гражданство Израиля под ключ

Пишите нам в <a href=https://t.me/LibFinTravel><b>ТЕЛЕГРАМ</b></a>: https://t.me/LibFinTravel

131 MichaelTomia  
0
Добро пожаловать в blacksprut Marketplace
Крупнейшее в России сообщество любителей марихуаны и грибов приветствует новых друзей!
?
Сотни магазинов с оптовыми и розничными предложениями рады показать вам новый уровень отношения к каннабису и грибам.
bs2best at
blsp at


<a href=https://bs2wcb.at>bs2best at</a>

130 VictorTit  
0
Более естественная улыбка и мимика https://rudentordu.com/press-digital-dentistry-uk-office.html

Почему стоит выбрать этот формат лечения
Какие признаки говорят, что пора обновить улыбку
Заболевания десен развиваются постепенно и часто без выраженной боли https://rudentordu.com/treatments/metod-all-on-4-5-6.html
Если откладывать лечение, воспаление может перейти в хроническую форму и повлиять на устойчивость зубов https://rudentordu.com/about.html


Кровоточивость десен при чистке зубов https://rudentordu.com/treatments/skulovye-implantaty.html

129 RobertSag  
0
Автомобильный https://towarkitai.com/products/bigroasterever Доставка по автомагистралям занимает 1-2 недели https://towarkitai.com/products/knittingmachine Оборудование следующее по маршруту Москва-Шанхай можно встречать в столице ровно через 2 недели благодаря отсутствию множества посредников в логистической цепочке https://towarkitai.com/products/61218725 Но для заказчика это обернется высокими транспортными расходами https://towarkitai.com/products/wire Фура может следовать по прямому маршруту через общую границу или через Казахстан и Монголию в зависимости от конечной точки https://towarkitai.com/products/knittingmachinemetalscruber Как заказать станки из Китая для бизнеса все данные в документах https://towarkitai.com/products/milkprocessingline

128 CharlesTox  
0
м https://phytomer.store/product/tonik-emulsiya-dlya-zreloy-kozhi-phytomer-toning-cleansing-emulsion Братиславская - ТЦ Мари Увлажняющий крем для лица https://phytomer.store/collection/ochischenie-i-eksfoliatsiya Новые направления ухода с SKINCOUTURE https://phytomer.store/collection/all?page=5 Задавайте вопросы экспертам https://phytomer.store/product/tonik-dlya-litsa-bezuprechnaya-kozha-phytomer-oligomarine-flawless-skin-tonic Профессиональная косметика премиального сегмента для ухода за кожей лица https://phytomer.store/product/cc-krem-uvlazhnyayuschiy-phytomer-cc-skin-perfecting-cream-spf-2001 Сделано в России https://phytomer.store/product/ultra-omolazhivayuschaya-syvorotka-premium-dlya-korrektsii-temnyh-pyaten-phytomer-pionniere-xmf-wrinkle-and-dark-spot-supreme-serum м https://phytomer.store/collection/citylife-gorodskaya-zaschita Давыдково - ТЦ Kvartal West

127 Juuedithnot  
0
смотреть порнофильм Горячие Сучки Тера и Бриана смотреть порнофильм Сексуальное Исцеление смотреть порнофильм Испытание покорных смотреть порнофильм Дай мне киску 2 смотреть порнофильм Женщины в поисках женщин 177

126 Malcolmsow  
0
Приветствуем Всех Мы с удовольствием приветствуем Вас дорогие друзья на нашем сайте https://yandex-google-seo.ru Сайт нашей компании обычного ищут по фразам: Заказать создание сайтов Ремаркетинг в google Продвижение контекстная реклама seo Контекстная реклама в Яндекс Директ и Google Реклама Продвижение сайтов разработка Консалтинг СИРИУС - это Мы

125 Duanesen  
0
Удобное расположение и часы работы https://sinapple.ru/collection/syvorotki-i-kontsentraty/product/keenwell-ritual-cicage-nabor-iz-3-h-sredstv 8 магазинов в Москве https://sinapple.ru/collection/phytomer/product/phytomer-structuriste-firming-contour-serum

1-10 11-20 21-30 ... 121-130 131-134
Имя *:
Email *:
Код *:
Форма входа
Поиск по каталогу
Друзья сайта
Copyright MyCorp © 2006