Суть проблемы: Скрипт походу старый, вылетает ошибка:
Deprecated: Function session_register() is deprecated in Z:\home\localhost\www\2\config.php on line 71
Нагуглил, оказалось функция стара, ее не используют. Заменил
session_register("login");
на
$_SESSION['login']=$login;
Отлично, получяилось. В базе при регистрации пользователи добавляются...
Однако, следующий скрипт который проверяет на данный момент под каким пользователем мы зарегестрированы перестает работать..Если вводить неправильным логин/пасс - он выдает ошибку. Если правильные - вообще никаких реакций. Тоесть такое ощущение, что он сессию никуда не передает дальше. Огромная просьба помогите пожалуйста переписать скриптик, чтобы он работал без ошибок, и если не сложно можете сделать так чтобы пароли хранились в md5?
Скрипт можно взять здесь sendspace.com/file/rjqwhd
Заранее благодарю.
Спустя 44 минуты, 47 секунд (12.06.2011 - 06:03) kirik написал(а):
Сессию через session_start() стартуете, перед тем как использовать её переменные?
Спустя 4 часа, 50 минут, 20 секунд (12.06.2011 - 10:53) Guest написал(а):
session_start(); пробовал добавить в начало скрипте. без изменений...
Спустя 10 минут, 23 секунды (12.06.2011 - 11:04) Guest написал(а):
switch($status){
case "yes":
if(!$_SESSION['loggedIn']){
//143 echo "123";
header("Location: login.php");
exit;
}
break;
case "no":
if($_SESSION['loggedIn']){
header("Location: members.php?".session_name()."=".session_id());
}
break;
}
Добавил сюда 123. Действительно вылазит 123 с ошибкой:
Warning: Cannot modify header information - headers already sent by (output started at Z:\home\localhost\www\3\functions.php:143) in Z:\home\localhost\www\3\functions.php on line 144
case "yes":
if(!$_SESSION['loggedIn']){
//143 echo "123";
header("Location: login.php");
exit;
}
break;
case "no":
if($_SESSION['loggedIn']){
header("Location: members.php?".session_name()."=".session_id());
}
break;
}
Добавил сюда 123. Действительно вылазит 123 с ошибкой:
Warning: Cannot modify header information - headers already sent by (output started at Z:\home\localhost\www\3\functions.php:143) in Z:\home\localhost\www\3\functions.php on line 144
Спустя 4 минуты, 28 секунд (12.06.2011 - 11:08) Guest написал(а):
*//143 после строки
Спустя 5 минут, 10 секунд (12.06.2011 - 11:13) kirik написал(а):
Цитата (Guest @ 12.06.2011 - 03:53) |
session_start(); пробовал добавить в начало скрипте. без изменений... |
Нужно добвить это во все скрипты к которым происходит обращение через браузер и в которых используется сессионная переменная.
Цитата (Guest @ 12.06.2011 - 04:04) |
Warning: Cannot modify header information - headers already sent by |
Обсуждалось 100500 раз везде (тыц)..
Спустя 10 минут, 59 секунд (12.06.2011 - 11:24) Guest написал(а):
kirik, добавил session_start(); во все скрипты. НЕ помогло, хотя думал, что нужно добавить только в 1. Потому что его все инклудят потом. Я в пхп полный ноль, во вторник диплом защищать... Если не затруднит, не мог бы помочь немного с результатом?
P.s. покопался насчет header'a у меня почти везде html код, вконце скрипта. Пробелов нету..ругается на саму строку со словом header..
P.s. покопался насчет header'a у меня почти везде html код, вконце скрипта. Пробелов нету..ругается на саму строку со словом header..
Спустя 1 минута, 2 секунды (12.06.2011 - 11:25) Guest написал(а):
Вся фишка в том, что ДО замены session_register на $_SESSION, в принципе сессии работали кое-как. Но вылетали ошибки. А сейчас ошибок нету, а сессии не работают
Спустя 3 часа, 58 минут, 3 секунды (12.06.2011 - 15:23) AlmazDelDiablo написал(а):
Я делаю так:
// sessio_register экранируем, так как на него может ругаться
@session_register( 'loggedIn' );
// Заполняем сесионную переменную
$_SESSION['loggedIn'] = true;
Спустя 17 минут, 43 секунды (12.06.2011 - 15:41) neadekvat написал(а):
Уж не затем ли там @, что функция session_register считается устаревшей?
Спустя 23 минуты, 39 секунд (12.06.2011 - 16:05) AlmazDelDiablo написал(а):
Цитата (neadekvat @ 12.06.2011 - 16:41) |
Уж не затем ли там @, что функция session_register считается устаревшей? |
Считается, но без нее не работает. Странно, но факт.
Спустя 31 минута, 48 секунд (12.06.2011 - 16:37) neadekvat написал(а):
Цитата (AlmazDelDiablo @ 12.06.2011 - 17:05) |
Считается, но без нее не работает. Странно, но факт. |
Что странного? Сессию надо сначала начать: session_start(), а уж потом в сессионный массив что-то пихать.
Спустя 5 часов, 3 минуты, 17 секунд (12.06.2011 - 21:40) kirik написал(а):
Цитата (Guest @ 12.06.2011 - 04:24) |
Я в пхп полный ноль, во вторник диплом защищать... |
А как потом работать?
В файле config.php замените:
session_register("login");
session_register("password");
session_register("loggedIn");
на
session_start();
Спустя 13 часов, 6 минут, 51 секунда (13.06.2011 - 10:47) Guest написал(а):
Сделал уже. Работать потом прекрасно, но не web кодером