Einfache Frage zu PHP



  • Hallo habe mal eine einfache Frage warum reagiert mein PHP Script nicht verstehe es echt nicht.

    das die html datei

    <html>
    
    <head>
    
    </head>
    
    <body>
    
    <form action="verzweigung.php" method="post">
    Anrede <input type="radio" name="Anrede" value="m"> Herr
    <input type="radio" name="Anrede" value="w"> Frau <br>
    Ihr Name: <input type="text" name="Name">
    <input type="submit" value="Absenden">
    
    </form>
    </body>
    
    </html>
    

    das mein php code

    <html>
    <body>
    <?php
    if ($Anrede=="m") {
    echo "Hallo Herr ";
    }
    
    else { 
    echo "Hallo Frau ";
    }
    echo "<b>$Name</b>, Herzlich Willkommen!\n";
    ?>
    
    </body>
    
    </html>
    

    Ich verstehe es nicht als Ausgabe kommt nur
    Hallo Frau , Herzlich Willkommen!

    egal was ich abfrage warum reagiert meine Abfrage nicht und warum wird meine Variable Name nicht ausgegeben .

    Danke peer



  • Dieser Thread wurde von Moderator/in Marc++us aus dem Forum Rund um die Programmierung in das Forum Webzeugs verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Also ich kenne es ungef├Ąhr so:

    <input type="text" name="<?PHP echo $_POST['Name']; ?>">
    


  • Also das Formular passt schon so, aber auf die Werte greifst du dann mit $_POST['Anrede'] und $_POST['Name'] zu ­čÖé
    (Deine Variante funktioniert nur, wenn register_globals auf on ist - was wohl praktisch nirgends mehr der Fall sein wird)



  • Hallo, Vielen Dank hat mir sehr geholfen.

    das hab ich echt nicht gewu├čt so hatte ich das fr├╝her immmer gemacht und es hatte immer funktioniert.

    wie ist das mit denn register_globals ?? warum macht man das nicht mehr ?



  • Register Globals ├╝bernimmt alle dem Skript ├╝bergebene Parameter als Variablen mit entsprechendem Namen.

    Beispiel:

    <input type="text" name="myVal" id="myVal" value="" />
    

    Der Wert des Input-Feldes w├Ąre dann in PHP:
    a) mit REGISTER_GLOBALS=ON als $myVal und $_POST['myVal'],
    b) mit REGISTER_GLOBALS=OFF als $_POST['myVal']
    erreichbar.

    Warum man REGISTER_GLOBALS auf OFF stellen sollte?
    Grob gesagt, weil es genug pseudoprofessionelle Programmierer da drau├čen gegeben hat, die nicht in der Lage waren, Variablen vor ihrer Benutzung sicher zu Deklarieren ...

    EDIT:
    Guckst du hier:
    http://de.wikipedia.org/wiki/Php#Variablenmanipulation
    ­čśë


Log in to reply