Я вижу, по крайней мере, три проблемы с вашим кодом:
Сначала , когда вы вводите строки в запрос SQL, вы должны экранировать его, используя mysql_real_escape_string()
:
$link = mysql_real_escape_string($_POST['link']);
$notes = mysql_real_escape_string($_POST['notes']);
$username = mysql_real_escape_string($_POST['username']);
$sql="INSERT INTO links (link, notes, username)
VALUES ('$link','$notes','$username')";
Третий , в вашем PHP-коде вы должны использовать атрибут name
ваших полей ввода - а не их атрибуты id
.
Учитывая, что ваш HTML-код выглядит следующим образом:
<input type="text" name="name" id="username" />
<input type="text" name="email" id="link" />
<input type="text" name="password" id="notes" />
Вы должны работать с:
$_POST['name']
, а не $_POST['username']
$_POST['email']
, а не $_POST['link']
$_POST['password']
, а не $_POST['notes']
Примечание: с использованием name
и id
, которые по-разному приводят к проблемам; -)
Итак,Подводя итог, ваш код должен выглядеть примерно так:
$email = mysql_real_escape_string($_POST['email']);
$password = mysql_real_escape_string($_POST['password']);
$name = mysql_real_escape_string($_POST['name']);
$sql="INSERT INTO links (link, notes, username)
VALUES ('$email','$password','$name')";
Примечание: вы должны использовать одинаковые имена для полей ввода, а поля в таблице - этосделает ваш код проще для понимания.