У меня проблема с формой, я создал (только для диагностики, я знаю, что это уязвимы для SQL Injection)PHP форма не вставляя значения в БД
В принципе, форма не вставляется в БД , но, похоже, он возвращает true в скрипте.
Код выглядит следующим образом:
form.php
<form action="create.php" method="post">
<p>Username: <input type="text" name="username" />
</p>
<p>Password: <input type="password" name="password" />
</p>
<p><input type="submit" value="Create" name= "cre" />
</p>
</form>
create.php
<?php
session_start();
$dbname = "obsidian";
if(isset($_POST['cre'])){
$username = $_POST['username'];
$password = $_POST['password'];
$mysqli = new mysqli('localhost','admin1', 'password1','obsidian') or die('Failed to connect to DB' . $mysqli->error);
$hashed_password = password_hash($password,PASSWORD_DEFAULT);
$registerquery = "INSERT INTO users (username, hash) VALUES('$username', '$hashed_password')";
if($registerquery = true)
{
echo "<h1>Success</h1>";
echo "<p>Your account was successfully created. Please <a href=\"index.php\">click here to login</a>.</p>";
}
else
{
echo "<h1>Error</h1>";
echo "<p>Sorry, your registration failed. Please go back and try again.</p>";
}
}
?>
я получаю сообщение об успехе, но, как я уже говорил, значения не получают вставлен в БД.
Любая помощь будет хорошей.
Вы никогда не запускаете запрос Insert в базе данных. – Pitchinnate
... и вы уязвимы для [SQL-инъекций] (http://bobby-tables.com) –
Вы делаете разницу между = и ==? – bksi