表单数据不会插入SQL db

时间:2016-09-05 19:40:32

标签: php html sql post

我正在尝试制作一个简单的申诉表格,将数据发布到SQL数据库。但是当我提交时,要么没有任何反应,要么提交空白数据。

继承我的形式:

<form class="form-horizontal" role="form" action="insert.php" method="post">
  <div class="form-group">

    <label for="user" class="col-sm-2 control-label">
      Username:
    </label>
    <div class="col-sm-10">
      <input type="text" class="form-control" name="user" id="user" placeholder="DiscordTag#0000" />
    </div>
  </div>
  <div class="form-group">

    <label for="date" class="col-sm-2 control-label">
      Date of ban:
    </label>
    <div class="col-sm-10">
      <input type="date" class="form-control" name="date" id="date" placeholder="mm/dd/yy" />
    </div>
  </div>
  <div class="form-group">

    <label for="admin" class="col-sm-2 control-label">
      Who banned you?
    </label>
    <div class="col-sm-10">
      <input type="text" class="form-control" name="admin" id="admin" />
    </div>
  </div>
  <div class="form-group">

    <label for="appeal" class="col-sm-2 control-label">
      Appeal:
    </label>
    <div class="col-sm-10">
      <textarea class="form-control" rows="4" name="appeal" id="appeal"></textarea>
    </div>
  </div>
  <div class="form-group">
    <div class="col-sm-offset-2 col-sm-10">

      <button type="submit" class="btn btn-default">
        Submit
      </button>
    </div>
  </div>
</form>

这是我的insert.php

<html>
<?
    error_reporting(E_ALL); 

    $db_host = 'redacted';
    $db_username = 'redacted';
    $db_password = 'redacted';
    $db_name = 'redacted';

    if( $_POST )
    {
        $conn = mysql_connect( $db_host, $db_username, $db_password);

        if (!$conn)
        {
            die('Could not connect: ' . mysql_error());
        } else {
            mysql_select_db("redacted");
        }

        $user = $_POST['user'];
        $date = $_POST['date'];
        $admin = $_POST['admin'];
        $appeal = $_POST['appeal'];

        $sql = 'INSERT INTO appeals' . '(user, date, admin, appeal)'
                .'VALUES ($user, $date, $admin, $appeal)';

        $retval = mysql_query( $sql, $conn );

        if(! $retval ) {
            die('Could not enter data: ' . mysql_error());
        }

        echo "<h2>Your appeal has been submitted.</h2>";

        mysql_close($conn);
    }
?>
</html>

如何让它将所有表单数据直接提交到我的SQL表中?

1 个答案:

答案 0 :(得分:0)

使用"INSERT INTO appeals (user, date, admin, appeal) VALUES ('".$user."', '".$date."', '".$admin."', '".$appeal."')";

并且消毒,因为你要求sql注入。

相关问题