Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Не могу разобраться с сессией, не работает 
V
    Опции темы
Falcon
Дата 17.10.2008, 12:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 69
Регистрация: 7.11.2006

Репутация: нет
Всего: нет



я создаю сессию на стартовой странице, сохраняю в переменную сессии логин, почему то на этой же странице переменная сессии инициализированна и равна логину, а на следующей странице она не инициализированна.
страница 1 стартовая
Код

<?
session_start();
if(isset($_POST['login'])){
$login1 = $_POST['login'];
$_SESSION['login']=$login1;
$login1=$_SESSION['login'];
echo " $login1";
}
//...
//тут идет графика в основном
//...
echo "<a href = '1.php'>ссылка</a>";
 выводит пароль, но как только перехожу на другую старницу там этой переменной нет.

страница 2 
Код

<?
if (isset($_SESSION['login']))

echo "<html>";
 echo "<head>";
 echo "</head>";
 echo "<body>";
//...
  echo "$pass";
 echo "</body>";
echo "</html>";
 
} echo "Нет прав";
$l = $_SESSION['login'];
echo "$l";
?>
 последние две строки - попробовать есть там что или нет
PM MAIL   Вверх
bars80080
Дата 17.10.2008, 13:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



а в начале второй страницы стоит session_start(); ?
PM MAIL WWW   Вверх
krundetz
Дата 17.10.2008, 14:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вечный странник
***


Профиль
Группа: Завсегдатай
Сообщений: 1400
Регистрация: 14.6.2007
Где: НН(Сормово)

Репутация: 20
Всего: 69



Falcon, да уж как сказал bars80080, нужно стартовать сесию прежде чем работать с её переменными.

обясни мне пожалуйста логику работы вот этого куска кода
Код

$login1 = $_POST['login'];
$_SESSION['login']=$login1;
$login1=$_SESSION['login'];


не проше ли так?

Код

$_SESSION['login'] = $_POST['login'];
$login1 = $_SESSION['login'];


или даже так?

Код

$login1 = $_SESSION['login'] = $_POST['login'];



--------------------
!цензоры - Хранитель стратегической жидкости
Группа ТГВ
Группа Нижний Новгород
user posted image
PM MAIL   Вверх
HackMan
Дата 18.10.2008, 15:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Юзверь-программист
**


Профиль
Группа: Участник
Сообщений: 391
Регистрация: 18.6.2005
Где: .ua

Репутация: 8
Всего: 9



Цитата(krundetz @  17.10.2008,  14:04 Найти цитируемый пост)
не проше ли так...

и то, как-то сомневаюсь в необходимости переменной $login1



--------------------

Завтра - это самый загруженный день недели smile

user posted image

user posted image
PM MAIL ICQ   Вверх
Falcon
Дата 20.10.2008, 09:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 69
Регистрация: 7.11.2006

Репутация: нет
Всего: нет



а ясно я не открывал сессию во второй страничке, я думал она запускается один раз. а на переменную $login1 не обращайте внимания я эксперементировал долго то проверял передается ли переменная через POST, потом проверял есть ли переменная в SESSION а потом не стал убирать их, все равно не мешают. Суть все равно в другом.

Это сообщение отредактировал(а) Falcon - 20.10.2008, 09:40
PM MAIL   Вверх
krundetz
Дата 20.10.2008, 19:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вечный странник
***


Профиль
Группа: Завсегдатай
Сообщений: 1400
Регистрация: 14.6.2007
Где: НН(Сормово)

Репутация: 20
Всего: 69



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


--------------------
!цензоры - Хранитель стратегической жидкости
Группа ТГВ
Группа Нижний Новгород
user posted image
PM MAIL   Вверх
Falcon
Дата 21.10.2008, 11:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 69
Регистрация: 7.11.2006

Репутация: нет
Всего: нет



опять не получается 
это стартовая страница:
Код

<?
session_start();
$_SESSION['login'] = Админ;
$pass = $_SESSION['login'];
echo "<html>";
 echo "<head>";
 echo "</head>";
 echo "<body>";
echo "<a href = '1.php'>ссылка </a>";
  echo "$pass";
 echo "</body>";
echo "</html>";
?>


а во второй так и не появилась переменная login, хотя я открыл сессию:
Код

<?
session_start();

echo "<html>";
 echo "<head>";
 echo "</head>";
 echo "<body>";

  echo "$pass";
 echo "</body>";
echo "</html>";
 

$l = $_SESSION['login'];
echo = "$l";

?>


Это сообщение отредактировал(а) Falcon - 21.10.2008, 11:48
PM MAIL   Вверх
bars80080
Дата 21.10.2008, 13:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



а что это такое: echo = "$l"; ?

