我正在使用Raspbian运行Raspberry Pi(我认为Model B
)。我跟着instructions安装了一个Web服务器(由于部件显得过时而进行了一些调整,我还安装了telnet以便从PHP发送电子邮件)。
我在网页上有一个表单,当我将其设置为使用GET
方法var_dump($_GET)
时,会按预期返回输入数组但是当我将其设置为使用POST
方法时$_POST
和$_REQUEST
为空(var_dump
返回array(0) {}
)。
HTML
<form method="POST" enctype="text/plain" id="contactForm">
<fieldset>
<legend>Contact us:</legend>
Name:<br>
<input type="text" name="firstname" value="first name"><br>
<input type="text" name="lastname" value="last name"><br>
E-mail:<br>
<input type="text" name="mail" value="e-mail address"><br>
Phone number:<br>
<input type="text" name="phone" value="phone number"><br>
Reason for contacting:
<select form="contactForm" name="reason">
<option value="purchase">Purchase</option>
<option value="complaint">Complaint</option>
<option value="business">Business</option>
<option value="other">Other</option>
</select>
Comment:<br>
<textarea rows="12" cols="70" name="comment" form="contactF$
<input type="submit" value="Send">
</fieldset>
</form>
PHP(它是HTML文件末尾的<?PHP ?>
,我检查它是否使用debug运行):
var_dump($_POST);
var_dump($_REQUEST);
我的/usr/share/doc/debian-reference-common/html/.htaccess
和
我的/etc/php5/fpm/php.ini
文件可以找到here
答案 0 :(得分:3)
您可能需要包含<form action='page'></form>
才能使提交正常进行。除非你是AJAXing输入值。
答案 1 :(得分:0)
您可以尝试在提交按钮HTML中添加name
属性:
<input type="submit" name="submit" value="Send">
然后在PHP中检查该值:
if (isset($_POST['submit'])) {
// do stuff here
echo $_POST['firstname'] . "<br>";
echo $_POST['lastname'] . "<br>";
echo $_POST['mail'] . "<br>";
echo $_POST['phone'] . "<br>";
echo $_POST['reason'] . "<br>";
echo $_POST['comment'];
}
?>
你还应该添加一个表单动作,指向上面php所在的页面,在这种情况下,它是同一页面:
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST" id="contactForm">