PHP简单表单不发布


PHP simple form not posting

我一直在绞尽脑汁,试图弄清楚为什么isset($_POST['Submit'])没有用我的表单执行。表单中的数据没有传递到php代码中。基本上,代码似乎无法识别类似$ffname=$_POST["ffname"]的内容;

<?php
$ffname = $flname = $femail = $fcemail = $fpass = $fcpass = "";
if(isset($_POST['ffname'])){
    $ffname = $_POST["ffname"];
    $flname = $_POST["flname"];
    $femail = $_POST["femail"];
    $fcemail = $_POST["fcemail"];
    $fpass = $_POST["fpass"];
    $fcpass = $_POST["fcpass"];
    echo "<p>Hello World<p>";
    $con = mysqli_connect("localhost", "root", "") or die(mysqli_error());
    mysqli_select_db($con, "userdata") or die(mysqli_error($con));
    mysqli_query($con,"INSERT INTO tbluser (fname, lname, email, pass) VALUES('$ffname', '$flname', '$femail', '$fpass')")
    or die (mysqli_error($con));
}
?>

<form method="post">
    First Name: <input type="text" name="ffname" id="ffname" value="<?php echo $ffname;?>"><br>
    Last Name: <input type="text" name="flname" value="<?php echo $flname;?>"><br>
    E-mail: <input type="email" name="femail" value="<?php echo $femail;?>"><br>
    Confirm E-mail: <input type="email" name="fcemail" value="<?php echo $fcemail;?>"><br>
    Password: <input type="password" name="fpass" value="<?php echo $fpass;?>"><br>
    Confirm Password: <input type="password" name="fcpass" value="<?php echo $fcpass;?>"><br>
    <input type="submit" name="Submit" value="submit">
</form>

@DerVO的另一个答案是正确的但是似乎还有其他东西在起作用,因为你说它仍然不起作用。

一条评论太长了,所以我在这里建立了一个完整的答案。

步骤1:
在输入中添加一个名称:

<input type="submit" name="Submit" value="submit">

然而,依赖$_POST中的提交并不是最佳计划。因此,我建议查看不同的表单字段,例如ffname:

步骤2:
改进您的手表,使用不同的领域:

if ( isset( $_POST['ffname'] ) ) {
    // do your work
}

最后,您可能正在修改您的表单action属性。

第三步:
为了保持简单,如果表单应该提交到同一页面,您可以简单地省略表单action

<form method="post">

在这三项之间,除非您的服务器有问题,否则表单将起作用。

步骤4:

清理表单格式。你有奇怪的间距,这是有问题的。在html元素中,property="value"代码需要没有空格,但属性之间必须有空格。示例:

<!-- Your version -->
<input type = "text"name = "ffname"id = "ffname"value="<?php echo $ffname;?>"><br>
<!-- Clean / correct version -->
<input type="text" name="ffname" id="ffname" value="<?php echo $ffname;?>"><br>

这是你整个表单的"干净"版本:

<form method="post">
    First Name: <input type="text" name="ffname" id="ffname" value="<?php echo $ffname;?>"><br>
    Last Name: <input type="text" name="flname" value="<?php echo $flname;?>"><br>
    E-mail: <input type="email" name="femail" value="<?php echo $femail;?>"><br>
    Confirm E-mail: <input type="email" name="fcemail" value="<?php echo $fcemail;?>"><br>
    Password: <input type="password" name="fpass" value="<?php echo $fpass;?>"><br>
    Confirm Password: <input type="password" name="fcpass" value="<?php echo $fcpass;?>"><br>
    <input type="submit" name="Submit" value="submit">
</form>

您需要给您的输入提交一个名称:

<input type="submit" name="Submit" value="Submit">

您在$_POST 中有元素的通行证名称

尝试在输入提交中放入名称属性

<input type = "submit" name="Submit" value = "1">