Помогни ни да направим Uroci.net по - богат! Добави урок

PHP - част 8 (Работа с форми)

PHP » PHP
fix3d   трудност:    видян: 11800



Валидация на форма
Един от най-важните аспекти на използването на форми е валидацията на въведената от потребителя информация. Да разгледаме следния ред:

<form name="registration" method="post" action="confirm.php" enctype="multipart/form-data">

В него се декларира, че въведената информация ще се предаде на PHP скрипта confirm.php. Когато изпратите информация, PHP първо трябва да валидира тази информация. Валидациите в PHP се извършват, когато натиснете бутона Submit, за да изпратите информацията за обработка от сървъра. Сега ще видим, как може да създадете различни валидации в PHP.


Валидиране на стойността на текстово поле с името
Обикновено първото поле във всяка форма е полето за името. В нашият случай полето Name е първото поле, в което потребителя въвежда стойност. В резултат на това процесът на валидация на формата започва със стойността, която потребителя е въвел в това текстово поле. Да разгледаме следния код. Този код валидира полето с името във вашата форма:
<?php

if (empty($name)) {
die("Не е въведено име");
}
elseif ((strlen($name) < 5) || (strlen($name) > 20 )) {
die("Невалидно име");
}
else {
echo $name;
}

?>

В горния код се използва конструкцията if ... elseif ... ... else за валидиране на въведената информация. Разгледайте следващата извадка от горния код:
if (empty($name)) //ако е празно полето $name
{
die("Не е въведено име"); //прекъсни скрипта и изведи това съобщение.
}

Ако не сте въвели име, обработката на формата ще прекъсне и ще се появи съобщение, че не сте въвели име. Обаче, след като сте въвели име, кодът провери неговата дължина. Разгледайте следващата извадка
elseif ((strlen($name) < 5) || (strlen($name) > 20 ))
{
die("Невалидно име");
}

В нея се появява условието, че името трябва да е поне от 5 символа и да не надвишава 20. Ако това условие не е удовлетворено, тогава ще получите съобщение за грешка "Невалидно име".


Валидиране стойността на текстово поле за адреса
Следващото поле във формата е полето address. Разгледайте следващия код, който валидира полето за адрес във формата.
<?php

if (empty($addres)) {
die("Не е въведено адрес");
}
elseif ((strlen($addres) < 5) || (strlen($addres) > 50 )) {
die("Невалидно адрес");
}
else {
echo $addres;
}

?>


Горният код е сходен с този на валидация на името. Тук PHP кодът проверява дали са ваведени данни в полето addres. Също така се проверява дали полето addres има по-малко от 5 символа или е по-голямо от 5о символа.

]Валидиране на E-mail адрес

Най-често използваната валидация на E-mail адрес е проверката за наличието на символа "@" в адреса. Разгледайте следващия код, който валидира полето за Е-маил.

<?php

if (empty($email))
{
die("Не е въведено e-mail");
}
elseif ((strlen($addres) < 5) || (strlen($addres) > 20 ))
{
die("Невалидн e-mail адрес. Много дълъг/къс");
}
elseif (!ereg("@",$email))
{
die ("Невалиден e-mail адрес. Липсва символа @")
}
else
{
echo $addres;
}

?>


Както в предишните две валидации, и тук кодът първо проверява дали е въведен e-mail адрес. Ако не е въведен, потребителят получава съобщението "Не е въведен e-mail адрес.". След проверката за наличие на стойност в полето e-mail, кодът проверява дали дължината на полето е между 5 и 20 символа.След тези две проверки, кодът проверява дали в стойността се съдържа символа @. Следващата извадка от горния код проверява за наличието на символа @:

elseif (!ereg("@",$email))
{
die ("Невалиден e-mail адрес. Липсва символа @")
}


В горния код първият ред проверява за наличието на символа @ в e-mail адреса. Ако символът @ не се открие във въведената стойност, потребителя ще получси съобщението : "Невалиден e-mail адрес. Липсва символа @".

Валидация на пароли

Имената на потребителите и паролите са основни при идентификацията на потребителите. Паролите осигуряват защитеност на информацията, предоставена от потребителя. Разгледайте следващия код, който валидира пароли. Освен това този код не извежда истинската стойност на паролата, а замества броя на символите в нея със символа *:

<?php

if (empty($password) || empty($cpassword)){
die("Не е въведенa парола");
}
elseif (((strlen($password) < 5) || (strlen($password) > 15 ))){
die("Невалиднa дължина на паролата");
}
elseif(!(strlen($password) == (strlen($cpassword))){
die("Паролите не съвпадат")
}
elseif(!($password === $password))
// Сравняване на типа на паролите
{
die("Паролите не съвпадат")
}

else {
for ($i=0; $i < strlen($password); $i++)
{
echo "*";
}}

?>


източник на урока: http://www4u.search.bg


Страници: «1 2

Коментари (1)

menian на 22.07 2008 в 11:44ч.
урока кърти мифвки и лепи плочи

Регистрирайте се, за да добавите коментар


Калдейта ЕООД - © 2003-2010. Всички права запазени.
Препоръчваме: Национален Бизнес | Bomba.bg | IT Новини | Диплома.бг | TRAVEL туризъм | Реферати | AmAm.bg | Иде.ли | Курсови работи | Фото Форум | Spodeli.net | Фото-Култ | Atol.bg | Elmaz.com | MobileBulgaria.com | Казанлък.Com