bigvik
Neues Mitglied
Hallo Gemeinde,
ich bin blutiger Programmier- und PHP-Anfänger. Ich schreibe zur Zeit immer mal wieder Miniskripte um PHP besser zu verstehen. Jetzt habe ich ein Skript zum addieren bzw. subtrahieren von zwei Zahlen gebastelt, aber es will einfach nicht funktionieren.
Folgendes sind die Fehlfunktionen:
- Radiobuttons verlieren Auswahl nach Submit.
- Ergebnis wird nicht angezeigt.
- Nach Eingabe von zwei Zahlen und erneuter Auswahl des Operators kommt die von mir gewollte Fehlermeldung die nur kommen dürfte, wenn KEINE Zahl eingegeben wurde oder die Zahl nicht größer als Null ist. Auch wenn noch keine Zahlen eingegeben wurden.
Eigentlich sollte das Ergebnis ausgerechnet werden, und der Hinweis
erst kommen, wenn Variablen "falsch" (also nicht gesetzt und/oder negativ und/oder nicht numerisch) eingegeben wurden.
Dass ich mit
bei den Radiobuttons etwas tun muss ist mir schon klargeworden - aber WO und WIE wird es eingebaut?
Ich vermute den Hauptfehler im Skript bei diesen Abschnitten:
Zeile 48
bzw. Zeile 74
Hier das gesamt Skript:
Danke für jede Hilfe - ich bin nämlich von Seiten wie phpbox.de und dem Knowware Heft "PHP 5, leicht und verständlich" bei diesem o.g. Problem überfordert.
Gruß
bigvik :-)
ich bin blutiger Programmier- und PHP-Anfänger. Ich schreibe zur Zeit immer mal wieder Miniskripte um PHP besser zu verstehen. Jetzt habe ich ein Skript zum addieren bzw. subtrahieren von zwei Zahlen gebastelt, aber es will einfach nicht funktionieren.
Folgendes sind die Fehlfunktionen:
- Radiobuttons verlieren Auswahl nach Submit.
- Ergebnis wird nicht angezeigt.
- Nach Eingabe von zwei Zahlen und erneuter Auswahl des Operators kommt die von mir gewollte Fehlermeldung die nur kommen dürfte, wenn KEINE Zahl eingegeben wurde oder die Zahl nicht größer als Null ist. Auch wenn noch keine Zahlen eingegeben wurden.
Eigentlich sollte das Ergebnis ausgerechnet werden, und der Hinweis
erst kommen, wenn Variablen "falsch" (also nicht gesetzt und/oder negativ und/oder nicht numerisch) eingegeben wurden.
Dass ich mit
PHP:
checked="checked"
Ich vermute den Hauptfehler im Skript bei diesen Abschnitten:
Zeile 48
PHP:
if (isset($_POST['zahl_1']) && isset($_POST['zahl_2']) && is_numeric($_POST['zahl_1']) && is_numeric($_POST['zahl_2']) && ($_POST['zahl_1'] > 0) && ($_POST['zahl_1'] > 0))
PHP:
if (isset($_POST['zahl_a']) && isset($_POST['zahl_b']) && is_numeric($_POST['zahl_a']) && is_numeric($_POST['zahl_b']) && ($_POST['zahl_a'] > 0) && ($_POST['zahl_b'] > 0))
PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Adieren und Subtrahieren</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
</head>
<body>
<br><h2>Bitte wählen Sie den Operator:</h2><br><br>
<form action="<? $_SERVER['PHP_SELF'] ?>" method="post">
<table>
<tr>
<th><p>Auswahl</p></th>
<th><p>Operator</p></th>
</tr>
<td><p><br>Addieren</p></td>
<td><br><input type="radio" name="add"></td>
<tr>
<td><p>Subtrahieren</p></td>
<td><input type="radio" name="sub"></td>
</tr>
<tr>
<td><input type="submit" value="Auswahl"></td><td></td>
</tr>
</table>
</form>
<br>
<?
/* Check ob Operator "add" gesetzt, dann erste Rechnentabelle */
if (isset($_POST['add'])) {
?>
<form action="<? $_SERVER['PHP_SELF'] ?>" method="post">
<table>
<tr>
<td>Erste Zahl: </td>
<td><input type="text" name="zahl_1"></td>
</tr>
<tr>
<td>Zweite Zahl: </td>
<td><input type="text" name="zahl_2"></td>
</tr>
<tr>
<td><input type="submit" value="Addieren"></td><td></td>
</tr>
</table>
</form>
<?
/* Check ob alle Variablen gesetzt, numerisch und positiv */
if (isset($_POST['zahl_1']) && isset($_POST['zahl_2']) && is_numeric($_POST['zahl_1']) && is_numeric($_POST['zahl_2']) && ($_POST['zahl_1'] > 0) && ($_POST['zahl_1'] > 0)) {
/* Berechnung der Addition */
$zahl_1 = $_POST['zahl_1'];
$zahl_2 = $_POST['zahl_2'];
$ergebnis_1 = $zahl_1 + $zahl_2;
echo "<br><p>Das Ergebnis ist " .$ergebnis_1. ".</p>";
} else {
echo "<br><p>Die Variablen müssen numerisch und positiv sein!</p>";
}
/* Check ob Operator "sub" gesetzt, dann zweite Rechnentabelle */
} elseif (isset($_POST['sub'])) {
?>
<form action="<? $_SERVER['PHP_SELF'] ?>" method="post">
<table>
<tr>
<td>Erste Zahl: </td>
<td><input type="text" name="zahl_a"></td>
</tr>
<tr>
<td>Zweite Zahl: </td>
<td><input type="text" name="zahl_b"></td>
</tr>
<tr>
<td><input type="submit" value="Subtrahieren"></td><td></td>
</tr>
</table>
</form>
<?
/* Check ob Variablen gesetzt, positiv und numerisch */
if (isset($_POST['zahl_a']) && isset($_POST['zahl_b']) && is_numeric($_POST['zahl_a']) && is_numeric($_POST['zahl_b']) && ($_POST['zahl_a'] > 0) && ($_POST['zahl_b'] > 0)) {
/* eigentliche Subtraktion: */
$zahl_a = $_POST['zahl_a'];
$zahl_b = $_POST['zahl_b'];
$ergebnis_2 = $zahl_a - $zahl_b;
echo "<br><p>Das Ergebnis ist " .$ergebnis_2. ".</p>";
} else {
echo "<br><p>Die Variablen müssen numerisch und positiv sein!</p>";
}
} else {
echo "<br><p>Bitte wählen Sie einen Operator!</p>";
}
?>
</body>
</html>
Gruß
bigvik :-)
Zuletzt bearbeitet: