Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[TUT] Walidacja formularzy


NaczelnyNieuk

Rekomendowane odpowiedzi

Opublikowano

Dla przypomnienia szablon strony HTML5.

<!doctype html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Piekarnia</title>
</head>
<body>
</body>
</html>

Formularz (index.php)

    <form action="zamowienie.php" method="post">
        <label for="paczki">Ile pączków: </label>
        <input type="text" id="paczki" name="ilosc_paczkow"><br>
        <label for="ciastka">Ile ciastek: </label>
        <input type="text" id="ciastka" name="ilosc_ciastek"><br>
        <input type="submit" value="Zamów">
    </form>

Walidacja formularza (zamowienie.php)

- Łapiemy dane wysłane postem  i sprawdzamy czy przypadkiem ktoś nie zostawił pustego pola,

  jeżeli zostawił przenosimy się do pliku (index.php) z wartością GET i przerywamy skrypt. 

<?php
if(empty($_POST["ilosc_paczkow"]) )
{
    header ("Location: index.php?error=1");
    exit;
}
if(empty($_POST["ilosc_ciastek"]) )
{
    header ("Location: index.php?error=2");
    exit;
}
?>

Wyświetlanie informacji w zależności od GET (index.php)

<?php 
if(isset($_GET['error']))
{
    switch($_GET['error'])
    {
        case 1:
            echo "Nie podałeś liczby pączków";
            break;
        
        case 2:
            echo "Nie podałeś liczby ciastków";
            break;
        case 3:
            echo "Zły typ liczby paczków";
            break;
    }
}

I na koniec wyświetlanie zamówionych rzeczy (zamowienie.php)

<?php
$liczba_paczkow = $_POST["ilosc_paczkow"];
$liczba_ciastek = $_POST["ilosc_ciastek"];

echo "liczba pączkow: $liczba_paczkow <br>liczba ciastków: $liczba_ciastek"

?>

Całe pliki : 

index.php

 

 

<!doctype html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Piekarnia</title>
</head>
<body>
<?php 
if(isset($_GET['error']))
{
    switch($_GET['error'])
    {
        case 1:
            echo "Nie podałeś liczby pączków";
            break;
        
        case 2:
            echo "Nie podałeś liczby ciastków";
            break;
        case 3:
            echo "Zły typ liczby paczków";
            break;
    }
}

?>
    <form action="zamowienie.php" method="post">
        <label for="paczki">Ile pączków: </label>
        <input type="text" id="paczki" name="ilosc_paczkow"><br>
        <label for="ciastka">Ile ciastek: </label>
        <input type="text" id="ciastka" name="ilosc_ciastek"><br>
        <input type="submit" value="Zamów">
    </form>
</body>
</html> 

 

 

zamowienie.php

 

 

<!doctype html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Zamówienie</title>
    <link rel="stylesheet" href="styles/reset.css">
    <link rel="stylesheet" href="styles/style.css">
</head>
<body>
<?php
if(empty($_POST["ilosc_paczkow"]) )
{
    header ("Location: index.php?error=1");
    exit;
}
if(empty($_POST["ilosc_ciastek"]) )
{
    header ("Location: index.php?error=2");
    exit;
}

$liczba_paczkow = $_POST["ilosc_paczkow"];
$liczba_ciastek = $_POST["ilosc_ciastek"];

echo "liczba pączkow: $liczba_paczkow <br>liczba ciastków: $liczba_ciastek"

?>

</body>
</html> 

 

 

 

UWAGA !!! Sprawdziliśmy tylko 1 warunek. Czy użytkownik nie zostawił pustych pól.

Natomiast w tym przypadku należałoby sprawdzić jeszcze czy:

 

- zmienna jest liczba naturalna

 

Powodzenia w dalszej edycji. Mile widziane pytania w komentarzach.

Niezmierzony niewiedzy skutek

Znów muszę uczyć się wytrwale

Choć zaliczyłem przecież SMUTEK

Żadnej pochwały- świadectw wcale

Opublikowano

Tut słaby. Aby nie było wstydu rozwiń go o walidacje:

-czy jedno pole pasuje do drugiego

-minimalna długość

-maksymalna długość

-odpowiednia długość [parametr]

-tylko znaki alfabetu

-znaki alfa numeryczne

-znaki alfa-numeryczne, podkreślenia lub myślniki

-znaki numeryczne

-prawidłowy adres email

-prawidłowe ip

-zabezpieczenie przed xss

-własne callbacki np: z użyciem db

wipek.pl

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...