Größer / Kleiner prüfen
Simsso
- php
Hallo,
ich wollte mit php programmieren, dass überprüft wird, ob die eingegebenen Werte größer oder kleiner als der andere sind.
Dazu habe ich den folgenden code:
<form method="POST" action="index.php" style="background-color: #ddf; padding:0px; border:0px solid #ddd;">
<b>Ist der Wert <input name="zahl1" size="6" maxlength="20" />
<select name="rz">
<option value="kleiner"><</option>
<option value="groesser">></option>
</select>
<input name="zahl2" size="6" maxlength="20" />
<input type=submit name=submit1 value="?" /></b>
</form>
<?php
if (!empty($_POST["submit1"]))
{
$_zahl1 = $_POST["zahl1"];
$_zahl2 = $_POST["zahl2"];
$_rz = $_POST["rz"];
if ($_rz == "kleiner") {
if ($_zahl1 < $_zahl2) {
§c = ja;
}
else {
§c = nein;
}
}
if ($_rz == "groesser") {
if ($_zahl1 > $_zahl2) {
§c = ja;
}
else {
§c = nein;
}
}
echo "Rechnung: Ist der Wert " . $_zahl1 . " " . $_rz . " " . $_zahl2 . " = " . $c . ".<br />";
echo "<b>Ergebnis: " . $c . "</b>";
}
?>
Man hat am Anfang die 2 Input Felder für die Werte, dazwischen das select Feld für die Auswahl, ob man größer oder kleiner prüfen möchte (</>).
Aber es kommt immer eine Fehlermeldung.
Wisst ihr woran das liegt?
Findet ihr einen Syntax Fehler?
Gruß
Hallo,
Aber es kommt immer eine Fehlermeldung.
Diese Lesen und verstehen oder posten.
Gruß
jobo
Hi,
die Fehlermeldung lautet:
Parse error: syntax error, unexpected '=' in /hp/bw/ab/mc/www/Rechner/index.php on line 122
obwohl du wissen musst, dass das der Code viel länger ist und linie 122 hier ist: "§c = ja;"
Sprich hier:
<form method="POST" action="index.php" style="background-color: #ddf; padding:0px; border:0px solid #ddd;">
<b>Ist der Wert <input name="zahl1" size="6" maxlength="20" />
<select name="rz">
<option value="kleiner"><</option>
<option value="groesser">></option>
</select>
<input name="zahl2" size="6" maxlength="20" />
<input type=submit name=submit1 value="?" /></b>
</form>
<?php
if (!empty($_POST["submit1"]))
{
$_zahl1 = $_POST["zahl1"];
$_zahl2 = $_POST["zahl2"];
$_rz = $_POST["rz"];
if ($_rz == "kleiner") {
if ($_zahl1 < $_zahl2) {
§c = ja;
}
else {
§c = nein;
}
}
if ($_rz == "groesser") {
if ($_zahl1 > $_zahl2) {
§c = ja; [Zeile 122]
}
else {
§c = nein;
}
}
echo "Rechnung: Ist der Wert " . $_zahl1 . " " . $_rz . " " . $_zahl2 . " = " . $c . ".<br />";
echo "<b>Ergebnis: " . $c . "</b>";
}
?>
Hi,
Aber es kommt immer eine Fehlermeldung.
dann komm bloß nicht auf die Idee, diese Fehlermeldung zu lesen, oder uns gar zu verraten. ;-)
Im Ernst: Lies sie! Sie verrät dir normalerweise, WAS falsch ist und WO. Okay, manchmal kann sie auch ein wenig irreführend sein, aber sie gibt zumindest einen Anhaltspunkt.
Findet ihr einen Syntax Fehler?
Erstmal ein Deppen Leer Zeichen.
Und ja, Syntaxfehler auch. Mehrmals den gleichen:
§c = ja;
§c = nein;
§c = ja;
§c = nein;
Das Paragraphenzeichen ist wahrscheinlich ein Tipp-Unfall. Und die Konstanten ja und nein hast du nirgends definiert.
$_zahl1 = $_POST["zahl1"];
$_zahl2 = $_POST["zahl2"];
$_rz = $_POST["rz"];
Und wozu das Umkopieren der Parameter? Auch wenn es immer wieder gemacht wird - es ist sinnlos!
So long,
Martin
Findet ihr einen Syntax Fehler?
Erstmal ein Deppen Leer Zeichen.
Im m er h i n n ur e in s .
Moin
<form method="POST" action="index.php" style="background-color: #ddf; padding:0px; border:0px solid #ddd;">
<b>Ist der Wert <input name="zahl1" size="6" maxlength="20" />
<select name="rz">
<option value="kleiner"><</option>
<option value="groesser">></option>
</select>
<input name="zahl2" size="6" maxlength="20" />
<input type=submit name=submit1 value="?" /></b>
</form>
<?php
if (!empty($_POST["submit1"]))
{
$_zahl1 = $_POST["zahl1"];
$_zahl2 = $_POST["zahl2"];
$_rz = $_POST["rz"];
Warum dieses Umkopieren? Nutze die $_POST-Array Werte doch einfach ohne vorher umzukopieren. Damit wird die Herkunft der Variablen verschleiert.
if ($_rz == "kleiner") {
if ($_zahl1 < $_zahl2) {
§c = ja;
§????
Außerdem müssen Strings in Hochkommas geschrieben sein. Also $c='ja';
}
else {
§c = nein;
}
}
if ($_rz == "groesser") {
if ($_zahl1 > $_zahl2) {
§c = ja;
}
else {
§c = nein;
}
}
Das kann man einfacher fassen. Z.B.
// $c auf nein setzen
$c='nein';
// Prüfen ob Bedingungen stimmen und gegebenenfalls auf ja setzen
if (($_POST['rz']=="kleiner" && $_POST['zahl1']< $_POST['zahl2']) || ($_POST['rz']=="groesser" && $_POST['zahl1']> $_POST['zahl2']))
{
$c='ja';
}
// Ausgabe
echo 'Ist '.$POST['zahl1'].' '.$_POST['rz'].' '.$_POST['zahl2'].'? <br />';
echo 'Ergebnis: '.$c.'<br/>';
echo "Rechnung: Ist der Wert " . $_zahl1 . " " . $_rz . " " . $_zahl2 . " = " . $c . ".<br />";
echo "<b>Ergebnis: " . $c . "</b>";
}
?>
Deine Ausgabe verstehe ich nicht ganz. Deshalb hatte ich mal geraten. Wenn du uns zukünftig eine Fehlermeldung präsentierst können wir eventuell besser helfen.
Gruß Bobby
Hallo,
so sähe mein Testfall aus:
<?php
$_POST["rz"] = "groesser";
//~ $_POST["rz"] = "kleiner";
//~ $_POST["zahl1"] = 2;
$_POST["zahl1"] = 3;
$_POST["zahl2"] = 2;
//~ $_POST["zahl2"] = 3;
var_dump($_POST);
if (isset($_POST["zahl1"])) {
if ($_POST["rz"] == "groesser") {
$res = $_POST["zahl1"] > $_POST["zahl2"];
} else {
$res = $_POST["zahl1"] < $_POST["zahl2"];
}
}
?>
<p>Ergebnis: </p>
<p>
<?php echo $_POST["zahl1"]?>
ist
<?php if (!$res):?>
nicht
<?php endif?>
<?php echo $_POST["rz"]?>
als
<?php echo $_POST["zahl2"]?>
</p>
Gruß
jobo
Hi,
if ($_zahl1 < $_zahl2) {
§c = ja;
}
Willst du PHP programmieren - oder Gesetze erlassen?
Das Zeichen, mit dem in PHP Variablen eingeleitet werden, ist *nicht* das Paragraphen-Zeichen.
Bitte beschäftige dich wenigstens so weit mit den Grundlagen der Syntax von PHP, dass du die Ursache solch dämlicher Fehler in Zukunft selber finden kannst.
MfG ChrisB