Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Сессии. Причем 2 сразу!
 
 автор: palkan777   (17.07.2009 в 21:03)   письмо автору
 
 

Здорова Вам мужики!!! Я совсем вспотел окончательно. Перечитал на несколько раз статьи в интернете, разделы в книгах по сеансам, но практических, дельных советов так и не обнаружил, не увидел вернее тех, которые очень хочу воплотить в реальность. В общем, вопрос вот в чем:
Есть 2 страницы: index.php и index1.php (прям как в книге!), но вопрос в другом, по крайней мере с моим..э...э....интеллектом). Так вот,---- index.php!, в начале скрипта, как положено, session_start(); (и код...) Под конец скрипта на этой странице: $_SESSION ['privet'] = $medved; (занесли данные). Тег php закрывается.... На этой же странице
<form method="post" action="index1.php">
<input type="hidden" name= //??????????????????????
<input type="submit" value="Отравить">
//( ..........trans.sid = 1!!!) и cookies НЕ ИСПОЛЬЗУЮ!!!

Форма полетела!!! в index1.php. В начале скрипта............: Причем самое характерное, скрипт index1.php ссылается сам на себя POST-ом.
<?php
session_start(); //это как я полагаю НЕ СТАРТ новой сессии, (которая будет ниже написана и с которой надо "что-то сделать"), а инициализация сессии с просто index.php.
Ниже на странице index1.php........if ($_POST['bugoga']) == $_SESSION['kong'] { //это сверяются данные передаваемые $bugoga C $_SESSION['kong'].......... В $_SESSION['kong'] ниже в коде стр. index1.php заносится значение из массива, перед отправкой формы самой на себя.
$_POST['bugoga'] не имеет отношения к странице index.php просто. Это супермассив, который проверяет данные переданные скриптом (в конце скрипта форма); страницей index1.php, самой на себя, как сказал уже вроде бы. Так вот, я абсолютно нигде не нашел информации на такие вот вопросы. Если можно, то хотелось бы услышать ответ на примере этого какискрипта ))). Можно ли использовать POST, если есть SID? Как мне разделить эти сессии с учетом того, что index1.php сам на себя отправляется?,, и не изменится ли после отправки формы самой на себя числовое значение В $_SESSION['kong']? лучше не надо..... ? Читал, читал везде..... session_name! session_id! запутался...((( Транссид включен: <input type="hidden" name= что дописать то?, насчет этого абстракция. Ах, да вот на index.1php. Проверяется условие то выше написанное if ($_POST['bugoga']) == $_SESSION['kong'] { //здесь ошибка выползает. Это наверное как раз потому что я не сделал сессион_старт для этой переменной выше! А там уже есть сессион_старт инициализирующая $_SESSION ['privet'] = $medved; со страницы index.php просто. Патерялося я!....памагите...!!!

  Ответить  
 
 автор: Trianon   (17.07.2009 в 21:32)   письмо автору
 
   для: palkan777   (17.07.2009 в 21:03)
 

очевидно '<input type=hidden name='.session_name(). ' value='.session_id() грубо говоря.

  Ответить  
 
 автор: palkan777   (17.07.2009 в 21:40)   письмо автору
 
   для: Trianon   (17.07.2009 в 21:32)
 

хорошо спасибо и на этом

  Ответить  
 
 автор: Евгений Петров   (18.07.2009 в 00:21)   письмо автору
 
   для: palkan777   (17.07.2009 в 21:03)
 

Фух, я вспотел пока дочитал. Но все равно не понял ничего )
Вы можете выложить 2 своих файла index.php и index1.php и написать что там не работает. Так наверное будет понятнее )

  Ответить  
 
 автор: palkan777   (18.07.2009 в 10:12)   письмо автору
 
   для: Евгений Петров   (18.07.2009 в 00:21)
 

index.php
<?php
session_start ();
$medved = $_POST ['e-mail']; //предыдущей страницей сюда попал емал пользователя
.........................
.........код...........
.........................
$_SESSION ['privet'] = $medved;//после этой строки ставил хэдер но он не передается так с сессией это невозможно;SID //нужно вставить вручную
echo '<form method="post" action="index1.php">';
echo "input type=\"submit\" value=\"Отправить\">
<input type=\"hidden\" name=\"??????\" value=\"???????\" //наверно SID здесь надо прописать но я не разобрался
</form>
}
?>

index1.php


<?php
session_start();
mysql_connect("localhost","root","777");
mysql_select_db( "rollins");
if ($_POST['bugoga']) == $_SESSION['kong'] { //ОШИБКА выныривает тут!!!!
$emalok = mysql_escape_string($_SESSION['privet']); //может тут не то что-то...эта сесси)переменная нужна тоже когда скрипт //стр.index1.php "сам на себя"!
mysql_query("UPDATE klientz SET ball=ball + 1 WHERE email=$emalok"); //или тут, здесь внимание!!!
if ($_POST['bugoga']) != $_SESSION['kong'] {
header("location: index3.php");
.........код....................
?>
..............код html..................
...........................................
...........................................
<?php
//В этом сегменте формируется форма, которая будет ссылаться сама на себя, т.е. index1.php на index1.php
...........код там всякий.............
..........соединение, выборка и т.д...........
$_SESSION['kong'] = $q[1]; //заносим значение из массива.....не изменится ли после отправки? это числовое...
......формирование формы...........$bugoga будет передавать инфу формой этой.....потом сравниваться.. с... $_SESSION['kong'].....
............и её отправка на саму себя...........................
//без сессий проверял, весь код работает правильно.

  Ответить  
 
 автор: ride   (18.07.2009 в 11:11)   письмо автору
 
   для: palkan777   (18.07.2009 в 10:12)
 

if ($_POST['bugoga']) == $_SESSION['kong'] { //ОШИБКА выныривает тут!!!!

$_POST['bugoga'] у вас не определена, вероятно из-за этого у вас непонятки.

>><input type=\"hidden\" name=\"??????\" value=\"???????\" //наверно SID здесь надо прописать но я не разобрался
для чего?

  Ответить  
 
 автор: palkan777   (18.07.2009 в 11:37)   письмо автору
 
   для: ride   (18.07.2009 в 11:11)
 

я без сессий смотрел $bugoga приходит с формой, работает нормально. а инпут тайп - я понял теперь что не нужен. Но на странице index1.php мне нужны две сессии! $_SESSION ['privet'] (в котором мыло пользователя)...Без инпута эта сессия инициализируется через сессион_старт, так? а как инициализировать тогда $_SESSION['kong']???, она появляется только на index1.php?
Эти сессии надо наверно как-то разделить вот как это сделать я не могу никак......Ошибка наверняка из за этого (

  Ответить  
 
 автор: palkan777   (18.07.2009 в 11:47)   письмо автору
 
   для: palkan777   (18.07.2009 в 11:37)
 

не определена. Вы имеете в виду что как код доходит до этого место, то если не наход связанных с пер. пост. бугога "событий то дальнейший код не работает? Мне кажется что этот проблемный участок проигнор-ся и пойдет дальнейшее исполнение в коде. Поправьте если я снова не прав.

  Ответить  
 
 автор: ride   (18.07.2009 в 11:55)   письмо автору
 
   для: palkan777   (18.07.2009 в 11:37)
 

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

  Ответить  
 
 автор: palkan777   (18.07.2009 в 12:14)   письмо автору
 
   для: ride   (18.07.2009 в 11:55)
 

я не совсем понимаю что значит "прошить". Я не могу никак представить например то как могут работать одновременно 2 сессии если они передаются в адресной строке. Я уже не знаю как объяснить. Вы мне скажите $_SESSION['kong'] создается или нет на странице index1.php. Я же немогу написать session_start () ;два раза!!! на одной странице. Session_start на стр. index1.php инициализирует $_SESSION ['privet'] со значение $medved( но не создает новую сессию на странице!!!). А потом на этой странице неожиданно появляется новая, которая не создана session(ом)_start а именно if ($_POST['bugoga']) == $_SESSION['kong'] (и тут же проверяет условие)как её создать на этой странице?????? Но чтоб та верхняя сессия имела тоже область действия когда скрипт будет сам на себя ссылаться. Это необходимо.

  Ответить  
 
 автор: ride   (18.07.2009 в 12:35)   письмо автору
 
   для: palkan777   (18.07.2009 в 12:14)
 

http://softtime.ru/bookphp/gl8_1.php
там есть пример.
прочтите, если вопросы останутся, напишите

  Ответить  
 
 автор: Trianon   (18.07.2009 в 12:35)   письмо автору
 
   для: palkan777   (18.07.2009 в 11:37)
 

$_SESSION ['privet']
$_SESSION['kong']
Это два элемента одной и той же сессии.

  Ответить  
 
 автор: palkan777   (18.07.2009 в 12:37)   письмо автору
 
   для: Trianon   (18.07.2009 в 12:35)
 

спасибо Вам Трианон. Получается что ошибка не имеет отношения к сессии?

  Ответить  
 
 автор: Trianon   (18.07.2009 в 13:02)   письмо автору
 
   для: palkan777   (18.07.2009 в 12:37)
 

По тем фрагментам кода, которые Вы приводите, анализировать ошибку я не возьмусь.
В них черт ногу сломит.

  Ответить  
 
 автор: palkan777   (18.07.2009 в 18:21)   письмо автору
 
   для: Trianon   (18.07.2009 в 13:02)
 

if ($_POST['bugoga']) == $_SESSION['kong'] надо было на конец скобку поставить хе...хе..а я сессии гнал тут (
Вопрос решён большое спасибо всем кто помогал мне

  Ответить  
 
 автор: Trianon   (18.07.2009 в 18:25)   письмо автору
 
   для: palkan777   (18.07.2009 в 18:21)
 

надо было лишь включить диагностику ошибок.

  Ответить  
 
 автор: palkan777   (18.07.2009 в 19:28)   письмо автору
 
   для: Trianon   (18.07.2009 в 18:25)
 

Да. Вы как всегда правы, я уже начинаю думать, что Вы, Трианон, обладаете телепатическими способностями, серьезно, так как все относительно в мире.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования