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
    😉


Anmelden zum Antworten