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

Форум PHP

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

 

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

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

тема: Теряется сессия при переходе на другую страницу
 
 автор: makigo   (05.02.2012 в 22:30)   письмо автору
 
 

Привет всем.
Это часть системы регистраций (когда после завершения регистраций пользователь входит в систему.)
<?php 
//error_reporting(0);
include("messages.php"); ?>
<form method='POST' action='index.php?cat=lo' name='login'>
<center>
<table border='0' width='500px' id='add' >
<tr>
<td><?php echo"$chm10";?></td>
<td><input type='text' name='email' size='20' id='textbox'></td>
</tr>
<tr>
<td><?php echo"$chm11";?></td>
<td><input type='password' name='lpassword' size='20' id='textbox'></td>
</tr>
<tr>
<td></td>
<td></br><input type='submit' name='buttonl' value='<?php echo"$chm29";?>' id='pageing'></td>
</tr>
</table>
</center>
</form>
<?php
$login_email 
trim htmlspecialchars stripslashes $_POST["email"] ) ) );
$login_password trim htmlspecialchars stripslashes $_POST["lpassword"] ) ) );
$login_password md5($login_password);

$submit $_POST['buttonl'];
include(
'./incl/regco.php');
$login_email mysql_real_escape_string($login_email); 
$login_password mysql_real_escape_string($login_password); 
if(isset(
$submit))  
{
$login_query "SELECT * FROM ourmembers WHERE email = '$login_email' AND password = '$login_password' LIMIT 1";
$login_resultt mysql_query($login_query);
$login_result mysql_query($login_query);
$login_rows mysql_num_rows($login_result); 
while(
$login_status mysql_fetch_array($login_resultt))
{
$check_login_status $login_status['status']; 
}
if (
$login_rows == 0||$check_login_status == 0)

echo 
"<center>$chm30</center>";
}
else 

while(
$login_noticia mysql_fetch_array($login_result))
{
$_SESSION['unumb'] = $login_noticia['unumb']; 
$_SESSION['name'] = $login_noticia['name'];
$_SESSION['password'] = $login_noticia['password'];
$_SESSION['user_id'] = md5(crypt($login_email,$login_password)); 
}
echo 
"<!--<meta http-equiv='refresh' content='3;URL=http://www.mysite.ru/'>--> <center><font color='#339900'>".$_SESSION['name']."  Вы вошли в систему.</font></center>"

}
?>


После входа он классно говорит что "какой то" Вы вошли в систему (из сессий внизу).
но после перехода в другую страницу $_SESSION['name'] уже нету. А с $_SESSION['user_id'] все нормально.

От чего это может быть?

  Ответить  
 
 автор: cheops   (06.02.2012 в 11:30)   письмо автору
 
   для: makigo   (05.02.2012 в 22:30)
 

Что-то не видно на странице session_start()? Без неё сессии это просто массивы, которые действуют в рамках одной страницы.

  Ответить  
 
 автор: makigo   (06.02.2012 в 13:04)   письмо автору
 
   для: cheops   (06.02.2012 в 11:30)
 

session_start();
Этот файл в инклуде в index.php там есть.

  Ответить  
 
 автор: cheops   (06.02.2012 в 13:05)   письмо автору
 
   для: makigo   (06.02.2012 в 13:04)
 

А на другой странице тоже есть вызов session_start()?

  Ответить  
 
 автор: makigo   (06.02.2012 в 13:11)   письмо автору
 
   для: cheops   (06.02.2012 в 13:05)
 

другая страница как бы еще один икнлуд в index.php.
Кстати если этот инклуд использует другие файлы извне а это значит что при прямом вызове ("доброжелательями") выдаст ошибки что делают в таких случаях?
так?
error_reporting(0); ??

  Ответить  
 
 автор: kapitalist   (06.02.2012 в 13:48)   письмо автору
 
   для: makigo   (06.02.2012 в 13:11)
 

Ну попробуй на этих страницах все равно вставить session_start ();
У меня почему-то периодически приходится так делать!

  Ответить  
 
 автор: makigo   (06.02.2012 в 14:45)   письмо автору
 
   для: kapitalist   (06.02.2012 в 13:48)
 

ничего себе...

Сделал вит так и работает

<?php
$_SESSION
['sunumb'] = $login_noticia['unumb'];  
$_SESSION['sname'] = $login_noticia['name']; 
$_SESSION['spassword'] = $login_noticia['password']; 
$_SESSION['user_id'] = md5(crypt($login_email,$login_password)); 
?>

Тоесть что нельзя чтобы было так?

$_SESSION['name'] = $login_noticia['name'];

  Ответить  
 
 автор: cheops   (06.02.2012 в 14:50)   письмо автору
 
   для: makigo   (06.02.2012 в 14:45)
 

Можно, но у вас где-то значение затирается... возможно используется $_REQUEST['name'] или еще что-то в это духе.

  Ответить  
 
 автор: makigo   (06.02.2012 в 14:52)   письмо автору
 
   для: cheops   (06.02.2012 в 14:50)
 

проверял нету такого.
Спасибо Вам.

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

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