Ik probeer een loginsysteem te maken maar de bedoeling is dat alle errors die komen zichtbaar zijn
[qoute]
<?php
if (!isset($_POST["username"])) {
echo "Vul wel een gebruikersnaam in";
die();
}
if (!isset($_POST["password"])) {
echo "Vul wel een wachtwoord in";
die();
}
?>
[/qoute]
Moet dan de username empty error te laten zien & password wanneer beide velden leeg zijn
[CODE]
<?php
$errors = array();
if (!isset($_POST["username"])) {
$errors[] = "Vul wel een gebruikersnaam in";
}
if (!isset($_POST["password"])) {
$errors[] = "Vul wel een wachtwoord in";
}
if (!empty($errors)) {
foreach($errors as $error) {
echo $error."<br>";
}
die();
}
else {
// Rest van je code
}
?>
In principe zou ik dan alleen moeten filteren op username met trim omdat sommige wachtwoorden andere chars hebben, nou is de vraag wat zou ik dan moeten filteren bij usernames?
Wachtwoorden kunnen nooit leeg zijn, dus een controle daarop kan geen kwaad tijdens het inloggen of registreren. Die trim() kan je daar dan achterwege laten.
Ik maak nu gebruik van trim zoals je zei. alleen als ik nu spaties intoets bij het login form kom ik uit bij die echo van rest van de code..
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$errors = array();
if (trim($_POST["username"])==" ") {
$errors[] = "Vul wel een gebruikersnaam in";
}
if (trim($_POST["password"])==" ") {
$errors[] = "Vul wel een wachtwoord in";
}
if (!empty($errors)) {
foreach($errors as $error) {
echo $error."<br>";
}
die();
} else {
#Hier kom ik dan uit
echo "Rest van de code.";
}
} else {
echo "Geen formulier verstuurd.";
}
?>
- Controleer op een lege string, zie mijn voorbeeld nog eens.
- die() is niet nodig. Geen enkel script hoort 'dood' te gaan.
- Wat nu als mijn wachtwoord met een spatie begint?