Show sourcecode
The following files exists in this folder. Click to view.
Webbsrvprg/ovningar/php_ramverk/
php_textsträngar_1.php
php_textsträngar_2.php
php_textsträngar_3.php
php_textsträngar_4.php
php_textsträngar_5.php
php_textsträngar_2.php
75 lines UTF-8 Windows (CRLF)
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
<?php
// php_textsträngar_2.php
// Enkel sida som visar ett formulär och validerar inmatning vid POST.
function e($s) {
return htmlspecialchars($s, ENT_QUOTES, 'UTF-8');
}
$username = '';
$password = '';
$errors = [];
$success = false;
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$username = trim($_POST['username'] ?? '');
$password = $_POST['password'] ?? '';
// Kontroll: användarnamn måste innehålla "php" (case-insensitivt)
if (stripos($username, 'php') === false) {
$errors[] = 'Användarnamnet måste innehålla delsträngen "php".';
}
// Kontroll: lösenord minst 6 tecken
if (mb_strlen($password) < 6) {
$errors[] = 'Lösenordet måste vara minst 6 tecken långt.';
}
if (empty($errors)) {
$success = true;
}
}
?>
<!doctype html>
<html lang="sv">
<head>
<meta charset="utf-8">
<title>Inloggning - validering</title>
<style>
body { font-family: Arial, sans-serif; margin: 2rem; }
.error { color: #a00; }
.ok { color: #080; }
form { max-width: 360px; }
label { display: block; margin-top: 0.8rem; }
input[type="text"], input[type="password"] { width: 100%; padding: 0.4rem; box-sizing: border-box; }
.messages { margin-top: 1rem; }
</style>
</head>
<body>
<h1>Inloggning</h1>
<form method="post" action="">
<label for="username">Användarnamn</label>
<input id="username" name="username" type="text" value="<?php echo e($username); ?>" required>
<label for="password">Lösenord</label>
<input id="password" name="password" type="password" value="" required>
<button type="submit" style="margin-top:0.8rem;">Skicka</button>
</form>
<div class="messages">
<?php if ($_SERVER['REQUEST_METHOD'] === 'POST'): ?>
<?php if ($success): ?>
<p class="ok">Allt är ok — användarnamn och lösenord uppfyller kraven.</p>
<?php else: ?>
<ul class="error">
<?php foreach ($errors as $err): ?>
<li><?php echo e($err); ?></li>
<?php endforeach; ?>
</ul>
<?php endif; ?>
<?php endif; ?>
</div>
</body>
</html>