PHP Fehlersuche

Kenney

Mitglied
Hallo!

Ich bin neu in PHP und habe Probleme beim Verstehen des Fehlers in diesen Quelltext;


<!doctype html>
<html lang="de">
<head>
<meta charset="utf-8">
<title>Rechner</title>
</head>
<body>
<?php
$zahl1 = floatval(isset($_POST["zahl1"]));
$zahl2 = floatval(isset($_POST["zahl2"]));
$recop = isset($_POST["recop"]);
if($recop == "/" && $zahl2 == 0)
{
echo "Diviosion durch 0 ist nicht erlaubt!";
}
else
{
echo "$zahl1 $recop $zahl2 = " .match($recop)
{
"+" => $zahl1 + $zahl2,
"-" => $zahl1 - $zahl2,
"*" => $zahl1 * $zahl2,
"/" => $zahl1 / $zahl2,
default => "Bitte wählen Sie den Rechenoperator aus!"
};
}
?>
<p>Bitte geben Sie zwei Werte ein,<br> treffen Sie eine Auswahl bei der Rechenoperation und<br> senden Sie ab:</p>
<form method="post" action="">
<p> Zahl 1 <input name="zahl1"></p>
<p> Zahl 2 <input name="zahl2"></p>
<p><input type="radio" name="recop" value="+"> Addition</p>
<p><input type="radio" name="recop" value="-"> Subratktion</p>
<p><input type="radio" name="recop" value="*"> Multiplikation</p>
<p><input type="radio" name="recop" value="/"> Division</p>
<p><input type="submit" value="Berechnen"> <input type="reset" value="Abbruch"></p>
</form>
</body>
</html>


Der Ursprung ist aus einen Buch, ich habe isset hinzugefügt um die angebenen Fehler zu meiden. Er gibt aber jetzt die eingegebenen Zahlen und das Ergebnis nicht aus. Zeigt nur für jedes Feld ein Ziffer "1".

Könnte mir da jemand helfen?
 

m.scatello

Erfahrenes Mitglied
Wieso hängst du dich an einen Thread aus dem Jahre 2005 und wieso benutzt du nicht die Formatierungsmöglichkeiten des Forums?

Der Ursprung ist aus einen Buch
So wie es aussieht, solltest du das Buch besser in die Tonne hauen.

Tipp zur Fehlersuche:

Richtig debuggen
  1. Man bemerkt, dass ein Skript nicht das tut, was es soll.
  2. Man schreibt an den Anfang des Scriptes die Zeile: error_reporting(-1);
  3. Man verwendet ini_set('display_errors', true); damit die Fehler auch angezeigt werden.
  4. Man versucht, die Stelle die daran Schuld sein kann, schonmal einzugrenzen. Falls dies nicht geht, wird zunächst das komplette Skript als fehlerhaft angesehen.
  5. An markanten Stellen im Skript lässt man sich wichtige Variableninhalte ausgeben und ggf. auch in bedingten Anweisungen eine kurze Ausgabe machen, um zu überprüfen, welche Bedingung ausgeführt wurde. Wichtig bei MySQL Fehlern (...not a valid MySQL result resource...): mysqli_error() verwenden oder Abfrage ausgeben und zb mit phpmyadmin testen.
  6. Schritt 5 wird so lange wiederholt, bis Unstimmigkeiten im Skript auffallen
  7. Damit hat man das Problem (Unstimmigkeit) gefunden und kann versuchen diese zu beheben. Hierzu dienen dann die PHP-Dokumentation und andere Quellen als Ratgeber.
  8. Lässt sich das konkrete Problem trotzdem nicht beheben, kann man in Foren um Rat fragen.
  9. Das Programm läuft und man kann die Debug-Ausgaben wieder entfernen.
 

Kenney

Mitglied
Wieso hängst du dich an einen Thread aus dem Jahre 2005 und wieso benutzt du nicht die Formatierungsmöglichkeiten des Forums?

Ich hänge daran, weil es das einzige Thema ist, was ich im Weltweiten Netzwerk gefunden habe. Das ist mein erstes Forum, ich habe die Formatierungen noch nicht beachtet.




So wie es aussieht, solltest du das Buch besser in die Tonne hauen.

Tipp zur Fehlersuche:

Richtig debuggen
  1. Man bemerkt, dass ein Skript nicht das tut, was es soll.
  2. Man schreibt an den Anfang des Scriptes die Zeile: error_reporting(-1);
  3. Man verwendet ini_set('display_errors', true); damit die Fehler auch angezeigt werden.
  4. Man versucht, die Stelle die daran Schuld sein kann, schonmal einzugrenzen. Falls dies nicht geht, wird zunächst das komplette Skript als fehlerhaft angesehen.
  5. An markanten Stellen im Skript lässt man sich wichtige Variableninhalte ausgeben und ggf. auch in bedingten Anweisungen eine kurze Ausgabe machen, um zu überprüfen, welche Bedingung ausgeführt wurde. Wichtig bei MySQL Fehlern (...not a valid MySQL result resource...): mysqli_error() verwenden oder Abfrage ausgeben und zb mit phpmyadmin testen.
  6. Schritt 5 wird so lange wiederholt, bis Unstimmigkeiten im Skript auffallen
  7. Damit hat man das Problem (Unstimmigkeit) gefunden und kann versuchen diese zu beheben. Hierzu dienen dann die PHP-Dokumentation und andere Quellen als Ratgeber.
  8. Lässt sich das konkrete Problem trotzdem nicht beheben, kann man in Foren um Rat fragen.
  9. Das Programm läuft und man kann die Debug-Ausgaben wieder entfernen.


Das Buch ist vom Lehrkörper empfohlen worden.

Dein Regelwerk ist doch sehr groß. Ich bin wirklich neu darin und verstehe nicht alle Zusammenhänge.

Deshalb bin ich froh hier meine Erfahrung zu sammeln, vertiefen zu dürfen. Vielen Dank und habe gedult mit mir.
 
Zuletzt bearbeitet:

Neue Beiträge