Show sourcecode
The following files exists in this folder. Click to view.
Webbsrvprg/exercises/php_textsträngar/
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_1.php
92 lines UTF-8 Windows (CRLF)
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
<?php
// php_textsträngar_1.php
// Enkel sida som visar formulär och en feedback-sida efter POST
mb_internal_encoding('UTF-8');
function fixName(string $s): string {
$s = trim($s);
if ($s === '') return '';
// Gör först alla bokstäver små och sätt sedan första bokstaven i varje ord till stor
return mb_convert_case(mb_strtolower($s, 'UTF-8'), MB_CASE_TITLE, 'UTF-8');
}
function e(string $s): string {
return htmlspecialchars($s, ENT_QUOTES | ENT_SUBSTITUTE, 'UTF-8');
}
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$firstname = $_POST['firstname'] ?? '';
$lastname = $_POST['lastname'] ?? '';
$email = $_POST['email'] ?? '';
$firstname_fixed = fixName($firstname);
$lastname_fixed = fixName($lastname);
$email_trimmed = trim($email);
$email_ok = (strpos($email_trimmed, '@') !== false);
?>
<!DOCTYPE html>
<html lang="sv">
<head>
<meta charset="utf-8">
<title>Feedback</title>
</head>
<body>
<h1>Feedback</h1>
<p><strong>Förnamn:</strong>
<?php echo e($firstname_fixed === '' ? '(inget angivet)' : $firstname_fixed); ?>
</p>
<p><strong>Efternamn:</strong>
<?php echo e($lastname_fixed === '' ? '(inget angivet)' : $lastname_fixed); ?>
</p>
<p><strong>E-postadress:</strong>
<?php
if ($email_trimmed === '') {
echo '(ingen e-post angiven)';
} elseif (! $email_ok) {
echo e($email_trimmed) . ' — ogiltig e-post (saknar @)';
} else {
echo e($email_trimmed);
}
?>
</p>
<p><a href="<?php echo e($_SERVER['PHP_SELF']); ?>">Tillbaka till formuläret</a></p>
</body>
</html>
<?php
exit;
}
?>
<!DOCTYPE html>
<html lang="sv">
<head>
<meta charset="utf-8">
<title>Formulär</title>
</head>
<body>
<h1>Fyll i dina uppgifter</h1>
<form action="<?php echo e($_SERVER['PHP_SELF']); ?>" method="post" accept-charset="utf-8">
<label>
Förnamn:<br>
<input type="text" name="firstname" maxlength="100">
</label>
<br><br>
<label>
Efternamn:<br>
<input type="text" name="lastname" maxlength="100">
</label>
<br><br>
<label>
E-post:<br>
<input type="email" name="email" maxlength="255">
</label>
<br><br>
<button type="submit">Skicka</button>
</form>
</body>
</html>