2014-09-27 33 views
-2

我想用一个PHP窗体来获取登录用户的用户名和他们的输入,并将该输入添加到他们的用户数据在mysql下的列...使用PHP窗体输入数据到用户的mysql记录

到目前为止,我做了一个phpfusion自定义页面,它具有下列创建表单的代码,但我相信它缺少正确的代码来设置用户名变量,以便在输入文件中查找用户标识。

<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,但返回成功消息。

任何帮助?!?!

+0

两件事,一个 - >你在哪里分配'$ user_name'和'$ MC密码'以及两个 - >'$ MC密码'是一个无效变量。 – Rasclatt 2014-09-27 06:33:29

回答

0

$user_name$MC password

第一个变化是:

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

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

然后尝试查询。

+0

但是他们在哪里翻译$ _POST ['MC_password']到$ MC_password? – 2014-09-27 06:36:25

0

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

另外你很容易从SQL注入。使用mysqli_query() sql查询的方法而不是mysql_query

0

您的表单和处理中都有错误。你也应该切换您mysqlPDOmysqli

<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"); 
} 
?> 
+0

你应该解释这些错误,然后给出一个不被弃用的代码的答案,比如'MySQLi'或甚至更好的'PDO'。 – 2014-09-27 06:40:08

+0

尽管你在正确的轨道上。 – 2014-09-27 06:40:27

+0

我以一种建议切换到较新的数据库方法的方式提供了他的代码。如果这很重要,他会切换...或有一天它会停止工作... – Rasclatt 2014-09-27 06:52:15

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”。

希望它能帮助!

相关问题