Fehler bei Tarifberechnung
Rene Grassegger
- php
Hallo Leute,
ich soll einen kleine Berechnung durchführen. Dazu habe ich aus einem CSV-File eine <select>-Box erzeugt.
Durch Eingabe eines 2. Wertes soll ein Restguthaben an Minuten anzeigen.
Hier wird die Auswahlliste aus einem CSV erzeugt (funktioniert einwandfrei):
<?php
//Name der Länderdatei
$datei ="test.csv";
//Trennzeichen in Länderseite
$separator =";";
function lesenLaender() {
global $datei, $separator;
$fp = fopen($datei, 'r');
echo ("\n");
echo ("<select value="laender">");
echo ("\n");
while ($zeile = fgetcsv($fp, 512, $separator)) {
echo ("<option value="$zeile[1]">");
echo ("$zeile[0]</option>");
echo ("\n");
}
echo ("</select>");
echo ("\n");
}
?>
Im 2. Teil rufe ich die Funktion aus dem 1. Teil auf und möchte eine kleine Berechnung machen und am Ende das Guthaben in Minuten angeben:
<?php
include("index.php");
function guthabenBerechnung() {
if (!isset($_POST['Submit'])) {
$erg = bcdiv($_POST['Guthaben'], $_POST['laender'], 4);
echo("Sie haben noch $erg Minuten zur Verfügung");
} else {
echo ("Forumlar absenden");
}
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="Post">
<input type="Text" name="Guthaben" value="" size="" maxlength=""><?php lesenLaender();?>
<input type="Submit" name="Submit" value="Go">
</form>
<?php guthabenBerechnung();?>
Irgendwie kriege ich das nicht hin. Hat bitte jemand einen Tipp für mich, wo der Fehler liegt.
Danke für eure Hilfe.
Gruß aus Salzburg
Rene
function lesenLaender() {
echo ("<select value="laender">");
Das soll doch bestimmt name="laender" heißen, oder?
echo ("<option value="$zeile[1]">");
echo ("$zeile[0]</option>");
Hier wäre nebenbei bemerkt
echo ("<option value="".htmlentities($zeile[1])."">");
echo (htmlentities($zeile[0])."</option>");
nutzenswert.
function guthabenBerechnung() {
if (!isset($_POST['Submit'])) {
--------^
$erg = bcdiv($_POST['Guthaben'], $_POST['laender'], 4);
Dieses if funktioniert falsch rum: Wenn $_POST["submit"] gesetzt ist, soll das Guthaben ausgerechnet werden. Vielleicht wäre es auch sinnvoll, statt auf den Absendeknopf auf die tatsächlich verwendeten Variablen zu prüfen.
if ((isset($_POST["guthaben"])) && (isset($_POST["laender"))) {
Gruß,
soenk.e
Hi Sönke,
vielen Dank für deine Hilfe, das probiere ich gleich umzusetzen.
Danke!
Gruss aus Salzburg
Rene