https://help.superhosting.bg/simple-php-login-form.html
  • bg

Хостинг, Домейни, Виртуални сървъри (VPS), Managed VPS, SSL сертификати

Изработване на проста PHP/HTML Login форма

PHP функции
php login, php form

Често в сайтовете се налага ограничаване на достъпа до някои части от съдържанието, например до определени директории или страници. Следващият пример е за проста форма на HTML и PHP за логване и достъп до определени зони от сайт, защитени с парола и потребителско име.

HTML кодът на формата може да бъде следния:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Login Форма</title>
<body>
<h2 style="text-align:center;">Login форма</h2>

<form action="login.php" method="post">

Потребител:

<input type="text" name="potrebitel" />

Парола:

<input type="password" name="parola" />

<input type="submit" value="Влез">
</form>
</body>
</html>

Съхранете горната страница като loginform.html. В браузъра тя ще изглежда по следния начин:

Сега трябва да направим скрипта login.php. Той може да бъде следния:

<?php
$user = $_POST["potrebitel"];
$pass = $_POST["parola"];
if ($user == "user1" && $pass == "pass1")
{
header("location: https://goodexample.eu");
}
else
{
echo "<p style=\"font-weight:bold;\">Грешно потребителско име или парола!</p>";
}
?>

Съхранете кода във файл login.php и го разположете в същата директория като loginform.html.

В горния код чрез масива $_POST взимаме от формата съдържанието на полетата за потребителско име и парола като задаваме в квадратните скоби ключовете за тези стойности, т.е. имената на полетата, които са potrebitel и parola. Присвояваме ги като стойности съответно на променливите $user и $pass.

След това чрез конструкцията if-else задаваме на скрипта следната задача:

Ако е изпълнено условието стойността на променливата $user да е user1 и стойността на променливата $pass да е pass1, тогава да се зареди уеб адресът https://goodexample.eu.
Ако това условие не е изпълнено, тогава покажи съобщението "Грешно потребителско име или парола!".

Това означава, че ако използвате в login формата потребителско име user1 и парола pass1, в браузъра ви ще се зареди страницата, до която желаете да има ограничен достъп.

Ако искате достъпът да е с друго потребителско име и парола трябва да замените user1 и pass1 с друго съчетание от букви и/или цифри.

За пренасочване на браузъра използваме функцията header(), чийто синтаксис е:

header(Location: URL)

На мястото на уеб адреса (URL) може да се изпише пълния адрес на страницата, която трябва да се зареди (както е в примера), а може да се укаже и само името на страницата, ако тя се намира в същата папка (директория), в която се намират формата и скрипта. Тогава редиректването ще е във вида:

header("location: secretpage.php");

В този пример са зададени само една парола и едно потребителско име за достъп до защитената страница. С помощта на конструкцията switch може да направим множество идентификации за различни потребители, които да имат достъп до различни части от сайта и да ползват за целта различни потребителски имена и пароли. В този случай скриптът login.php може да изглежда по следния начин:

<?php
$user = $_POST["potrebitel"];
$pass = $_POST["parola"];
switch(true)
{
case ($user == "user1" && $pass == "pass1"): header("location: https://goodexample.eu");
break;
case ($user == "user2" && $pass == "pass2"): header("location: secretdir2/secretpage2.php");
break;
case ($user == "user3" && $pass == "pass3"): header("location: anothersecretpage.php");
break;
default: echo "<p style=\"font-weight:bold;\">Грешно потребителско име или парола!</p>";
}
?>

Чрез горния скрипт се задават три идентификации за достъп съответно user1/pass1, user2/pass2 и user3/pass3, които водят до различни страници от сайта.

500px270px
SuperHosting.BG

Коментари

avatar
  Абониране  
Уведоми ме при
Всички права запазени © 2005-2018 , www.superhosting.bg