Webbserverprogrammering 1

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_3.php

78 lines UTF-8 Windows (CRLF)
<?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($sENT_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($quotient2'.'''); ?></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>