Member 13817239 Ответов: 2

Html PHP форма не записывается в SQL DB


всем привет

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

HTML-форма
<h1>Create Your Account</h1>
      
      <div class="namef">
      Name: <br><br> </div>
      <div class="surnamef">
      Surname: <br><br></div>
      <div class="emailf">
      Email: <br><br> </div>
      <div class="passwordf">
      Password: <br><br></div>


PHP-код
<?php

define('DB_NAME','Mydbname');
define('DB_USER','Myusername');
define('DB_PASSWORD','Mpassword');
define('DB_HOST','Myhost');

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

$db_selected = mysql_select_db (DB_NAME, $link) ;

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

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

$link->query($sql);

mysql_close($link)

?>


Что я уже пробовал:

Пожалуйста, смотрите мой код в разделе описания проблем. Именно это я и пытался сделать.

2 Ответов

Рейтинг:
2

User 7429338

Ваш html содержит только текст и никаких элементов управления вводом. Там нет никакого почтового запроса с параметрами имени, фамилии, электронной почты и пароля.

Взглянуть здесь[^] о том, как создать форму. Например:

<form action="/login.php" method="post">
  Name:<br><input type="text" name="Name"><br>
  Surname:<br><input type="text" name="Surname"><br>
  E-mail:<br><input type="text" name="Email"><br>
  Password:<br><input type="password" name="Password"><br>
  <input type="submit" value="Submit">
</form> 


Member 13817239

Спасибо Thaddues, я думаю, что вставил свой код неправильно вот что у меня есть в html:

Создайте Свой Аккаунт




Имя:

Фамилия:

Электронная почта:

Пароль:

[no name]

Не могли бы вы разместить его между предварительными тегами в исходном вопросе? В противном случае он будет показывать не html, а форматированный текст.

MadMyche

Не определен метод, это форма по умолчанию для операции get

[no name]

Спасибо, Мадмыч, ты, конечно, права. Я обновил пример.

Рейтинг:
0

MadMyche

1. Как ответил Фаддей, для этого потребуется форма Кроме того, эта форма будет нуждаться в метод="сообщение" атрибут.

2. Операция над базой данных будет представлять собой ВСТАВЛЯТЬ, и подходящим методом для вызова этого в PHP является выполнять() и нет запрос()

3. Чтобы избежать рисков SQL-инъекции, ваша команда SQL не должна быть конкантенацией строк. Вы должны использовать параметры.

Пожалуйста, ознакомьтесь с информацией PHP для этого, которая имеет примеры
http://php.net/manual/en/pdo.prepared-statements.php[^]


Member 13817239

Большое спасибо , очень ценю. Будет сделать изменения рекомендуется :)