使用php表单将数据输入到用户的mysql记录中

时间:2014-09-27 06:30:19

标签: php mysql

我正在尝试使用php表单获取登录用户的用户名id及其输入,并将该输入添加到mysql中用户数据下的列中...

到目前为止,我做了一个phpfusion自定义页面,其中包含以下创建表单的代码,但我认为缺少正确的代码来设置用户名变量以便在输入文件中查找用户ID。

<p>
<table border="1">
  <tr>
    <td align="center">Set/Change MineCraft Password</td>
  </tr>
  <tr>
    <td>
      <table>
        <form method="post" action="input.php">
        <tr>
          <td>MineCraft Password</td>
          <td><input type="text" name="MC password" size="20">
          </td>
        </tr>
        <tr>
          <td></td>
          <td align="right"><input type="submit" 
          name="submit" value="Submit"></td>
        </tr>
        </table>
      </td>
    </tr>
</table>
<?php
$userdata['user_name']="username"
?>
</p>

然后输入文件看起来像下面那样:

<?
//the example of inserting data with variable from HTML form
//input.php
mysql_connect("localhost","root","admin");//database connection
mysql_select_db("database");

//inserting data order
$order = "INSERT INTO data_employees
        (user_name, user_mcpass)
        VALUES
        ('$user_name',
        '$MC password')";

//declare in the order variable
$result = mysql_query($order);  //order executes
if($result){
    echo("<br>Input data is succeed");
} else{
    echo("<br>Input data is fail");
}
?>

目前它无法在mysql中输入任何内容,但会返回成功消息。

任何帮助?!?!

4 个答案:

答案 0 :(得分:0)

$user_name$MC password在哪里?

首先改变这个:

<td><input type="text" name="MC password" size="20">

<td><input type="text" name="MC_password" size="20">

然后尝试查询。

答案 1 :(得分:0)

为什么在sql查询中在$MC password之间放置一个空格。如果它是变量,则删除此空格。

此外,您很容易受到SQL注入攻击。对sql查询使用 mysqli_query()方法而不是 mysql_query

答案 2 :(得分:0)

您的表单和处理过程都有错误。您还应该将mysql切换为PDOmysqli

<table border="1">
  <tr>
    <td align="center">Set/Change MineCraft Password</td>
  </tr>
  <tr>
    <td>
      <table>
        <form method="post" action="input.php">
        <tr>
          <td>MineCraft Password</td>
          <td><input type="text" name="password" size="20"></td>
          <td><input type="text" name="username" size="20"></td>
        </tr>
        <tr>
          <td></td>
          <td align="right"><input type="submit" name="submit" value="Submit"></td>
        </tr>
        </table>
      </td>
    </tr>
</table>

<?
//the example of inserting data with variable from HTML form
//input.php
mysql_connect("localhost","root","admin");//database connection
mysql_select_db("database");

$username = htmlentities($_POST['username'],ENT_QUOTES);
$username = htmlentities($_POST['password'],ENT_QUOTES);

//inserting data order
$order = "INSERT INTO data_employees
        (user_name, user_mcpass)
        VALUES
        ('$username',
        '$password')";

//declare in the order variable
$result = mysql_query($order);  //order executes
if($result){
    echo("<br>Input data is succeed");
} else{
    echo("<br>Input data is fail");
}
?>

答案 3 :(得分:0)

当用户提交表单时,您需要发布变量并在PHP中检索它们。你通常会这样做:

if (isset($_POST['username'])) {
    // Put them in a local variable
    $uname = mysqli_real_escape_string($link, $_POST['username']); // Sanitize the variable
    $pass = mysqli_real_escape_string($link, $_POST['MC_Password']); // Sanitize the variable

    $order = "INSERT INTO data_employees
    (user_name, user_mcpass)
    VALUES
    ('$uname',
    '$pass')";

     $result = mysqli_query($link, $order);  //order executes 
     if($result){
         echo("<br>Input data is succeed");
     } else{
         echo("<br>Input data is fail");
     }
}

顺便说一句,“MC密码”不能用于HTML密码输入字段的名称(不能有空格),所以我会将其更改为“MC_Password”,这就是我在我上面的代码。

希望它有所帮助!