С Новым годом! Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
Форумчанин Паскаля
 Аватар для code-n'-help
77 / 90 / 55
Регистрация: 08.11.2013
Сообщений: 399
Записей в блоге: 2

Потеря сессии при переходе между двумя Php кодами по a.href

14.11.2018, 22:35. Показов 1527. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Возникла обычная проблема потери сессии при переходе в таком html коде:
HTML5
1
<a href="shop.php">Магазин</a>
Перехожу с одного пхп на второй
event.php:
PHP
1
2
3
4
5
6
    if (!isset($_SESSION)) {
        session_start();
    }
    $data = "www";
    $_SESSION['user'] = $data;
    echo session_id();
И вторая:
shop.php:
PHP
1
2
3
4
5
    if (!isset($_SESSION)) {
        session_start();
    }
    echo $_SESSION['user'];
    echo session_id();
Почему индентификатор сессии абсолютно разный? Как с таким бороться, чтобы после аутентификации не терять айди пользователя? Прочитал тонну тем но не могу понять сути, почему у людей возникает такая банальная ошибка, и у меня тоже)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.11.2018, 22:35
Ответы с готовыми решениями:

Потеря сессии при переходе на другую страницу без ссылки
Переход на другую страницу производится кодом $_SESSION = $url; echo &quot;&lt;HTML&gt;&lt;HEAD&gt;&lt;META HTTP-EQUIV='Refresh' CONTENT='0;...

Объясните отличия между двумя кодами
Всем привет ! Чем отличается такой код for(...){ ... ... } от такого for(...)

