Форум программистов, компьютерный форум, киберфорум
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. Показов 1596. Ответов 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,909
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,909
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
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru