Php 没有从表单提交数据
我创建了一个只包含一个字段的简单HTML表单。当我按下submit键时,我编写的一些PHP代码将被调用并输出文本,如果一切正常,这些文本将包括提交的数据。但是PHP不会打印任何提交的文本。该表单已在Godaddy HTML页面上创建,表单如下所示:Php 没有从表单提交数据,php,html,forms,Php,Html,Forms,我创建了一个只包含一个字段的简单HTML表单。当我按下submit键时,我编写的一些PHP代码将被调用并输出文本,如果一切正常,这些文本将包括提交的数据。但是PHP不会打印任何提交的文本。该表单已在Godaddy HTML页面上创建,表单如下所示: <FORM BORDER="1" action="http://www.bestpro.com.au/wordpress/PHB_action.php" method="post" enctype="application/x-ww
<FORM BORDER="1" action="http://www.bestpro.com.au/wordpress/PHB_action.php"
method="post" enctype="application/x-www-form-urlencoded"
eenctype="multipart/form-data" name="PHBForm" accept-charset="ISO-8859-1"
ienctype="text/plain">
<TABLE>
<TR>
<TD>First name:</TD><TD><INPUT type="text" name="firstname" id="firstname"></TD>
<TD></TD><TD></TD>
<TD> </TD><TD> </TD>
</TR>
<TR>
<TD> </TD><TD> </TD>
<TD> </TD><TD></TD>
<TD> </TD><TD><input type="submit" value="Submit"></TD>
</TABLE>
</FORM>
This is where we end up.
Using `$_POST["firstname"]` which outputs nothing.
Using `htmlspecialchars($_POST["firstname"])` which also outputs nothing.
问题:
PHP输出不包括我在字段中输入的值。
有人能看到我的错误吗?您的输入字段应该在标记内,方法应该是post。比如:
<html>
<body>
<Form method=post>
<input id=mytextfield name=mytextfield type=text />
<input type=submit value=Submit />
</Form>
</body>
</html>
我看这里没有什么问题,所以我只能假设您在PHB_action.php页面上的输出方式有问题 你说你要把
$\u POST['firstname']
放在你的页面上,但是你真的确定要echo
或print
把它放在页面上吗
您可以这样做:
echo $firstname = $_POST['firstname']; // notice the echo placed before
或
编辑:
我注意到你在回显到页面时将帖子数据放在单引号内
在回显时,必须将数据连接起来,而不是将它们放在单引号内,如:
echo 'Using' . $_POST['firstname']; // notice the dot in between the string and the post data.
要么是这样,要么是您没有将PHP正确(或根本没有)安装到服务器上
希望这能有所帮助,所以,这是非常直接的,我已经把它写下来了,并会在我开始的时候解释每一点 您需要的PHP是:
<?php
if (isset($_POST['send']))
{
$fname = $_POST['firstName'];
if (!empty($fname))
{
echo "hello $fname";
} else {
echo "Please supply your first name.";
}
}
?>
只是一个简单的表单,上面有一个空白操作(我更喜欢将PHP保存在同一个文件中,但是我通常会将它转发回另一个文件中的类)
每个表单输入(First Name/Submit)必须有一个Name=”“值,否则PHP无法读取它并使用它运行
我希望这是有意义的,并且不会太令人费解:)代码在哪里?你能给出一行代码样本吗?你能添加一些代码吗???你能添加PHB_action.php代码吗?我想这是你的服务器的问题,因为如果我尝试使用不同的URL,它会工作:vs。看到了吗?是的,我看到了。要么我的页面没有刷新,要么我没有看到。我使用了你的表单并按了提交。它把我带到了url,产生了一个大的转储。在转储文件中,我看到[“REQUEST_METHOD”]=>string(3)“GET”。文件PHB_action.php是您创建的吗?当我将数据发布到您提供的url时,我看到的信息与您提到的完全相同。如果您已经创建了php文件,请发布php文件的内容,而不是输出。您可以尝试上载一个php文件(我们称之为test.php)吗?在里面,使用代码并将表单中的url指向Hi“the Shooter”。谢谢你的评论。但是,如果我将已经存在的PHP复制到test.PHP中,并将其放在bestpro.com.au服务器上,那么它与已经存在的没有多大区别。因此,我对PHP进行了编辑,并将其包含在一个HTML文件中,如下所示:这是我第二次尝试回复您。当我第一次尝试使用K来更好地格式化PHP代码时,堆栈溢出只是取消了我的消息。谢谢你的评论。下面是我的一些PHP:这就是我们结束的地方。
<?php
if (isset($_POST['send']))
{
$fname = $_POST['firstName'];
if (!empty($fname))
{
echo "hello $fname";
} else {
echo "Please supply your first name.";
}
}
?>
<form action="" method="post">
<table>
<tr>
<td>First Name:</td>
<td><input type="text" name="firstName"></td>
</tr>
<tr>
<td><input type="submit" name="send"></td>
</tr>
</table>
</form>