Warum funktioniert mein PHP-code nicht?

nartimus

Grünschnabel
Ich habe mir die cd PHP 5/MySQL5 gekauft und bei dem taschenrechenr den man dort Programmiert eine änderung vorgenommer aber ich weis nicht warum es nicht geht:
<html>
<title>taschenrechner</title>
<body>
<?php

if(isset($_POST["op1"])){

$op1 = $_POST["op1"];
$op2 = $_POST["op2"];
$ergebnis = 0;



if(isset($_POST["plus"]))
$ergebnis = $op1 + $op2
$op3 = +
else if(isset($_POST["minus"]))
$ergebnis = $op1 - $op2
$op3 = -
else if(isset($_POST["mal"]))
$ergebnis = $op1 * $op2
$op3 = *
else if(isset($_POST["durch"]))
$ergebnis = $op1 / $op2

echo"<form action='taschenrechner.php' method='post'>",
"<input type='text' name='op1' value='$op1' size='5'/>",
"<input type='text' name='op2' value='$op2' size='5'/>",
"<input type='submit' name='plus' value='+'/>",
"<input type='submit' name='minus' value='-'/>",
"<input type='submit' name='mal' value='*'/>",
"<input type='submit' name='durch' value='/'/>",
"<br/>",
"$op1 $op3 $op2 = $ergebnis",
"</form>";




}
else {

echo"<form action='taschenrechner.php' method='post'>",
"<input type='text' name='op1' size='5'/>",
"<input type='text' name='op2' size='5'/>",
"<input type='submit' name='plus' value='+'/>",
"<input type='submit' name='minus' value='-'/>",
"<input type='submit' name='mal' value='*'/>",
"<input type='submit' name='durch' value='/'/>",
"<br/>",
"$op1 $op3 $op2 = $ergebnis",
"</form>";
}
?>
</body>
</html>

in meinem firefox sieht das allerdings dann so aus:
", "[textfeld]", "[textfeld]", "[button: +]", "[button: -]", "[button: *]", "[button: /]", "
", "$op1 $op3 $op2 = $ergebnis", ""; } else { echo"
", "[textfeld]", "[textfeld]", "[button: +]", "[button: -]", "[button: *]", "[button: /]", "
", "$op1 $op3 $op2 = $ergebnis", "
"; } ?>

schon mal danke an alle die sich die mühe machen mein code durchzulesen/oder auch ncoh zu antworten ;-)

gruß Nartimus
 
Zuletzt bearbeitet:
PHP:
<html>
<title>taschenrechner</title>
<body>
<?php

if(isset($_POST["op1"])){

$op1 = $_POST["op1"];
$op2 = $_POST["op2"];
$ergebnis = 0;



if(isset($_POST["plus"]))
$ergebnis = $op1 + $op2
$op3 = +
else if(isset($_POST["minus"]))
$ergebnis = $op1 - $op2
$op3 = -
else if(isset($_POST["mal"]))
$ergebnis = $op1 * $op2
$op3 = *
else if(isset($_POST["durch"]))
$ergebnis = $op1 / $op2

echo"<form action='taschenrechner.php' method='post'>
<input type='text' name='op1' value='$op1' size='5'/>
<input type='text' name='op2' value='$op2' size='5'/>
<input type='submit' name='plus' value='+'/>
<input type='submit' name='minus' value='-'/>
<input type='submit' name='mal' value='*'/>
<input type='submit' name='durch' value='/'/>
<br/>";
$op1 $op3 $op2 = $ergebnis
echo"</form>";
}
else 
{
echo"<form action='taschenrechner.php' method='post'>
<input type='text' name='op1' size='5'/>
<input type='text' name='op2' size='5'/>
<input type='submit' name='plus' value='+'/>
<input type='submit' name='minus' value='-'/>
<input type='submit' name='mal' value='*'/>
<input type='submit' name='durch' value='/'/>
<br/>";
$op1 $op3 $op2 = $ergebnis
echo"</form>";
}
?>
</body>
</html>

Versuch es mal so
 
Mit fallen ein paar fehlende geschweifte Klammern, Semikolons und Anführungszeichen auf. Als Beispiel:
PHP:
if(isset($_POST["plus"])) {
	$ergebnis = $op1 + $op2;
	$op3 = "+";
}
 
