Wo liegt der Fehler?

11/25/2013 14:03 Jead_10#1
Ich finde einfach den Fehler nicht:

Html datei:

HTML Code:
<html>
<head><link rel="stylesheet" type="text/css" href="http://edu4u.eu/moodle/theme/standard/styles.php" />

<title>02 Berechnungen und strukturierte Ausgabe</title>
</head>
<body>
<h3>Der Online-Steuerrechner</h3>

<form action="mwst.php" method="post">
Wählen Sie einen MwSt-Satz aus:
<select name="mwst_satz" size="1">
	<option value=0.19>19%
	<option value=0.07>7%
</select><br><br>
Geben Sie den Nettobetrag ein:&nbsp;<input type="Text" name="betrag" size="6"><br><br>
<input type="Submit" name="berechnen">
</form>
</body>
</html>
Php:
PHP Code:
<html>
  <head>
   <title>Rechner</title>
  </head>
  <body>
  <?php
   $a 
1.19;
   
$b 1.07;
      
$c = !isset ($_GET['betrag']);
   
$wert1 $a*$c;
   
$wert2 $b $c;
   echo 
"Der Bruttobetrag betraegt   $wert1;
  
?>
  </body>
  </html>
Ich versuche es mit EasyPHP, es soll einfach nur die mwst raufgerechnet werden. Einmal mit 7% und einmal mit 19%..
11/25/2013 14:29 snow#2
Was wird bei dir denn als Fehler angezeigt / was funktioniert nicht?

Ich würde ja auf das $c = !isset tippen, das ist dann einfach 0 / 1. Oh, und du überträgst die Daten via POST Request, liest aber dein $_GET Array aus, da ist die Variable nicht, die ist in $_POST.
Und um Variablen auszugeben, benötigst du meines Wissens nach {$var} und nicht $var. :)
11/25/2013 14:31 Jead_10#3
Habs gelöst, habe hilfe per pn bekommen. Wenn es jemanden interessiert lade ich es gerne hoch.
11/25/2013 14:35 Syntaxfehler#4
Mal sehen...

HTML Code:
<html>
<head><link rel="stylesheet" type="text/css" href="http://edu4u.eu/moodle/theme/standard/styles.php" />

<title>02 Berechnungen und strukturierte Ausgabe</title>
</head>
<body>
<h3>Der Online-Steuerrechner</h3>

<form action="mwst.php" method="post">
Wählen Sie einen MwSt-Satz aus:
<select name="mwst_satz" size="1">
	<option value="0.19">19%</option>
	<option value="0.07">7%</option>
</select><br><br>
Geben Sie den Nettobetrag ein:&nbsp;<input type="Text" name="betrag" size="6"><br><br>
<input type="Submit" name="berechnen">
</form>
</body>
</html>
Du verschickst die Daten per POST, also musst du sie aus $_POST holen.

PHP Code:
$c = !isset ($_GET['betrag']); 
liefert dir nicht das, was in "betrag" drin steht, sondern nur ein Boolean, ob diese Variable nicht (wegen dem "!") existiert.

Hier mal ein angepasstes Script:

PHP Code:
<html>
  <head>
   <title>Rechner</title>
  </head>
  <body>
  <?php
   $betrag 
= (isset($_POST['betrag'])) ? $_POST['betrag'] : 0;
   
$mwst = (isset($_POST['mwst_satz'])) ? $_POST['mwst_satz'] : 0;

   if(
$mwst != 0)
   {
     
$mwst $mwst;

     
$wert $betrag $mwst;
     echo 
'Der Bruttobetrag betr&aauml;gt '.$wert;
   }
   else
   {
     echo 
'Ein Fehler ist aufgetreten!';
   }
  
?>
  </body>
</html>
Das sollte so laufen.


Edit: Jetzt war ich zu langsam... ich lass es trotzdem mal so stehen.