Formulare unter PHP

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Formulare unter PHP

    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.

  • #2
    Ich vermute mal, das sowohl register_globals als auch register_long_arrays auf OFF steht. Versuchs mal mit
    PHP-Code:

    <?php
    if ($_GET[w1] > $_GET[w2])
    {
    if (
    $_GET[w1] > $_GET[w3])
    echo 
    "$_GET[w1] ist die größte Zahl";
    else
    echo 
    "$_GET[w3] ist die größte Zahl";
    }
    else
    {
    if (
    $_GET[w2] > $_GET[w3])
    echo 
    "$_GET[w2] ist die größte Zahl";
    else
    echo 
    "$_GET[w3] ist die größte Zahl";
    }
    ?>

    Kommentar


    • #3
      Also register_global ist off, aber register_long_arrays ist on.

      Ich habe es auch direkt ausprobiert, aber es klappt auch nicht.

      Kommentar


      • #4
        Ich muss mich entschuldigen. Es klappt! Ich habe nur vergessen im ersten Dokument die Method auf get umzustellen. Danke für deine Hilfe! Ich hoffe das klappt nun

        Kommentar


        • #5
          Ich habe nur vergessen im ersten Dokument die Method auf get umzustellen
          arbeite lieber mit post. ist sicherer.

          gruß
          peter
          Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
          Meine Seite

          Kommentar


          • #6
            Eigentlich ist es auch viel sinnvoller, Formulare mit "post" abzuschicken

            Sieh dir vielleicht mal die üblichen Übertragungsweisen bei Wikipedia an:
            http://de.wikipedia.org/wiki/Hyperte...quest-Methoden

            Kommentar


            • #7
              OffTopic:

              unter Fragen/Vorschläge zum Forum steht von ihm noch ein Thread der gelöscht werden könnte.




              mfg
              bugbuster
              tutorial: peterkropff.de schattenbaum.de tut.php-quake.net
              documentation: php.net mysql.com framework.zend.com

              Die Nachtwache!

              Kommentar

              Lädt...
              X