PHP $ _POST不适用于HTML表单

时间:2015-02-04 05:40:54

标签: php html html5

我是php的初学者。我正在尝试为我的网站创建一个简单的表单,但它似乎无法正常工作。

这是我的php测试代码

<?php
var_dump($_POST);
var_dump($_GET);
var_dump($_REQUEST);
?>

这是我的HTML代码

<form method="post" action="emailForm.php"  name="contactForm">
  <input id="nameInput" type="text" placeholder="YOUR NAME" name="nameInput"/>
  <input id="emailInput" type="email" placeholder="YOUR EMAIL" name="emailInput"/>
  <textarea id="messageInput" placeholder="MESSAGE GOES HERE" name="messageInput"></textarea>
  <input type="submit" value="SUBMIT>>" class="wordButton" id="submitButton">
</form>

无论我在html页面的表单的文本字段中输入什么,我总能得到相同的结果。

这是打印的内容:

array (size=3)
  'nameInput' => string '' (length=0)
  'emailInput' => string '' (length=0)
  'messageInput' => string '' (length=0)

array (size=0)
  empty

array (size=3)
  'nameInput' => string '' (length=0)
  'emailInput' => string '' (length=0)
  'messageInput' => string '' (length=0)

为什么在输入值时返回空字符串?

2 个答案:

答案 0 :(得分:0)

只有在发布表单数据时才能使用它。试试 -

<?php 
$errors = '';
if (!empty($_POST['nameInput']) || !empty($_POST['emailInput']) || !empty($_POST['messageInput'])) {
    $name = $_POST['nameInput']; 
    $email_address = $_POST['emailInput']; 
    $message = $_POST['messageInput']; 
    if(!filter_var($email_address, FILTER_VALIDATE_EMAIL)) {
        $errors .= "\n Error: Invalid email address $email_address. name is:".$name."- $message";
    }  
}


?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html>
<head>
    <title>Message Submitted</title>
</head>

<body>
<?php
echo $errors;
?>


</body>
</html>

应该检查有效的电子邮件。

答案 1 :(得分:0)

你的PHP版本比php 4.1.0更旧! 更新你的PHP。