Hi,

hab' auch noch einen:

PHP:
$op1 $op3 $op2 = $ergebnis

Das dürfte einen Parse-Error geben. Hier wolltest Du vermutlich eine Ausgabe der Berechnung haben:

PHP:
echo "$op1 $op3 $op2 = $ergebnis";

LG
 
schon mal danke für deine hilfe jetzt sieht es schon ein bisschen besser aus allerdings geht es immer noch nicht ganz denn jetzt sieht es so aus:

[textfeld][textfeld][button: +][button: -][button: *][button: /]
"; $op1 $op3 $op2 = $ergebnis echo""; } else { echo"
[textfeld][textfeld][button: +][button: -][button: *][button: /]
"; $op1 $op3 $op2 = $ergebnis echo"
"; } ?>

also sind jetzt schon mal diese: ", " die da waren weg allerdings funktioniert es trozdem nicht... und in den feldern steht jetzt auch op1 und op2 was ja eigentlich nicht sein sollte... sondern eigentlich sollte ja der wert von der wariablen $op1 und $op2 drin stehen...

danke für weitere antworten...
 
Hi,

poste mal die aktuelle Version Deines Codes, aber bitte in PHP-Tags und eingerückt, wenn's geht, sonst tränen die Augen... ;)

LG
 
kein proplem :)

PHP:
<html>
<title>taschenrechner</title>
<body>
<?php

if(isset($_POST["op1"])){

	$op1 = $_POST["op1"];
	$op2 = $_POST["op2"];
	$op3 = 0;
	$ergebnis = 0;



			 if(isset($_POST["plus"])){
				$ergebnis = $op1 + $op2;
				$op3 = "+";
                 }
		else if(isset($_POST["minus"])){
				$ergebnis = $op1 - $op2;
				$op3 = "-";
                 }
		else if(isset($_POST["mal"])){
				$ergebnis = $op1 * $op2;
				$op3 = "*";
                 }
		else if(isset($_POST["durch"])){
				$ergebnis = $op1 / $op2;
				$op3 = "/";
		 }

	echo	"<form action='taschenrechner_v2.php' method='post'>
			<input type='text' name='op1' value='$op1' size='5'/>
			<input type='text' name='op2' value='$op2' size='5'/>
			<input type='submit' name='plus' value='+'/>
			<input type='submit' name='minus' value='-'/>
			<input type='submit' name='mal' value='*'/>
			<input type='submit' name='durch' value='/'/>
			<br/>";
	echo	"$op1 $op3 $op2 = $ergebnis";
	echo	"</form>";
}
else {

	echo	"<form action='taschenrechner_v2.php' method='post'>
			<input type='text' name='op1' size='5'/>
			<input type='text' name='op2' size='5'/>
			<input type='submit' name='plus' value='+'/>
			<input type='submit' name='minus' value='-'/>
			<input type='submit' name='mal' value='*'/>
			<input type='submit' name='durch' value='/'/>
			<br/>";
	echo	"</form>";
}
?>
</body>
</html>
 
Zuletzt bearbeitet:
Hi,

Du musst auch alle Hinweise beachten:

Gumbo hat gesagt.:
Mit fallen ein paar fehlende geschweifte Klammern, Semikolons und Anführungszeichen auf. Als Beispiel:
PHP:
if(isset($_POST["plus"])) {
	$ergebnis = $op1 + $op2;
	$op3 = "+";
}

Die Syntax ist ja immer noch Murks:

PHP:
        if(isset($_POST["plus"]))
                $ergebnis = $op1 + $op2
                $op3 = +
        else if(isset($_POST["minus"]))
                $ergebnis = $op1 - $op2
                $op3 = -
        else if(isset($_POST["mal"]))
                $ergebnis = $op1 * $op2
                $op3 = *
        else if(isset($_POST["durch"]))
                $ergebnis = $op1 / $op2
                $op3 = /

LG
 
Hi,

und? Läuft's jetzt? Ich würde noch das echo "$op1 $op3 $op2 = $ergebnis"; aus dem else-Zweig (wenn $_POST['op1'] nicht gesetzt ist) herausnehmen.

LG
 

Neue Beiträge

Zurück