[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Регистрация
бриклор
здравствуйте есть такой код:

<?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 написал(а):
вместо
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. если ты пишешь
Цитата
$fullname = strip_tags($_POST['fullname']);

то
Цитата
isset($fullname)
всегда будет TRUE, т.к. переменная определена.
2.
Цитата
if($password==$password)
тоже всегда будет TRUE
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'];
не нужна тогда уж ))

Ну и проверки на длину логина итд ты убрал, оставил только на отсутствие. Впрочем основной смысл передан, а доделать там легко.
Хотя я бы сделал все по другому )) У каждого свое видение biggrin.gif

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

Ну да, запутался в мусоре. Читай подпись=)))
Цитата (Krevedko @ 15.09.2010 - 16:17)
Ну и проверки на длину логина итд ты убрал, оставил только на отсутствие.

Зато написал и.т.д smile.gif
Цитата (Krevedko @ 15.09.2010 - 16:17)
Хотя я бы сделал все по другому

А ты бы как сделал?

Спустя 2 минуты, 9 секунд (15.09.2010 - 15:22) Krevedko написал(а):
ну смысл тот же, но оформил бы по другому )
короче неважно...проехали )

Спустя 10 минут, 53 секунды (15.09.2010 - 15:33) бриклор написал(а):
спасибо всем!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.