• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

zahlen bleiben stehen im rechner

<?php
$breite = $_POST["breite"];
$hoehe = $_POST["hoehe"];
$pgewicht = $_POST["pgewicht"];
$seitenanzahl = $_POST["seitenanzahl"];
?>
<form method=post action="index.php?id=217">
<table width="350" style="text-align=center;">
<tr>
<td align="left" valign="middle">
Breite in cm:
</td>
<td align="left" valign="middle">
<input type="Text" name="breite" value="<? echo $breite ?>">
</td>
</tr>
<tr>
<td align="left" valign="middle">
Höhe in cm:
</td>
<td align="left" valign="middle">
<input type="Text" name="hoehe" value="<? echo $hoehe ?>">
</td>
</tr>
<tr>
<td align="left" valign="middle">
Papiergewicht in g/m²:
</td>
<td align="left" valign="middle">
<input type="Text" name="pgewicht" value="<? echo $pgewicht ?>">
</td>
</tr>
<tr>
<td align="left" valign="middle">
Seitenanzahl:
</td>
<td align="left" valign="middle">
<input type="Text" name="seitenanzahl" value="<? echo $seitenanzahl ?>">
</td>
</tr>
<?
if (isset($breite) && isset($hoehe) && isset($pgewicht) && isset($seitenanzahl)) {
$gewicht = $bodytag = str_replace(',', '.', $breite) * str_replace(',', '.', $hoehe) * str_replace(',', '.', $pgewicht) * str_replace(',', '.', $seitenanzahl) / 20000;
echo "<tr><td colspan=\"2\"><font size=\"+1\">ca. <b>".round($gewicht, 2)."</b> Gramm pro Exemplar <br></font></td></tr>";
}
?>
<tr>
<td colspan="2" style="text-align=center;" height="35">
<input type="submit" value="Berechnen">
</td>
</tr>
</table>
</form>
 
Du gibst in den value-Attributen der Input-Elementen den Inhalt von Variablen aus:

<input type="Text" name="breite" value="<? echo $breite ?>">
<input type="Text" name="hoehe" value="<? echo $hoehe ?>">
<input type="Text" name="pgewicht" value="<? echo $pgewicht ?>">
<input type="Text" name="seitenanzahl" value="<? echo $seitenanzahl ?>">

Daher findest Du die eingetippten Zahlen auch wieder vor. Aber das Formular solltest Du so auf keinen Fall lassen! Kann es sein, dass Du Error Reporting ausgestellt hast?


Hier mal ne Korrektur vom Script:

PHP:
<?php
if (isset($_POST['berechnen'])) {
    $breite = isset($_POST["breite"]) ? trim($_POST["breite"]) : '';
    $hoehe = isset($_POST["hoehe"]) ? trim($_POST["breite"]) : '';
    $pgewicht = isset($_POST["pgewicht"]) ? trim($_POST["breite"]) : '';
    $seitenanzahl = isset($_POST["seitenanzahl"]) ? trim($_POST["breite"]) : '';
    $message = '';
    
    // prüfen ob das Zahlen sind
    if (is_numeric($breite) && is_numeric($hoehe) && is_numeric($pgewicht) && is_numeric($seitenanzahl)) {
        $message  = str_replace(',', '.', $breite) *
                    str_replace(',', '.', $hoehe) *
                    str_replace(',', '.', $pgewicht) *
                    str_replace(',', '.', $seitenanzahl) / 20000;
    } else {
        // Fehler, Sind nich alles zahlen
        $message = 'Geben Sie bitte Zahlen an!';
    }
}
?>
<form method=post action="index.php?id=217">
<table width="350" style="text-align=center;">
<tr>
<td align="left" valign="middle">
Breite in cm:
</td>
<td align="left" valign="middle">
<input type="Text" name="breite" value="<?php echo isset($_POST['breite']) ? htmlentities($_POST['breite']) : '' ?>">
</td>
</tr>
<tr>
<td align="left" valign="middle">
Höhe in cm:
</td>
<td align="left" valign="middle">
<input type="Text" name="hoehe" value="<?php echo isset($_POST['hoehe']) ? htmlentities($_POST['hoehe']) : '' ?>">
</td>
</tr>
<tr>
<td align="left" valign="middle">
Papiergewicht in g/m²:
</td>
<td align="left" valign="middle">
<input type="Text" name="pgewicht" value="<?php echo isset($_POST['pgewicht']) ? htmlentities($_POST['pgewicht']) : '' ?>">
</td>
</tr>
<tr>
<td align="left" valign="middle">
Seitenanzahl:
</td>
<td align="left" valign="middle">
<input type="Text" name="seitenanzahl" value="<?php echo isset($_POST['seitenanzahl']) ? htmlentities($_POST['seitenanzahl']) : '' ?>">
</td>
</tr>
<?php echo isset($message) ? $message : '' ?>
<tr>
<td colspan="2" style="text-align=center;" height="35">
<input type="submit" name="berechnen" value="Berechnen">
</td>
</tr>
</table>
</form>
 
PHP:
    $breite = isset($_POST["breite"]) ? trim($_POST["breite"]) : '';
    $hoehe = isset($_POST["hoehe"]) ? trim($_POST["breite"]) : '';
    $pgewicht = isset($_POST["pgewicht"]) ? trim($_POST["breite"]) : '';
    $seitenanzahl = isset($_POST["seitenanzahl"]) ? trim($_POST["breite"]) : '';

Hier müsste es hinten beim trim-Befehl auch entsprechend breite, hoehe, pgewicht, seitenanzahl heißen.

is_numeric lässt übrigens keine Strings zu, die ein Komma enthalten.
 
Zurück
Oben