PHP Problem

netternachbar

netternachbar

Aktives Mitglied
Thread Starter
Dabei seit
12.02.2007
Beiträge
190
Reaktionspunkte
3
Hallo zusammen,

ich mache ein Kurs bei der IHK zum Web-Programmierung / Web-Management.

Wir haben eine Testaufgabe bekommen wo ich leider ein paar Probleme habe.
Wir sind beim Thema switch-case. Die Aufgabe ist es einen simplen Rechner in PHP zu erstellen. Dieser soll die Grundfunktion besitzen.Dafür haben wir ein Formular Datei in HTML und eine Datei in php (auswertung.php)

Leider wir bei Mir nichts ausgegeben.

hier ist der Inhlat der beiden Dateien:
formular.html
Code:
<html>
<head>
    <title>einfaches Formular</title>
</head>
<body>
    <h1>Hier ist ein Formular</h1>
    <p>Bitte füllen Sie das Formular aus</p>
    <form action="auswertung.php" method="POST">
    <p>
        wert1: <input type="Text" name="wert1"><br>
        wert2: <input type="Text" name="wert2"></br>
        zeichen: <input type="Text" name="z1"></br>
    </p>
<input type="submit" value="Ergebnis">
<input type="reset" value="Reset">
</body>
</html>

auswertung.php
PHP:
<?php
    $w1 = $_POST["wert1"];
    $w2 = $_POST["wert2"];
    $z1 = $_POST["z1"];
        
    switch ($z1);
     {
        case "+"
        $e = $w1+$w2;
        echo $e;
        break;
        
        case "-"
        $e = $w1-$w2;
        echo $e;
        break;
        
        case "*"
        $e = $w1*$w2;
        echo $e;
        break;
        
        case "/"
        $e = $w1/$w2;
        echo $e;
        break;
        
        default:
        echo "Leider kein Ergebnis";
    }

    
       
  
?>

Wir sind noch ziemlich am Anfang, bei PHP. Ich hoffe Ihr könnt mir helfen leider finde ich den Fehler nicht.
vielen Dank!
 
Hallo,

also eigentlich sollte der PHP-Compiler dir Fehler ausspucken.

Hinter das switch kommt kein Semikolon und hinter case kommt ein Doppelpunkt.

PHP:
<?php
    $w1 = $_POST["wert1"];
    $w2 = $_POST["wert2"];
    $z1 = $_POST["z1"];
        
    switch ($z1)
     {
        case "+":
        $e = $w1+$w2;
        echo $e;
        break;
        
        case "-":
        $e = $w1-$w2;
        echo $e;
        break;
        
        case "*":
        $e = $w1*$w2;
        echo $e;
        break;
        
        case "/":
        $e = $w1/$w2;
        echo $e;
        break;
        
        default:
        echo "Leider kein Ergebnis";
    }
?>

Edgar
 
Siehe hier
PHP:
<?php 
    $w1 = $_POST["wert1"]; 
    $w2 = $_POST["wert2"]; 
    $z1 = $_POST["z1"]; 
   
    switch ($z1)
     {  
        case "+" :
        $e = $w1+$w2; 
        echo $e; 
        break; 
   
        case "-" :
        $e = $w1-$w2; 
        echo $e; 
        break; 
   
        case "*" :
        $e = $w1*$w2; 
        echo $e; 
        break; 
   
        case "/" :
        $e = $w1/$w2; 
        echo $e; 
        break; 
   
        default: 
        echo "Leider kein Ergebnis"; 
    }  

   
   
   
?>
 
Super hat geklappt, vielen Dank.
 
Wie eddio schon schrieb, hättest Du eigentlich von PHP den entsprechenden Hinweis bekommen sollen.
Setze mal error_reporting(E_ALL);

Das vereinfacht die Fehlersuche. ;)
 
Noch ein Tipp: Ich würde mit GET anfangen, dann kann man die Seite direkt aufrufen, ohne Formular
 
Zurück
Oben Unten