им возникли некоторые проблемы с этим кодом:INSERT INTO не работает!
if (count($_POST)) {
$username = mysql_real_escape_string($_POST['username']);
$passwd = mysql_real_escape_string($_POST['passwd']);
mysql_query("INSERT INTO users (username, password)
VALUES ($username, $passwd)");
}
<form method="post">
<p><input type="text" name="username" /></p>
<p><input type="password" name="passwd" /></p>
<p><input type="submit" value="Register me!" /></p>
</form>
Я подключен к БД
пользователям столбец ID является auto_increment
Я получаю это при добавлении или умереть mysql_error в SQL Statement: У вас ошибка в синтаксисе SQL; проверьте руководство, которое соответствует версии сервера MySQL для правильного синтаксиса, чтобы использовать рядом с «)» в строке 2
Я не уверен, если вы собираетесь обработать это позже, но хранение паролей в обычном тексте небезопасно - вы должны использовать их с солью, созданной для каждого пользователя, и солью по всему объявлению. Это защищает пароли пользователей в случае, если ваши данные открыты. – Codebeef
, если у вас есть проблемы с безопасностью текстового текста, перейдите в Википедию и ознакомьтесь с HMAC, AES и SSL. – Hardryv
@ Хардрюв: Безопасность не всегда связана с INTERCEPTION. Хранение их в любом обратимом шифровании (или, что еще хуже, хранение их в открытом виде и только с использованием шифрования для передачи) является небезопасным, потому что это означает, что в какой-то момент оно будет отменено (по законным причинам, например, для сравнения). Если у ЛИЦА есть доступ к этому паролю (а не только к хэшу), он может иметь доступ к любому другому сайту, на котором я использую тот же пароль. Существует причина ZERO для хранения в обратимом шифровании, а не в хеше. –