HTML使用PHP提交表单


HTML submit forms using PHP

我现在正在学习PHP,所以请原谅我的愚蠢问题,我无法解决。我创建了一个简单的web表单,在这里我显示由用户输入的值。

function submitform()
{
  document.forms["myForm"].submit();
} // in head of html

<form action ="res.php" id="myForm" method="post" >
 Name: <input type="text" name="name" size="25" maxlength="50" /> <br> </br>
 Password:<input type="password" name="password" size="25" maxlength="50" /> 
 Description: <textarea name="editor1"> </textarea> 
<input type="submit" value="Submit" onclick="submitForm()" />
</form>

和res.php包含:

foreach($_POST as $field => $value)
{
  echo "$field = $value";
}

当我点击提交按钮时,我只得到一个空白页面,没有表单中的任何值。谁能让我知道我错过了什么?

不需要javascript。这应该做:

<form action ="res.php" id="myForm" method="post" >
        Name: <input type="text" name="name" size="25" maxlength="50" /> <br> </br>
        Password:<input type="password" name="password" size="25" maxlength="50" /> 
        Description: <textarea name="editor1"> </textarea> 
        <input type="submit" value="Submit" />
  </form>

让我们从修复错误开始:

JavaScript区分大小写。我看到你的函数名是submitform,窗体的onclick调用submitForm

从您向我们展示的内容来看,javascript并不是真正必要的,我会在一个php页面上尝试一下,看看它是否有效:

创建test.php文件用于测试:

<?php
if($_POST){
    foreach($_POST as $key=>$value){
        echo "$key: $value<br />";
    }
}else{
    <form action="test.php" method="post">
        <input type="text" value="1" name="name1" />
        <input type="text" value="2" name="name2" />
        <input type="submit" value="submit" name="Submit" />
    </form>
}
?>

如果它确实有效,慢慢地进入当前的表单设置,看看是什么破坏了它。如果它不起作用,一定有更大的东西在起作用。

你现在应该做两件事。

    删除提交表单的JavaScript函数。这不是必需的(或必要的)。提交按钮的默认行为是…嗯…提交。你不需要用JavaScript帮助它。
  1. 使用error_reporting(E_ALL)使能错误显示

完成这两件事之后,您应该能够更容易地调试和评估问题。

将php代码放入php标签中!

<?php
foreach($_POST as $field => $value)
{
  echo $field ." = ." $value.'<br />';
}
?>

如果你这样做

<?php
  print_r($_POST);
?>

你得到了什么?如果这仍然不起作用,您的服务器解析php吗?

创建test.php文件并直接访问它http://localhost/test.php或其他URL

<?php
echo 'Hello';
?>

如果这不起作用…这是一个完全不同的问题

您可以使用PHP的fsubmit库提交HTML表单。

的例子:

require_once 'fsubmit.php';
$html = "<form action ='res.php' method='post'><input type='text' name='name'/></form>";
$form = new Fsubmit();
$form->url = 'http://submit_url_here.com';
$form->html = $html;
$form->params = ['name'=>'kokainom'];
$response = $form->submit();
echo $response['content'];