Guten Abend zusammen! Ich fange langsam an zu verzweifeln und hoffe, dass ihr mir helfen könnt.
Ich versuche mich derzeitig wieder in PHP einzuarbeiten, mithilfe des kostenlosen EBooks von Galileo PHP. Ich komme auch recht gut vorran, aber bei den Formularen habe ich ein großes Problem. Meine Programme wollen partu nicht funktionieren und selbst die Musterlösungen klappen bei mir nicht. Weder auf meiner lokalen Maschine (sprich Xampp) noch auf meinem Webspace. Beide sind PHP tauglich und ein anderes Formular das auf einem anderen Rechner erstellt wurde funktioniert. Was genau mache ich bei meinen Formularen falsch?
------
<html>
<body>
Bitte tragen Sie drei unterschiedlich große Zahlen ein,
und senden Sie das Formular ab:
<form action = "ud03.php" method = "post">
<input name = "w1"> Wert 1<p>
<input name = "w2"> Wert 2<p>
<input name = "w3"> Wert 3<p>
<input type = "submit">
<input type = "reset">
</form>
</body>
</html>
Das PHP-Programm:
Listing D.4 Datei ud03.php
<html>
<body>
<?php
if ($w1 > $w2 && $w1 > $w3)
echo "$w1 ist die größte Zahl";
if ($w2 > $w1 && $w2 > $w3)
echo "$w2 ist die größte Zahl";
if ($w3 > $w1 && $w3 > $w2)
echo "$w3 ist die größte Zahl";
?>
</body>
</html>
Übung UD04
Schreiben Sie das o. a. Programm um. Es soll nun mit geschachtelten Verzweigungen ohne logische Operatoren herausgefunden werden, welche von drei gegebenen, unterschiedlich großen Zahlen-Variablen die größte ist (Datei ud04.php).
----
Dies ist zum Beispiel eine Aufgabe die ich nicht „gelöst“ bekomme. Die Lösung liegt nahe und ich wollte mehrere verschachtelte If-Anweisungen machen, aber egal, wie ich es formuliere, ich bekomme keine Ausgabe. Hier ist z.B. mein Formular und anschließend noch meine PHP Seite, die die Daten ausgeben soll.
------
<html>
<head></head>
<body>
Bitte geben Sie drei unterschiedliche Zahlen ein.
<form action = "ud03a.php" method = "get">
<input name="w1"><br>
<input name="w2"><br>
<input name="w3"><br>
<input type="Submit"> <input type="reset">
</form>
</body>
</html>
<html>
<body>
<?php
if ($HTTP_GET_VARS[w1] > $HTTP_GET_VARS[w2])
{
if ($HTTP_GET_VARS[w1] > $HTTP_GET_VARS[w3])
echo "$HTTP_GET_VARS[w1] ist die größte Zahl";
else
echo "$HTTP_GET_VARS[w3] ist die größte Zahl";
}
else
{
if ($HTTP_GET_VARS[w2] > $HTTP_GET_VARS[w3])
echo "$HTTP_GET_VARS[w2] ist die größte Zahl";
else
echo "$HTTP_GET_VARS[w3] ist die größte Zahl";
}
?>
</body>
</html>
-----
Eine andere Möglichkeit die ich probiert habe ist:
<html>
<body>
<?php
if (w1 > $w2)
{
if ($w1 > $w3)
echo "$w1 ist die größte Zahl";
else
echo "$w3 ist die größte Zahl";
}
else
{
if ($w2 > $w3)
echo "$w2 ist die größte Zahl";
else
echo "$w3 ist die größte Zahl";
}
?>
</body>
</html>
Beide Dinge klappen nicht und ich weiß nicht mehr, woran es liegen könnte. Ich hoffe ihr könnt mir helfen.
Freundliche Grüße
Apophis
Ps:
Meine PHP Version auf der lokalen Maschine ist 5.2.5 und auf dem Webspace ist es 4.4.8
Wenn benötigt kann ich auch das Formular posten, dass funktioniert. Es ist aber von der Syntax identisch, wie das oben dargestellte.
Ich versuche mich derzeitig wieder in PHP einzuarbeiten, mithilfe des kostenlosen EBooks von Galileo PHP. Ich komme auch recht gut vorran, aber bei den Formularen habe ich ein großes Problem. Meine Programme wollen partu nicht funktionieren und selbst die Musterlösungen klappen bei mir nicht. Weder auf meiner lokalen Maschine (sprich Xampp) noch auf meinem Webspace. Beide sind PHP tauglich und ein anderes Formular das auf einem anderen Rechner erstellt wurde funktioniert. Was genau mache ich bei meinen Formularen falsch?
------
<html>
<body>
Bitte tragen Sie drei unterschiedlich große Zahlen ein,
und senden Sie das Formular ab:
<form action = "ud03.php" method = "post">
<input name = "w1"> Wert 1<p>
<input name = "w2"> Wert 2<p>
<input name = "w3"> Wert 3<p>
<input type = "submit">
<input type = "reset">
</form>
</body>
</html>
Das PHP-Programm:
Listing D.4 Datei ud03.php
<html>
<body>
<?php
if ($w1 > $w2 && $w1 > $w3)
echo "$w1 ist die größte Zahl";
if ($w2 > $w1 && $w2 > $w3)
echo "$w2 ist die größte Zahl";
if ($w3 > $w1 && $w3 > $w2)
echo "$w3 ist die größte Zahl";
?>
</body>
</html>
Übung UD04
Schreiben Sie das o. a. Programm um. Es soll nun mit geschachtelten Verzweigungen ohne logische Operatoren herausgefunden werden, welche von drei gegebenen, unterschiedlich großen Zahlen-Variablen die größte ist (Datei ud04.php).
----
Dies ist zum Beispiel eine Aufgabe die ich nicht „gelöst“ bekomme. Die Lösung liegt nahe und ich wollte mehrere verschachtelte If-Anweisungen machen, aber egal, wie ich es formuliere, ich bekomme keine Ausgabe. Hier ist z.B. mein Formular und anschließend noch meine PHP Seite, die die Daten ausgeben soll.
------
<html>
<head></head>
<body>
Bitte geben Sie drei unterschiedliche Zahlen ein.
<form action = "ud03a.php" method = "get">
<input name="w1"><br>
<input name="w2"><br>
<input name="w3"><br>
<input type="Submit"> <input type="reset">
</form>
</body>
</html>
<html>
<body>
<?php
if ($HTTP_GET_VARS[w1] > $HTTP_GET_VARS[w2])
{
if ($HTTP_GET_VARS[w1] > $HTTP_GET_VARS[w3])
echo "$HTTP_GET_VARS[w1] ist die größte Zahl";
else
echo "$HTTP_GET_VARS[w3] ist die größte Zahl";
}
else
{
if ($HTTP_GET_VARS[w2] > $HTTP_GET_VARS[w3])
echo "$HTTP_GET_VARS[w2] ist die größte Zahl";
else
echo "$HTTP_GET_VARS[w3] ist die größte Zahl";
}
?>
</body>
</html>
-----
Eine andere Möglichkeit die ich probiert habe ist:
<html>
<body>
<?php
if (w1 > $w2)
{
if ($w1 > $w3)
echo "$w1 ist die größte Zahl";
else
echo "$w3 ist die größte Zahl";
}
else
{
if ($w2 > $w3)
echo "$w2 ist die größte Zahl";
else
echo "$w3 ist die größte Zahl";
}
?>
</body>
</html>
Beide Dinge klappen nicht und ich weiß nicht mehr, woran es liegen könnte. Ich hoffe ihr könnt mir helfen.
Freundliche Grüße
Apophis
Ps:
Meine PHP Version auf der lokalen Maschine ist 5.2.5 und auf dem Webspace ist es 4.4.8
Wenn benötigt kann ich auch das Formular posten, dass funktioniert. Es ist aber von der Syntax identisch, wie das oben dargestellte.
Kommentar