<?php require "bd.php"; $data = $_POST; if( isset($data['do_signup']) ) { $errors = array(); if( trim($data['login']) == '') { $errors[] = 'Введите логин!'; } if( trim($data['email']) == '') { $errors[] = 'Введите Email!'; } if ($data['password'] == '') { $errors[] = 'Введите пароль!'; } if ( $data['password_2'] != $data['password']) { $errors[] = 'Повторный пароль введен не верно!'; } if ( R::count('users', "login = ?", array($data['login'])) > 0) { $errors[] = 'Пользователь с таким логином уже существует!'; } if ( R::count('users', "email = ?", array($data['email'])) > 0) { $errors[] = 'Пользователь с таким Email уже существует!'; } if( empty($errors) ) { $user = R::dispense('users'); $user->login = $data['login']; $user->email = $data['email']; $user->password = password_hash($data['password'], PASSWORD_DEFAULTs); R::store($user); echo '<div style="color: green;">Вы успешно зарегистрированы</div></hr>'; }else { echo '<div style="color: red;">' .array_shift($errors).'</div></hr>'; } } ?> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <form action="/signup.php" method="POST"> <p> <p><strong>Ваш логин</strong>:</p> <input type="text" name="login" value="<?php echo @$data[' login']; ?>"> </p> <p> <p><strong>Ваш Email</strong>:</p> <input type="email" name="email" value="<?php echo @$data[' email']; ?>"> </p> <p> <p><strong>Ваш пароль</strong>:</p> <input type="password" name="password" value="<?php echo @$data[' password']; ?>"> </p> <p> <p><strong>Введите ваш пароль еще раз</strong>:</p> <input type="password" name="password_2" value="<?php echo @$data[' password_2']; ?>"> </p> <p> <button type="submit" name="do_signup">Зарегистрироваться</button> </p> </form> - 3Well, you can store them in sessions and just output. - entithat
- And what is "input drains"? First time I hear - ArchDemon
|
1 answer
I would do it on the example of one field:
<p> <p><strong>Ваш логин</strong>:</p> <?php $login_value = ''; if (isset($_POST['login']) AND !empty($_POST['login'])) { $login_value = $_POST['login']; } ?> <input type="text" name="login" value="<?php echo $login_value; ?>"> </p> Or, in your case instead of $_POST will be $data .
|