Archiv verlassen und diese Seite im Standarddesign anzeigen : Variable in Formular multiplizieren
hallo,
ich habe folgendes problem:
zwei checkboxen:
<input type="checkbox" name="sprit[]" value="6.5" checked>
<input type="checkbox" name="sprit[]" value="6.8">
lt. meinen bisherigen kenntnissen sollte ich jetzt die variable $sprit verwenden können.
nun will ich die weiter unten als faktor für eine multiplikation verwenden:
// $sprit soll jetzt mit dem input field multipliziert werden
// jedoch erschein genau an dieser stelle die fehlermeldung
// Unsupported operand types und das in der zeile in der ich mit $sprit multipliziere
<input name="gewicht_sprit_links" value=<?php echo "\"$gewicht_sprit_links\""; ?> size="8">
<?PHP
$status = $HTTP_GET_VARS["status"];
$r7 = $gewicht_sprit_links * $sprit;
?>
//das ergebnis wird dann nochmal mittels hidden field multipliziert:
<input type=HIDDEN name="faktor7" value="-17.2">
<?PHP
$status = $HTTP_GET_VARS["status"];
$r8 = $r7 * $faktor7;
echo "$r8";
?>
Suche schon tagelang diverse foren nach einer problemlösung durch - werde aber nicht fündig - kann mir bitte bitte jemand helfen?
vielen Dank i.v.
konschi
XGremliN 17-12-2003, 14:55 Laut dem was du geschrieben hast kann es ja nicht gehen. Wann schickst du denn das Formular ab, wo die Checkboxen drin stehen?
Laute deinen Erläuterungen gar nicht.
hab ja nur einen teil rauskopiert -
oben steht natürlich:
<FORM ACTION="script.php" METHOD="GET">
und am ende:
<INPUT TYPE=SUBMIT VALUE="rechnen">
</FORM>
meinst du das?
konschi
XGremliN 17-12-2003, 15:03 Wenn aber sonst alles in einem Script steht kanns nicht gehen, ohne dass du das Script erstmal absendest. Machst du das?
das formular funktioniert ja - wenn ich z.b. statt der variable $sprit eine zahl einsetze funktionierts ja problemlos - mir geht es jetzt rein, darum, dass ich die variable nicht an die multiplikation übergeben kann und nicht so recht weiß wieso...
konschi
schmalle 17-12-2003, 15:10 benutze einfach mal die korrekte schreibweise: $_GET['sprit']
ich hab jetzt folgendes versucht:
$r7 = $gewicht_sprit_links * $_GET['sprit'];
fehlermeldung:
Unsupported operand types in ..... und die zeilennummer in der das steht
schmalle 17-12-2003, 15:21 so: if(isset($_GET['sprit'])) {
$r7 = $gewicht_sprit_links * $_GET['sprit'];
} else { echo "bitte form absenden!"; }
*schluchz* - nein, funktioniert einfach nicht.
immer wieder dieselbe fehlermeldung. würde der ganze code helfen?
schmalle 17-12-2003, 15:30 ich bin auch wirr heute: if(isset($_GET['sprit'])) {
$r7 = $_GET['gewicht_sprit_links'] * $_GET['sprit'];
} else { echo "bitte form absenden!"; }
leider auch nicht - die "übliche" fehlermeldung.
schmalle 17-12-2003, 15:39 ersetze mal $_GET[ durch $HTTP_GET_VARS[
wenn das auch nicht hilft, poste bitte die ganze seite / script
ok - wie angekündigt - bitte nicht lachen - bin noch anfänger:
die entsprechende zeile hab ich mit einem kommentar versehen.
<FORM ACTION="oexak_seitlich.php" METHOD="GET">
<input type="checkbox" name="sprit[]" value="6.5" checked>
95 Oktan<br>
<input type="checkbox" name="sprit[]" value="6.8">
98 Oktan <br>
<br>
<table width="600" border="0" cellspacing="0" cellpadding="0">
<tr valign="middle">
<td width="200" height="25" bgcolor="#f7f7f7">Gewicht Pilot (lbs):
<input type=HIDDEN name="faktor1" value="-13.8">
</td>
<td width="100" height="25" bgcolor="#f7f7f7">
<INPUT name="gewicht_pilot" value=<?php echo "\"$gewicht_pilot\""; ?> size="8">
</td>
<td width="150" height="25" bgcolor="#f7f7f7">
<div align="right">Moment Pilot:</div>
</td>
<td width="100" height="25" bgcolor="#f7f7f7">
<div align="right">
<?PHP
$status = $HTTP_GET_VARS["status"];
$r1 = $gewicht_pilot * $faktor1;
echo "$r1";
echo "<BR>";
?>
</div>
</td>
</tr>
<tr valign="middle">
<td width="200" height="25">Gewicht Co-Pilot (lbs):
<input type=HIDDEN name="faktor2" value="13.8">
</td>
<td width="100" height="25">
<input name="gewicht_copilot" value=<?php echo "\"$gewicht_copilot\""; ?> size="8">
</td>
<td width="150" height="25">
<div align="right">Moment Co-Pilot:</div>
</td>
<td width="100" height="25">
<div align="right">
<?PHP
$status = $HTTP_GET_VARS["status"];
$r2 = $gewicht_copilot * $faktor2;
echo "$r2";
echo "<BR>";
?>
</div>
</td>
</tr>
<tr valign="middle">
<td width="200" height="25" bgcolor="#f7f7f7">Gewicht Passagier Mittelsitz
(lbs):
<input type=HIDDEN name="faktor3" value="0.75">
</td>
<td width="100" height="25" bgcolor="#f7f7f7">
<input name="gewicht_passagiere" value=<?php echo "\"$gewicht_passagiere\""; ?> size="8">
</td>
<td width="150" height="25" bgcolor="#f7f7f7">
<div align="right">Moment Passagiere:</div>
</td>
<td width="100" height="25" bgcolor="#f7f7f7">
<div align="right">
<?PHP
$status = $HTTP_GET_VARS["status"];
$r3 = $gewicht_passagiere * $faktor3;
echo "$r3";
echo "<BR>";
?>
</div>
</td>
</tr>
<tr valign="middle">
<td width="200" height="25">Linker Tank (Gal):
<input type=HIDDEN name="faktor7" value="-17.2">
</td>
<td width="100" height="25">
<input name="gewicht_sprit_links" value=<?php echo "\"$gewicht_sprit_links\""; ?> size="8">
<?PHP
$status = $HTTP_GET_VARS["status"];
//hier tritt das problem auf, wenn ich hier z.b. die zahl 10 einsetze funktioniert es...
$r7 = $gewicht_sprit_links * $sprit;
?>
</td>
<td width="150" height="25">
<div align="right">Moment linker Tank:</div>
</td>
<td width="100" height="25">
<div align="right">
<?PHP
$status = $HTTP_GET_VARS["status"];
$r8 = $r7 * $faktor7;
echo "$r8";
echo "<BR>";
?>
</div>
</td>
</tr>
<tr valign="middle">
<td width="200" height="25">Rechter Tank (Gal):
<input type=HIDDEN name="faktor4" value="18">
</td>
<td width="100" height="25">
<input name="gewicht_sprit" value=<?php echo "\"$gewicht_sprit\""; ?> size="8">
<?PHP
$status = $HTTP_GET_VARS["status"];
$r9 = $gewicht_sprit * $sprit;
?>
</td>
<td width="150" height="25">
<div align="right">Moment rechter Tank:</div>
</td>
<td width="100" height="25">
<div align="right">
<?PHP
$status = $HTTP_GET_VARS["status"];
$r10 = $r9 * $faktor4;
echo "$r10";
echo "<BR>";
?>
</div>
</td>
</tr>
<tr valign="middle" bgcolor="#f7f7f7">
<td width="200" height="25">
<input type=HIDDEN name="faktor5" value="1166">
</td>
<td width="100" height="25">
<input type=HIDDEN name="faktor6" value="100.79">
</td>
<td width="150" height="25">
<div align="right">Moment Hubschrauber:</div>
</td>
<td width="100" height="25">
<div align="right">
<?PHP
$status = $HTTP_GET_VARS["status"];
$r5 = $faktor5 * $faktor6;
echo "$r5";
echo "<BR>";
?>
</div>
</td>
</tr>
<tr valign="bottom">
<td width="200" height="25">
<div align="right">Summe Gewichte: </div>
</td>
<td width="100" height="25">
<?PHP
$gewichtsumme = $gewicht_pilot + $gewicht_copilot + $gewicht_passagiere + $r7 +$r9 + $faktor5;
echo "$gewichtsumme";
?>
</td>
<td width="150" height="25">
<div align="right">Summe Momente:</div>
</td>
<td width="100" height="25">
<div align="right">
<?PHP
$momentsumme = $r1 + $r2 + $r3 + $r10 + $r5 + $r8;
echo "$momentsumme";
?>
</div>
</td>
</tr>
</table>
<b><br>
Seitlicher Schwerpunkt </b> <b>
<?PHP
$status = $HTTP_GET_VARS["status"];
if($status == "gelesen")
$seitlicher_schwerpunkt = $momentsumme / $gewichtsumme;
echo "$seitlicher_schwerpunkt";
?>
</b><BR>
<BR>
<INPUT TYPE=SUBMIT VALUE="rechnen">
<BR>
<INPUT TYPE=HIDDEN NAME="status" VALUE="gelesen">
<br>
</FORM>
schmalle 17-12-2003, 16:02 aha, sprit ist ein array. du musst mal aus deinen checkboxen einen radio machen. ist einfacher zu handeln.
und wenn du php version >= 4.1 hast benutze doch $_GET['name_der_var'] wenn version < 4.1 $HTTP_GET_VARS['name']
ps was soll das: $status = $HTTP_GET_VARS["status"];
???
"ps was soll das: $status = $HTTP_GET_VARS["status"];
???"
der verhindert eine anzeige "division by zero" ganz am schluss.
verwende PHP Version 4.3.3
hab jetzt folgendes gemacht:
Radiobuttons:
<input type="radio" name="sprit[]" value="6.5" checked>
95 Oktan
<br>
<input type="radio" name="sprit[]" value="6.8">
98 Oktan <br>
und bei der Multiplikation:
<?PHP
$status = $HTTP_GET_VARS["status"];
$r7 = $gewicht_sprit_links * $_GET['sprit'];
?>
ist das so wie du meintest? - funktioniert leider nicht...
liegts evt an den values 6.5 und 6.8?
schmalle 17-12-2003, 16:19 <input type="radio" name="sprit" value="6.5" checked> lass mal die [] weg, sonst ist es wieder ein array
jaaa - das ist es - vielen vielen dank - kann man das praktisch mit Liste/Menü machen?
konschi
schmalle 17-12-2003, 16:27 Original geschrieben von konschi
jaaa - das ist es - vielen vielen dank - kann man das praktisch mit Liste/Menü machen? schwere geburt :) ja kann man(n) / frau auch
|