从html表单

时间:2018-05-02 12:43:47

标签: php html forms

我是HTML和PHP的新手。我正在尝试创建一个表单,将我的新用户详细信息加载到由我的Web托管公司托管的数据库中。

我的表单代码(HTML)是:

  <h1>Create Your GoSense Account</h1>
  <form method:"POST" action:"newuserform.php" >
  <div class="namef">
  Name: <input type="text" style="width:200px" name="Name"  
  placeholder="First Name"><br></br> </div>
  <div class="surnamef">
  Surname: <input type="text" style="width:178px" name="Surname" 
  placeholder="Last Name"><br></br></div>
  <div class="emailf">
  Email: <input type="text" style="width:202px" name="Email" 
  placeholder="Email"><br></br> </div>
  <div class="passwordf">
  Password: <input type="text" style="width:170px" name="Password" 
  placeholder="Password"><br></br></div>
  <input type="submit" style="font-size: 300px" name="" 
  value="Submit">
  </form>

我存储在newuserform.php中的PHP代码是:

<?php

define('DB_NAME','gosensec_useraccounts');
define('DB_USER','MyUsername');
define('DB_PASSWORD','myPassword');
define('DB_HOST','***.**.**.**');

$Name = filter_input(INPUT_POST,'Name');

$link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);

$db_selected = mysql_select_db (DB_NAME, $link) ;

$VALUE = $_POST['Name'];
$VALUE = $_POST['Surname'];
$VALUE = $_POST['Email'];
$VALUE = $_POST['Password'];

$sql = " INSERT INTO Users (Name) VALUES ('$VALUE')";
$sql = " INSERT INTO Users (Surname) VALUES ('$VALUE')";
$sql = " INSERT INTO Users (Email) VALUES ('$VALUE')";
$sql = " INSERT INTO Users (Password) VALUES ('$VALUE')";

mysql_close()

?>

我已经加倍检查了与我的db主机公司的连接参数,他们建议它是正确的所以我的下一步是质疑我的代码?任何人都可以选择任何可能导致数据插入我的数据库的错误吗?

非常感谢

1 个答案:

答案 0 :(得分:2)

有多个错误。

1 - 将每个变量分配到特定名称:

$Name = $_POST['Name'];
$Surname = $_POST['Surname'];
$Email = $_POST['Email'];
$Password = $_POST['Password'];

2 - 将所有值插入一行而不是多行。也可以将变量作为变量连接,而不是作为引号内的字符串!

$sql = "INSERT INTO Users (Name,Surname,Email,Password) VALUES ('" .$Name. "','". $Surname ."','". $Email ."','" .$Password. "')";

3 - 不要忘记执行sql命令:

$link->query($sql) 

4 - 要关闭连接,请使用mysql_close($link)

终于:不要忘记通过过滤值来prevent SQL INJECTION。另请尝试使用mysqli而不是已停用的mysql API。