PHP Code Problem... Keine Anzeige

Ich (ein PHP anfänger) hab ein problem mit einem script... es soll 2 zahlen miteinander vergleichen und den abstand ausrechnen und anzeigen... bis jetzt siehts so aus:
index.htm:

<html>
<head>
</head>
<body>
<form action="abstand.php" method="post">
Bitte Zahl 1 eingeben
<br>
<input type="text" Size=12 name="zahl1">
<br>
Bitte Zahl 2 eingeben
<br>
<input type="text" Size=12 name="zahl2">
<p>
<input type="submit" value="Abstand messen">
</form>
</body>
</html>

also 2 variablen werden übergeben..
die abstand.php sieht so aus:

<?
$zahl1 = $HTTP_POST_VARS["zahl1"];
$zahl2 = $HTTP_POST_VARS["zahl2"];
if($zahl1 > $zahl2)
{
$zahl1 - $zahl2 = $ergebnis;
echo $ergebnis;
}
elseif($zahl1 == $zahl2)
{
echo "Der Abstand ist 0, da beide Zahlen gleich gross sind";
}
else
{
$zahl2 - $zahl1 = $ergebnis;
echo $ergebnis;
}
?>

wenn ich 2 zahlen eingeb wird aber nur eine weiße seite angezeigt... ist irgendein Fehler im code? muss ich was besonderes beachten? kann mir einer helfe?

Gruss OBI
 
$zahl2 - $zahl1 = $ergebnis;

ist falsch

$ergebnis = $zahl1 - $zahl2;

mann stellt die Variable vor den Wert den sie erhalten soll
 
Benutze statt HTTP_POST_VARS lieber _POST.
Mach statt $zahl1 - $zahl2 = $ergebnis; das hier: $ergebnis = $zahl1 - $zahl2;, ist auf jeden Fall besserer Stil (und vielleicht auch der Fehler).

Und mach es so:
PHP:
$zahl1 = $_POST["zahl1"]; 
$zahl2 = $_POST["zahl2"]; 

$ergebnis = $zahl1 - $zahl2;

if ($ergebnis == 0) echo "Zahlen sind gleich groß";
else echo "Ergebnis: ".abs($ergebnis);

//Edit argh zu spät (viel zu spät)
 
Zuletzt bearbeitet von einem Moderator:
ist "_POST" dasselbe wie "HTTP_POST_VARS"?

Danke@alle...
der Fehler lag wohl an
$var1 - $var2 = $ergebnis
also
$ergebnis = $var1 - $var2

aber was bedeutet:
.abs($ergebnis);
?

und ich breuchte noch was, was überprüft, ob überhaupt eine Zahl eingegeben wurd und wenn nicht, einen entsprechenden text ausgibt

Gruss OBI
 
Zuletzt bearbeitet:
Original geschrieben von MastaDaDesasta


und ich breuchte noch was, was überprüft, ob überhaupt eine Zahl eingegeben wurd und wenn nicht, einen entsprechenden text ausgibt

Wetten da müsstest du selber drauf kommen, wenn du mit deinem nun vorhandenen Wissen das ausprobierst.
;)
 
nicht wirklich... wie soll das gehen.. ich kann bis jetzt lediglich vergleiche anstellen... aber wie ich prüfen kann ob das eingegebene ne zahl ist weiß ich nicht

Gruss OBI
 
fu müsstest ja nich ma unbedingt überprüfen ob das eingebene ne zahl is sondern ob das feld überhaupt ausgefüllt wurde *denkanstoss geb* ;).
 
MastaDaDesasta: Die Funktion abs() liefert dir den Absolutwert einer Zahl, d.h. abs(-3) ist 3, aber abs(3) ist ebenfalls drei - im Klartext: Das Ergebnis ist immer das positive der Zahl in Klammern.

Zur Überprüfung, ob der Benutzer nur Zahlen oder auch Buchstaben eingegeben hat: Ich empfehle dir, dich mal ausführlich mit der Funtion preg_match() zu beschäftigen. ;)
 
hab grad erst angefangen... hab in alles mal kurz eingeschnuppert...
Javascript... html (kann ich inzwischen recht gut) und jetzt eben neu php (und danach mit mysql)... erst von allem die basics (die ja recht gleich sind... if/else, for... usw.

na ja... ich schaus mir mal an...

danke@all


Gruss MastaDaDesasta (mein Spitzname ist OBI ;) )
 
Zurück