| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > СЕССИИ |
| Автор: Yaz0n 10.6.2004, 12:19 |
| $user_login=$_POST['login']; $user_pass=$_POST['pass']; $find1="select * from $reg where login='$user_login'"; $find2=mysql_query($find1); $rows=mysql_num_rows($find2); if ($rows != 0) { $password=mysql_result ($find2, 0, 'pass'); if ($password==$user_pass) { $email=mysql_result ($find2, 0, 'email'); session_name("entered_user"); session_start(); session_register("user_login"); session_register("email"); if ( isset($_SESSION['user_login'] ) ) { echo "$_SESSION['user_login'] - $user_login" "; } ....................................... КОРОЧЕ - говорит, что user_login в строке где $_SESSION ... не определен, но тем не менее if выполняет - печатает [описание ошибки] - [значение $user_login] Пробовал и так и сяк - но не пашет, а ошибки не вижу! Помогите кто чем может. [b][/b][b] Добавлено @ 12:21 Пробовал ставить session_start() и в начало - не помогло |
| Автор: Master 10.6.2004, 12:39 |
| как это... не определен... если isset($_SESSION['user_login']) = true, то он не может быть не определен. что он печатает у тебя при echo "$_SESSION['user_login'] - $user_login";? |
| Автор: Yaz0n 10.6.2004, 13:58 |
| ЕЩЕ РАЗ: $user_login=$_POST['login']; $user_pass=$_POST['pass']; $find1="select * from $reg where login='$user_login'"; $find2=mysql_query($find1); $rows=mysql_num_rows($find2); if ($rows != 0) { $password=mysql_result ($find2, 0, 'pass'); if ($password==$user_pass) { session_start(); $logged_user=$user_login; $email=mysql_result ($find2, 0, 'email'); session_register("logged_user"); session_register("email"); echo "$_SESSION['logged_user']"; (line 22) } else { echo "incorrect password!"; } } else { ............................. ERROR: Notice: Undefined index: 'logged_user' in ... :\.....................\registration\go.php on line 22 И надо ли мне писать start_session() в следующем документе, чтобы получить переменную? |
| Автор: yUAC 10.6.2004, 21:31 |
| Мдяя.. session_start() нужно прописывать ВСЕГДА! |
| Автор: IZ@TOP 11.6.2004, 10:47 |
| Дело в том, что когда ты пишешь сессию, то при выполнении скрипта, записанные значения не будут видны как и кука, пока юзер не обновит страницу, или ты не сделаешь редирект. Это помоему относится только когда ты регистрируешь переменные с помощью session_register(mixed var). |
| Автор: Kefir 11.6.2004, 12:32 |
| www.php.net: If you want your script to work regardless of register_globals, you need to instead use the $_SESSION array as $_SESSION entries are automatically registered. If your script uses session_register(), it will not work in environments where the PHP directive register_globals is disabled. If you are using $_SESSION (or $HTTP_SESSION_VARS), do not use session_register(), session_is_registered(), and session_unregister(). так что завязывай с session_register |