PHP MySQL не отправляется или работает

У меня есть некоторый код PHP и HTML, который должен отправлять данные из формы в мою базу данных MySQL. Однако при нажатии кнопки «Отправить» в форме страница перезагружается и ничего не происходит. Нет эха или что-нибудь. HTML находится в том же файле, что и файл PHP.

PHP

<?php
if(isset($_POST['submit'])){
$usernamep = $_POST['usernameinput'];
$passwordp = $_POST['passwordinput'];

$servername = "localhost";
$username = "USERNAMECENSOR";
$password = "PASSWORDCENSOR";
$dbname = "database";

try {
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
// set the PDO error mode to exception
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "INSERT INTO accounts (username, password)
VALUES ('$usernamep', '$passwordp')";
// use exec() because no results are returned
$conn->exec($sql);
echo "Success";
}
catch(PDOException $e)
{
echo $sql . "<br>" . $e->getMessage();
}
$conn = null;
}
?>

HTML

<form method="POST" action="">
<input type="text" name="usernameinput"><br>
<input type="password" name="passwordinput"><br>
<input type="submit" class="button" value="Sign in">
</form>

Замечания: Я знаю, что этот код в настоящее время подвергается внедрению SQL, и пароль не зашифрован. Это временный стартовый код в попытке заставить его работать первым.

-1

Решение

Вам не хватает name атрибут в submit кнопка, добавить name="submit",

<form method="POST" action="">
<input type="text" name="usernameinput"><br>
<input type="password" name="passwordinput"><br>
<input type="submit" name="submit" class="button" value="Sign in">
</form>
2

Другие решения

Ваш тест неверен. У вас нет ввода с именем «submit» (с атрибутом name = submit). Так должно быть:

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
...
}

Широкий тест, подобный этому, даже не требует именованной отправки. HTML-форма может быть даже опубликована на другом событии с использованием jQuery или JavaScript.

0

В вашем PHP файл, который вы используете isset($_POST['submit']), У вас нет form input с name="submit", Вы можете сделать вашу кнопку отправки

<input type="submit" name="submit" class="button" value="Sign in">
0

Вы должны включить свой php-файл в действие тега form.

<form method="POST" action="<?php echo $_SERVER['PHP_SELF']?>">
<input type="text" name="usernameinput"><br>
<input type="password" name="passwordinput"><br>
<input type="submit" class="button" value="Sign in">
</form>
-1
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector