POST不工作数据库PHP

时间:2015-01-23 08:30:02

标签: php

我试图将值发布到数据库中,它在数据库中工作就像添加了一个新行,但不是值。首先,我把HTML放在这样:

<form action="config/testimonyAction.php">
    <p> <input type="text" name="name" placeholder="name" /> </p>
    <p> <input type="text" name="testimony" placeholder="testimony" /> </p>
    <p> <input type="submit" value="SEND"> </p>
</form>

行动将转到testimonyAction.php。以下代码如下:

<?php
include ('dbconnect.php');
$name = $_POST['name'];
$testimony = $_POST['testimony'];
$sql = "INSERT INTO testimonial (name, testimonial) VALUES ('$name', '$testimony')";
if (mysqli_query($mysqli, $sql)) {
        header('Location: http://www.test.com/');
        exit;
    }
    else
    {
        echo "Error: " . $sql . "<br>" . mysqli_error($sql);
    }
mysqli_close($mysqli);
?>

最后,它让我很困惑。它应该工作但我们输入的值不会出现在数据库中?有什么想法吗?

2 个答案:

答案 0 :(得分:1)

表单的默认行为是将其作为GET请求提交。您应该将方法设置为POST以实现您想要的效果。

<form method="POST" action="config/testimonyAction.php">
    <p> <input type="text" name="name" placeholder="name" /> </p>
    <p> <input type="text" name="testimony" placeholder="testimony" /> </p>
    <p> <input type="submit" value="SEND"> </p>
</form>

答案 1 :(得分:0)

我认为您需要指定表单的方法...

<form action="config/testimonyAction.php" method="POST">

如另一个答案所述,逃避变量也是一种很好的礼节。

$sql = "INSERT INTO testimonial (name, testimonial) VALUES ('".$name."', '".$testimony."')";