PM MAIL WWW   Вверх
Falcon
Дата 21.10.2008, 14:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 69
Регистрация: 7.11.2006

Репутация: нет
Всего: нет



это переменная "Л" по нашему
PM MAIL   Вверх
skyboy
Дата 21.10.2008, 14:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



Falcon, что ты чему присваиваешь? оператору echo присваиваешь значение переменной $l?
PM MAIL   Вверх
krundetz
Дата 21.10.2008, 22:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вечный странник
***


Профиль
Группа: Завсегдатай
Сообщений: 1400
Регистрация: 14.6.2007
Где: НН(Сормово)

Репутация: 20
Всего: 69



Falcon, могу посоветовать быть немного внимательние, а также набивать и набивать руку чтобы вот такое:
Код

echo = "$l";

не могло возникнуть по определению.

Интересует так же вот что зачем ты создаешь новую переменную если в дальнейшем ты ее используешь только в одном месте?

Ище обрати внимание на 9 строчку во втором листенги где у тебя используется неинициированая переменная.

Это сообщение отредактировал(а) krundetz - 21.10.2008, 22:28


--------------------
!цензоры - Хранитель стратегической жидкости
Группа ТГВ
Группа Нижний Новгород
user posted image
PM MAIL   Вверх
Falcon
Дата 22.10.2008, 15:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 69
Регистрация: 7.11.2006

Репутация: нет
Всего: нет



да, что то я пропустил это. Исправил, но все равно не работает

Добавлено через 14 минут и 21 секунду
у меня еще один вопрос возник по этой теме, я начал делать стартовую страницу index.php, уже почти доделал. на ней общая информация и формочка авторизации. А там куда я хотел поместить сайт стартовая страница должна быть с расширением html. 1. есть такие сайты бесплатных хостингов где можно использовать стартовую страницу PHP ? 2. У меня на странице после авторизации форма передает данные о логине и пароле методом POST этой же странице, т.е. форма находится на странице Index.php и передает данные в нее же. Если я сделаю стартовую страницу в формате html, и вставлю в нее кусочки php то можно будет так же передавать данные этой же страничке?
PM MAIL   Вверх
bars80080
Дата 22.10.2008, 15:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



Цитата(Falcon @  22.10.2008,  15:20 Найти цитируемый пост)
у меня еще один вопрос возник по этой теме, я начал делать стартовую страницу index.php, уже почти доделал. на ней общая информация и формочка авторизации. А там куда я хотел поместить сайт стартовая страница должна быть с расширением html. 1. есть такие сайты бесплатных хостингов где можно использовать стартовую страницу PHP ? 2. У меня на странице после авторизации форма передает данные о логине и пароле методом POST этой же странице, т.е. форма находится на странице Index.php и передает данные в нее же. Если я сделаю стартовую страницу в формате html, и вставлю в нее кусочки php то можно будет так же передавать данные этой же страничке? 


это всё выясняется на хостинге, поддерживает ли он пхп?
этот да http://www.eomy.net/


Цитата(Falcon @  22.10.2008,  15:20 Найти цитируемый пост)
Исправил, но все равно не работает

во второй странице всё удали и напиши:
Код

<?php
error_reporting(E_ALL);
session_start();
var_dump($_SESSION);

?>
что получится?
PM MAIL WWW   Вверх
Falcon
Дата 22.10.2008, 15:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 69
Регистрация: 7.11.2006

Репутация: нет
Всего: нет



bars80080, сделал, вот что написал:

Warning: session_start() [function.session-start]: open(E:\PHP\sessiondata\sess_2c664c3aca6eed2b47be150f44945f5a, O_RDWR) failed: Permission denied (13) in c:\web5\www\1\1.php on line 3

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at c:\web5\www\1\1.php:3) in c:\web5\www\1\1.php on line 3

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at c:\web5\www\1\1.php:3) in c:\web5\www\1\1.php on line 3
array(0) { } 
Warning: Unknown: open(E:\PHP\sessiondata\sess_2c664c3aca6eed2b47be150f44945f5a, O_RDWR) failed: Permission denied (13) in Unknown on line 0

Warning: Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (E:\PHP\sessiondata) in Unknown on line 0

Добавлено через 47 секунд
у меня со страницы 2.php переходит на страницу 1.php 
PM MAIL   Вверх
Falcon
Дата 23.10.2008, 09:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 69
Регистрация: 7.11.2006

Репутация: нет
Всего: нет



все я сделал, у меня была ошибка в файле php.ini там путь был на диск Е а у меня такого диска нет, я качал по учебнику готовый ини файл, вот он и  заточен был не под меня.

Добавлено через 7 минут и 20 секунд
bars80080, там уже не дают бесплатные хостинги
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1187 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.