Вернуться   Дизайнерский форум » ВЕБ-ПРОГРАММИРОВАНИЕ » ASP, Perl, PHP и MySQL

php setcookie: undefined index

Обсуждение темы php setcookie: undefined index в разделе ASP, Perl, PHP и MySQL, часть категории ВЕБ-ПРОГРАММИРОВАНИЕ; Здравствуйте! Имеем форму типа логин/пароль <form...> <input...name='log'> <input...name='pas'> ... </form> php, проверяет логин\пароль и создает cookie <? if (isset($_POST['log'])) Проверка логин/пароль .... $cook ...


Закрытая тема
 
Опции темы
Старый 24.08.2010, 12:10   #1
Здравствуйте!

Имеем форму типа логин/пароль
<form...>
<input...name='log'>
<input...name='pas'>
...
</form>

php, проверяет логин\пароль и создает cookie

<?
if (isset($_POST['log']))
Проверка логин/пароль
....
$cook = setcookie ( "user", $_POST['log']);
if ($cook == true) echo "true";
else echo $cook;
// print_r ($_COOKIE);
echo $_COOKIE["user"];
?>

Пишет true, имя не печатает, в логи пишет Undefined index: user, в итоге ничего не создается
Как правильно создать cookie?
 
Старый 24.08.2010, 12:10
Ссылки
Старый 25.08.2010, 19:36   #2
Проблема в том, что после вызова setcookie() необходимо заново послать заголовок страницы, тогда страница будет грузиться с установленным или сброшенным cookie:

index.php

<html>
<body>
<?

// Пользователь пожелал выйти из системы
if ( isset($_POST['exit'])) {
setcookie("user, "", time()-3600");
header ("location: index.php");
}

// Пользователь вошел в систему
if (isset($_POST['login'])) {
// Делаем проверку логина и пароля и если все ОК тогда устанавливаем cookie:
setcookie("user", $_POST['login']);
header ("location: index.php");
}

// Если пользователь вошел, отображаем имя пользователя и форму выхода из системы
if ($_COOKIE['user']) {
echo "<div>Здравствуйте, " .$_COOKIE['user'] ."</div>"
echo "<form method='POST' action='" .$_SERVER{'PHP_SELF'} .">";
echo "<input type='hidden' name='exit'>";
echo "input type='submit' value='Выйти'";
echo "</form>";
}

// Иначе отображаем форму входа
else {
echo "<form method='POST' action='" .$_SERVER{'PHP_SELF'} .">";
echo "<input type='input' name='login'>";
echo "<input type='password' name='password'>";
echo "input type='submit' value='Вoйти'";
echo "</form>";
}
?>
</body>
</html>
 
Старый 25.08.2010, 19:36
Закрытая тема


Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
z-index < 0 Nielson HTML, CSS, JavaScript 4 17.11.2009 00:50
Кнопка "Undefined" Fobus HTML, CSS, JavaScript 7 28.03.2009 02:54
Undefined variable yuk ASP, Perl, PHP и MySQL 5 25.03.2007 07:59
z-index IgorQ HTML, CSS, JavaScript 1 22.03.2007 09:42
Проблема с setcookie() и header() Red Hyperion ASP, Perl, PHP и MySQL 3 05.11.2005 15:43


Текущее время: 17:37. Часовой пояс GMT +4.

Реклама на форуме Условия размещения рекламы
Биржа ссылок Заработай на сайте!
Дизайнерский форум