如何打印提交的表单值?

时间:2014-10-21 08:09:25

标签: php html

为什么我无法查看我在html表单中填写的内容。我的PHP代码中的代码有问题吗?

<html>
    <head>
        <title>What's your name?</title> 
    </head> 
    <body> 
        <h1>What's your name?</h1> 
        <h3>Writing a form for user input</h3>
        <form method = "post" action = "User.php"> 
            Please type your name:
            <input type = "text" name = "userName" value = " "><br> 
            <input type = "submit">  
        </form> 
    </body> 
</html>

代码:

<html>
    <head>
        <title>Hi User</title>
    </head>
    <body>
        <h1>Hi User</h1> 
        <h3>PHP program that receives a value from "whatsName"</h3>  

    <?  
    print("<h3>Hi there , $userName </h3>");  
    ?>  
    </body>
</html>    

2 个答案:

答案 0 :(得分:3)

除非你已经注册了Globals(如果是这样你不应该把它关闭),表单变量不会自动展开,所以你需要从$_POST数组中选择它们: / p>

if($_SERVER['REQUEST_METHOD'] == 'POST'){
    print("<h3>Hi there , " . htmlspecialchars($_POST['userName']) . "</h3>");  
}

答案 1 :(得分:1)

也许您已经习惯了配置错误的服务器,并且register_globals已启用。

或许您已经转移到已移除register_globals的PHP版本,即PHP5.4或更高版本。

您应该使用正确的

来处理来自HTML <form>的所有数据
$_POST['variableName'] 

$_GET['variableName'] 

考虑到这一点,您的代码可能看起来像这样

print('<h3>Hi there , ' . $_POST['userName'] .  '</h3>');  

注意:您应该理智地检查此类数据中传递的值,并检查它是否确实存在。尽管即使register_globals已开启,您仍应该这样做。