将输入保存到数据库中

时间:2016-03-10 09:58:51

标签: php html mysql database

大家好我需要一些帮助。我从服务器连接到数据库,可以插入一些信息,如$sql = "INSERT INTO Posts (Text_Post) VALUES ('Sample Text')";。现在我想保存从<input type="text" />到数据库的点击文本。你能告诉我我做错了吗?

 <?php

      $servername = "google.com";
      $username = "google";
      $password = "google";
      $dbname = "google";

    // Create connection
    $conn = new mysqli($servername, $username, $password, $dbname);
    // Check connection
    if ($conn->connect_error) {
        die("Connection failed: " . $conn->connect_error);
    } 

    if(isset($_POST['Submit'])) {
            $sql = "INSERT INTO Posts (Text_Post) VALUES ('".$_POST['text']."')";

            if ($conn->query($sql) === TRUE) {
                echo "New record created successfully";
            } else {
                echo "Error: " . $sql . "<br>" . $conn->error;
            }

            $conn->close();
    }
  ?>

  <!DOCTYPE html>
  <html>
  <head>
    <title>anonim</title>
  </head>
  <body>
    <form name="form" action="" method="post">
      <input type="text" name="text" id="text" value="Salut" /=>
      <input type="submit" id="Submit" /> 
    </form>
  </body>
  </html>

2 个答案:

答案 0 :(得分:4)

您遗漏了提交中的name标记。当数据POST'到服务器时,它使用name标记。

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

请注意观看您的首都 - (因为您正在检查提交是否为SET,那么您需要POST提交。

你可以这样做:

if(isset($_POST['text'])) {

此外,请注意:我建议您查看此链接,因为您很容易SQL Injections

答案 1 :(得分:0)

当我们要使用POST或GET发布表单时。我们应该总是给所有我们的名字命名,这样我们就可以使用$ _POST [&#39; name&#39;]或$ _GET [&#39; name&#39;]来获取它们。在您的情况下,只需为您的提交标记命名,并检查数据是否已提交。

替换

<input type="submit" id="Submit" />  

<input type="submit" id="submit" name="submit">

并检查它

if(isset($_POST['submit'])) {// it will only check where form is posted or not

// your code...

}
相关问题