Вставить данные из HTML-формы - PullRequest
0 голосов
/ 02 мая 2018

Я новичок в HTML и PHP. Я пытаюсь создать форму, которая загружает информацию о моих новых пользователях в базу данных, размещенную моей веб-хостинговой компанией.

мой код формы (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>

мой PHP-код, хранящийся в newuserform.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 голосов
/ 02 мая 2018

Есть несколько ошибок.

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)

finally : не забудьте предотвратить SQL INJECTION путем фильтрации значений. Также попробуйте mysqli вместо прекращенного API mysql.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...