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_3.php
78 lines UTF-8 Windows (CRLF)
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
<?php
// php_textsträngar_3.php
// Enkel sida som visar ett formulär och en "feedback"-sida med kvoten av två tal
function h($s) { return htmlspecialchars($s, ENT_QUOTES, 'UTF-8'); }
$a = '';
$b = '';
$errors = [];
$quotient = null;
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$a = isset($_POST['a']) ? trim($_POST['a']) : '';
$b = isset($_POST['b']) ? trim($_POST['b']) : '';
if ($a === '') $errors[] = 'Ange första talet.';
if ($b === '') $errors[] = 'Ange andra talet.';
if ($a !== '' && !is_numeric($a)) $errors[] = 'Första värdet måste vara ett tal.';
if ($b !== '' && !is_numeric($b)) $errors[] = 'Andra värdet måste vara ett tal.';
if (empty($errors)) {
$aNum = (float)$a;
$bNum = (float)$b;
if ($bNum == 0.0) {
$errors[] = 'Division med noll är inte tillåten.';
} else {
$quotient = $aNum / $bNum;
}
}
}
?>
<!doctype html>
<html lang="sv">
<head>
<meta charset="utf-8">
<title>Kvotberäkning</title>
<style>
body { font-family: Arial, sans-serif; margin: 2rem; }
label { display: block; margin-top: .5rem; }
.errors { color: #900; }
.result { margin-top: 1rem; padding: .5rem; background: #f0f8ff; border: 1px solid #ccc; }
</style>
</head>
<body>
<h1>Beräkna kvoten av två tal</h1>
<?php if (!empty($errors)): ?>
<div class="errors">
<strong>Fel:</strong>
<ul>
<?php foreach ($errors as $err): ?>
<li><?php echo h($err); ?></li>
<?php endforeach; ?>
</ul>
</div>
<?php endif; ?>
<?php if ($_SERVER['REQUEST_METHOD'] === 'POST' && empty($errors)): ?>
<div class="result">
<p>Inlästa tal: <?php echo h($a); ?> och <?php echo h($b); ?>.</p>
<p>Kvot: <?php echo number_format($quotient, 2, '.', ''); ?></p>
</div>
<p><a href="<?php echo h($_SERVER['PHP_SELF']); ?>">Beräkna igen</a></p>
<?php else: ?>
<form method="post" action="<?php echo h($_SERVER['PHP_SELF']); ?>">
<label>
Första talet:
<input type="text" name="a" value="<?php echo h($a); ?>">
</label>
<label>
Andra talet:
<input type="text" name="b" value="<?php echo h($b); ?>">
</label>
<p><button type="submit">Beräkna kvot</button></p>
</form>
<?php endif; ?>
</body>
</html>