Потеря сессии при upload`е файлов (200ки)
Сессия на сайте работает нормально. При передаче на сервер файла (doc) еще до проверки загрузки файла происходит обнуление сессионнных...

7
133 / 118 / 34
Регистрация: 04.04.2018
Сообщений: 593
14.11.2018, 23:25
code-n'-help,
В конфиг, перед данными к БД,
0
Форумчанин Паскаля
 Аватар для code-n'-help
77 / 90 / 55
Регистрация: 08.11.2013
Сообщений: 399
Записей в блоге: 2
14.11.2018, 23:37  [ТС]
Эта хрень типо на хостинге называться должна именно config.php?
Есть вот web.config
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<?xml version="1.0"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Rule1" stopProcessing="true">
<match url="^((?:gallery|img|css|js).*)$" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="zyro/{R:1}" />
</rule>
<rule name="Rule2" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="zyro/?route={R:1}" />
</rule>
</rules>
</rewrite>
<defaultDocument enabled="true">
<files>
<clear />
<add value="index.php" />
<add value="index.html" />
</files>
</defaultDocument>
</system.webServer>
</configuration>
Добавлено через 5 минут
Просто рили не понимаю как найти этот файл в весьма пустом хостинге. Где именно носиков рыть? В какой БД?
0
133 / 118 / 34
Регистрация: 04.04.2018
Сообщений: 593
15.11.2018, 00:04
code-n'-help, нее, Вы его сами создаете. В общем, в самом начале файла где Вам нужна сессия запускаете ее. То есть
PHP
1
2
3
4
<?php
session_start();
// код
?>
Или же если у Вас имеется файл для подключения к БД(Базе Данных), тогда обычно в нем удобно прописать session_start(); в самом начале, это нужно будет сделать всего 1 раз. Вместо того чтобы каждый раз прописывать в каждом файле. И у Вас всегда будет
PHP
1
 if (!isset($_SESSION)) {
Выполняться, т.к. сессия не запущена, ее вовсе не существует.
В самом начале файла.

Добавлено через 59 секунд
в
event.php
shop.php
после <?php
PHP
1
2
3
4
<?php
session_start();
// код
?>
Добавлено через 3 минуты
А там уже
PHP
1
2
3
4
5
6
7
<?php
session_start();
if(empty($_SESSION['user'])){
     $data = "www";
    $_SESSION['user'] = $data;
}
 echo $_SESSION['user'];
Добавлено через 3 минуты
Создайте еще 1 файл, обзовите его как-нибудь, коль конфига нет. Пусть будет check_session.php
в него условия что с сессией нужны
PHP
1
2
3
4
5
6
7
<?php
session_start();
if(empty($_SESSION['user'])){
     $data = "www";
    $_SESSION['user'] = $data;
}
?>
Начало этих двух файлов такое
PHP
1
2
event.php
shop.php
PHP
1
2
3
4
<?php
require_once('check_session.php');
// код
?>
0
Эксперт PHP
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,904
15.11.2018, 00:10
code-n'-help, а файлы в кодировке UTF8 без BOM? Отображение ошибок включено на сайте?

Можете прикрепить эти 2 файла сюда архивом?
0
Форумчанин Паскаля
 Аватар для code-n'-help
77 / 90 / 55
Регистрация: 08.11.2013
Сообщений: 399
Записей в блоге: 2
15.11.2018, 00:31  [ТС]
Так то оно передает. Вопрос то в том что делать если это сессия после автортзации. Данные то не константа же будут. Для того чтобы логин юзера сохранить мне и надо сессия. А передаю я пока по дурацки, через номер файлика в юрле рандлмно сгенереным, который потом удаляю

Добавлено через 1 минуту
И по поводу бом или ошибок. Я даже не понимаю как это посмотреть, или какой файл найти

Добавлено через 3 минуты
Ну нахрен мне нужна сессия если я делаю и там и там константный код?
0
Эксперт PHP
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,904
15.11.2018, 00:35
Цитата Сообщение от code-n'-help Посмотреть сообщение
что делать если это сессия после автортзации
Всё тоже самое, не понял проблему.

Цитата Сообщение от code-n'-help Посмотреть сообщение
А передаю я пока по дурацки, через номер файлика в юрле рандлмно сгенереным, который потом удаляю
Ничего не понял, что за файлы и URL? В первом посте про это ни слова.

Цитата Сообщение от code-n'-help Посмотреть сообщение
Я даже не понимаю как это посмотреть
Так гугл же есть.

В начало скрипта добавляете:
Code
1
2
error_reporting(-1);
ini_set('display_errors', 'on');
Кодировку можно проверить с помощью Notepad++. Открываете файл этим редактором, там меню Кодировки и проверьте, какая там выбрана.
0
Форумчанин Паскаля
 Аватар для code-n'-help
77 / 90 / 55
Регистрация: 08.11.2013
Сообщений: 399
Записей в блоге: 2
15.11.2018, 01:00  [ТС]
Так как сессии не работали, решил единоразово выкрутиться. Дал rand(10000,32000). Это число зашил в юрл при переходе, а тем временем создал файл с числом этого рандома.тхт и записал туда логин. Страница при редиректе берет это число, открывает файл, читает логин и удаляет. Сделал так. Но все таки при всех переходах, с таким можно замучиться как по мне, и не эффективно, особенно если юзер юрл перезапишет

Добавлено через 18 минут
Зип не мошу. Уже с телефона. Только утром

Добавлено через 2 минуты
Проверил вариант с тремя. С одного и того же файла так и генеряться две разные сессии. И оба значения разные. Читал про это на форуме хоста, человек сказал что Первые куки были включены, третьи нет, вот он и не видел. Но все равно нужны куки. Есть еще варианты какието сохранить логин и передавать или временно сохранять в бд? Без сессий? Мне же только и надо придумать как безопасно передавать одно уникальное слово между.. php
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.11.2018, 01:00
Помогаю со студенческими работами здесь

Потеря сессии при вызове JavaScript функции
Здравствуйте! Хочу спросить - вот такая проблемка. Имеется приложение (jsp+servlets+beans)на томкате. Юзер входит на страницу,...

Потеря элемента модели при переходе от вьюхи к контроллеру из-за Html.BeginForm
Здравствуйте! Помогите понять логику. У меня есть вьюха в которую передается id и строка picture, для простоты я убрал из нее все и...

Не работают сессии при переходе по страницам
Есть страница 1 &lt;?php session_start(); echo session_id(); $_SESSION='adsdasdasdas'; ?&gt; &lt;!doctype html&gt; &lt;html&gt; &lt;head&gt; ...

Сессии не сохраняются при переходе на другую страницу
Привет всем. Цель кодов- в файле index.php следующий код: &lt;html&gt; &lt;head&gt; &lt;link rel=&quot;icon&quot;...

Сбрасываются сессии при переходе на другу страницу
Есть форма входа для пользователей. &lt;?php if(isset($_SESSION)) { echo '&lt;div class=&quot;otstup2&quot;&gt;Вы вошли как '.$v_username.' ...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru