|
|
|
| У меня тут проблема, при выводе сообщений о не заполненных полях формы. Когда я нажимаю кнопку отправить забыв внести данные то все нормально сообщения выводятся например "Все поля должны быть заполнены!", их там еще несколько. Потом сессия уничтожается и выводится ошибка.
Notice: Undefined index: msg in index.php on line 61.
Подскажите пожалуйста как это исправить вот код.
<?php
session_start();
if(!empty($_POST))
{
$err = array();
//Проверка всех пустых полей
if(!$_POST['username'] || !$_POST['email'] || !$_POST['Password'])
$err[] = 'Все поля должны быть заполнены!';
//Проверка длины имени пользователя
if(strlen($_POST['username'])<5 || strlen($_POST['username'])>32)
{
$err[] = 'Имя пользователя должно содержать от 4 до 32 символов!';
}
//Проверка email
if(!preg_match("/[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}/i",$_POST['email']))
{
$err[] = 'e-mail не верен!';
}
if(!count($err))
{
$_SESSION['msg'] = "";
}
if(count($err))
{
$_SESSION['msg'] = implode('<br/>',$err);
}
header("Location: index.php");
exit;
}
?>
<form action="" method="post">
<?php
if($_SESSION['msg'])
{
echo '<div style="color:red">'.$_SESSION['msg'].'</div>';
unset($_SESSION['msg']);
}
?>
<label >Имя пользователя:
<input type="text" name="username" id="username" value="" size="23" /><br>
</label>
<label>Password:
<input type="text" name="Password" id="Password" size="23" /><br>
</label>
<label>Email:
<input type="text" name="email" id="email" size="23" />
</label>
<br>
<label>Пароль будет отправлен Вам по почте.</label>
<input type="submit" name="submit" value="Зарегистрироваться"/>
</form>
|
| |
|
|
|
|
|
|
|
для: algoritm
(04.01.2013 в 22:22)
| | Вместо
попробуйте следующее условие (т.е. добавьте проверку на существование)
if(isset($_SESSION['msg']) && !empty($_SESSION['msg']))
|
| |
|
|
|
|
|
|
|
для: cheops
(05.01.2013 в 10:05)
| | Спасибо за ответ, помогло | |
|
|
|