<?php
echo "<H1>Registration</H1>";
$SUBMIT=$_POST['submit'];
// form data
$fullname = strip_tags($_POST['fullname']);
$username = strip_tags($_POST['username']);
$password = strip_tags($_POST['password']);
$repeatpassword = strip_tags($_POST['repeatpassword']);
$date = date("Y-m-d");
if ($submit)
{
//check for existance
if (isset($fullname)&&isset($username)&&isset($password)&&isset($repeatpassword))
{
$password = md5($password);
$repeatpassword = md5($repeatpassword);
if($password==$password)
{
//chek char lenght of username and fullname
if(strlen($username)>25 || strlen($fullname)>25)
{
echo "lenght to long";
}
else
{
if(strlen($password)>25 || strlen($password)<6)
{
echo "password is too short";
}
else
{
}
}
}
}
else
echo "please fill fields";
}
?>
<html>
<p>
<form method="POST" action="registration.php">
Name:<input type="text" name="username" /><br />
Fullname:<input type="text" name="fullname" /><br />
Password:<input type="password" name="password" /><br />
Repeat password:<input type="password" name="repeatpassword" /><br />
<input type="submit" name"registration" value="Registration"/><p>
</form>
</html>
И по какойто причине не отображается следующее:
1 если пользователь не ввел все данные то ему должна вылезти ошибка, но она не "вылазиет"
2 если пароль длинны то сообщается ошибка, но у меня она не сообщает об ошибке=(
3 если имя длинное тоже не выскакивает ошибка.
Вопрос : почему?
помогите пожалуйста я новичек в этом=)
Спустя 19 минут, 49 секунд (15.09.2010 - 14:13) Krevedko написал(а):
вместо
попробуй
и вот это
надо засунуть внутрь ифа.
и вообще
<form method="POST" action="registration.php">
заменить на
<form method="POST" action="">
if ($submit)
попробуй
if (isset($_POST['submit']))
и вот это
$fullname = strip_tags($_POST['fullname']);$username = strip_tags($_POST['username']);$password = strip_tags($_POST['password']);$repeatpassword = strip_tags($_POST['repeatpassword']);
надо засунуть внутрь ифа.
и вообще
<form method="POST" action="registration.php">
заменить на
<form method="POST" action="">
Спустя 29 минут, 16 секунд (15.09.2010 - 14:43) netruxa написал(а):
кривовато. углубляться не буду, просто несколько советов:
1. если ты пишешь
1. если ты пишешь
Цитата |
$fullname = strip_tags($_POST['fullname']); |
то
Цитата |
isset($fullname) |
всегда будет TRUE, т.к. переменная определена.
2.
2.
Цитата |
if($password==$password) |
тоже всегда будет TRUE
3. делай валидацию любыми способами (js, ajax) без перезагрузки страницы. так удобней и тебе и пользователю
можешь погуглить "валидация веб форм" или ченить такое
3. делай валидацию любыми способами (js, ajax) без перезагрузки страницы. так удобней и тебе и пользователю
можешь погуглить "валидация веб форм" или ченить такое
Спустя 6 минут, 40 секунд (15.09.2010 - 14:49) amazing написал(а):
бриклор, вы создаете переменную $SUBMIT, и проверяете $submit
Спустя 8 минут, 51 секунда (15.09.2010 - 14:58) Krevedko написал(а):
я после первого ифа дальше не читал...только внизу хтмл код.
потому что из-за отсутствия форматирования читать невозможно.
потому что из-за отсутствия форматирования читать невозможно.
Цитата |
бриклор, вы создаете переменную $SUBMIT, и проверяете $submit |
Поэтому я ему и написал поменять на if (isset($_POST['submit']))
$fullname = strip_tags($_POST['fullname']);$username = strip_tags($_POST['username']);$password = strip_tags($_POST['password']);$repeatpassword = strip_tags($_POST['repeatpassword']);
Получит нотис, когда кнопка не нажата => внутрь ифа.
И здесь
Цитата |
<form method="POST" action="registration.php"> заменить на <form method="POST" action=""> |
экшн не нужен, потому что ссылаемся на этот же файл(который я не уверен, что называется registration.php), но если называется, то сработает и верхний вариант )
Цитата |
то Цитата isset($fullname) всегда будет TRUE, т.к. переменная определена. |
а эта:if (isset($fullname)&&isset($username)&&isset($password)&&isset($repeatpassword))
проверка имхо вообще лишена смысла в данном случае.
Спустя 9 минут, 22 секунды (15.09.2010 - 15:08) Ice написал(а):
<?php
$errors = array();
if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
$SUBMIT=$_POST['submit'];
// form data
$fullname = strip_tags($_POST['fullname']);
$username = strip_tags($_POST['username']);
$password = strip_tags($_POST['password']);
$repeatpassword = strip_tags($_POST['repeatpassword']);
$date = date("Y-m-d");
//check for existance
if(empty($username))
$errors[] = 'Введите имя пользователя';
if(empty($password))
$errors[] = 'Введите пароль';
if($password != $repeatpassword)
$errors[] = 'Пароли не совпадают';
// и т. д.
if(sizeof($errors < 1))
echo "Фильтруемся и регистрируемся";
}
?>
<html>
<h1>Registration</h1>
<p>
<form method="POST">
Name:<input type="text" name="username" /><br />
Fullname:<input type="text" name="fullname" /><br />
Password:<input type="password" name="password" /><br />
Repeat password:<input type="password" name="repeatpassword" /><br />
<input type="submit" name"registration" value="Registration"/><p>
</form>
<?php if(sizeof($errors) > 0):?>
<h3><ins>Ошибки</ins></h3>
<?php foreach($errors as & $e):?>
<dl>
<dd><?php echo $e?></dd>
</dl>
<?php endforeach?>
<?php endif?>
</html>
Как-нибудь так хотя бы что ли.
Если есть вопросы - прошу
Спустя 9 минут, 16 секунд (15.09.2010 - 15:17) Krevedko написал(а):
ICE -эта строчка
$SUBMIT=$_POST['submit'];
не нужна тогда уж ))
Ну и проверки на длину логина итд ты убрал, оставил только на отсутствие. Впрочем основной смысл передан, а доделать там легко.
Хотя я бы сделал все по другому )) У каждого свое видение
$SUBMIT=$_POST['submit'];
не нужна тогда уж ))
Ну и проверки на длину логина итд ты убрал, оставил только на отсутствие. Впрочем основной смысл передан, а доделать там легко.
Хотя я бы сделал все по другому )) У каждого свое видение

Спустя 3 минуты, 21 секунда (15.09.2010 - 15:20) Ice написал(а):
Цитата (Krevedko @ 15.09.2010 - 16:17) |
ICE -эта строчка $SUBMIT=$_POST['submit']; не нужна тогда уж )) |
Ну да, запутался в мусоре. Читай подпись=)))
Цитата (Krevedko @ 15.09.2010 - 16:17) |
Ну и проверки на длину логина итд ты убрал, оставил только на отсутствие. |
Зато написал и.т.д

Цитата (Krevedko @ 15.09.2010 - 16:17) |
Хотя я бы сделал все по другому |
А ты бы как сделал?
Спустя 2 минуты, 9 секунд (15.09.2010 - 15:22) Krevedko написал(а):
ну смысл тот же, но оформил бы по другому )
короче неважно...проехали )
короче неважно...проехали )
Спустя 10 минут, 53 секунды (15.09.2010 - 15:33) бриклор написал(а):
спасибо всем!