Регистрация user-а на сайте и значение value для text-ов

Статус
В этой теме нельзя размещать новые ответы.

barcelona

Новичок
Регистрация user-а на сайте и значение value для text-ов

Здравствуйте!
У меня в проекте есть система регистрации пользователя. Она работает, отправляет пользователей куда нужно и когда нужно, однако, не получается одна досадная мелочь. Я хочу, чтобы как во всех нормальных системах при выдаче ошибки (например, если пароль не совпадает) значение логина не стиралось. Я пытался делать через value="<?php echo htmlentities($_POST['login']);?>", но вместо нужного мне в поле было следующее: <!--error--><br /><b>Notice</b>: Undefined index: login in <b>z:\home\technhost\www\login.php</b> on line <b>40</b><br /><script language=JavaScript src='/errors__/phperror_js.php'></script>. Это сообщение появлялось при первой загрузке страницы, дальше всё работало как мне нужно.
Я работаю с денвером, версии a1.3.33_p4.4.3_m4.1.16. Помогите пожалуйста. Я знаю, что это несущественная мелочь, но исправить её необходимо.
 

Гравицапа

elbirret elcno
barcelona
Какое это отношение имеет к форуму MySQL - непонятно.
По поводу ошибки, а что там не понятного? У тебя нет такого ключа в $_POST и вообще этот массив пустой без отправки соответствующего запроса!
 

Luerssen

Новичок
PHP:
<?php

$login = '';

if (isset($_REQUEST['login']) && !empty($_REQUEST['login'])) {
    $login = $_REQUEST['login'];
}

?>

<input ... value="<?php print htmlspecialchars($login); ?>" ... ?>
 

WP

^_^
А если передать массив? А если не передать ничего? Нотис?
 

Фанат

oncle terrible
Команда форума
Luerssen, проверка на empty здесь лишняя.
а вот htmlspecialchars вместо htmlentities - это очень правильно.
я хотел написать, да забыл

-~{}~ 10.06.07 19:34:

WP
ты это кому?
 

Фанат

oncle terrible
Команда форума
Давай ты словами напишешь, что тебя не устраивает в его коде, чтобы не играть в кошки-мышки.
 

WP

^_^
Хорошо. Меня не устраивает тот факт что если передать в качестве параметра массив, то он попадет в htmlspecialchars и вызовет warning, и тот факт что если не передать параметр вообще, то появится notice undefined variable. ;)
З.Ы. часть им уже поправлена, notice отпадает.
 

Фанат

oncle terrible
Команда форума
варнинг - это замечательно. это прекрасно.
а почему будет ругаться на не передать?
 

WP

^_^
Фанат
> варнинг - это замечательно. это прекрасно.
Я так не считаю :) Надо проверять тип входящей переменной.
> а почему будет ругаться на не передать?
Уже исправлено.
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
а можно и приводить к типу
$login = (string)$_REQUEST['login'];

тогда пользователь получит значение Array и это будут его проблемы
 

Фанат

oncle terrible
Команда форума
ну, проверять или не проверять - это уже вопрос второй.
главное, система подаст сигнал хозяину, что какой-то придурок ломится с массивом.
 

barcelona

Новичок
Ого, какая у нас здесь бурная дискуссия! А по существу - Luerssen, спасибо за нужный совет, всё сработало.
 

Фанат

oncle terrible
Команда форума
ты бы не на дискуссию, а на логику собственных рассуждений внимание обратил.
а точнее - на её отсутствие.
глядишь - тогда и советы бы не понадобились
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху