Массив $ _POST [] пуст после отправки

Поэтому $ _POST [‘acc’] и $ _POST [‘psw’] не могут получить данные из формы по какой-то причине, они все время пусты.

HTML:

<div id="signUp_UI">
<form id="su_form" action="<?php echo url_for('/sign_up.php')?>" method="post" enctype="multipart/form-data">
YYQ<br><br>
Account Name<br>
<input type="text" placeholder="Account Name" id="an" name="acc">
<br><br>
Passward<br>
<input type="password" placeholder="Password" id="password" name="psw">
<br><br>
<input type="button" name="goback" value="Go Back" id="gb_button">
<input type="submit" value="Sign Up" id="su_button2">
</form>
</div>

PHP:

$an = isset($_POST['acc']) ? $_POST['acc'] : '';
$psw = isset($_POST['psw']) ? $_POST['psw'] : '';

$sql = "INSERT INTO log_in (account, password) VALUES ('". $an . "'," . "'" . $psw . "')";
$result = mysqli_query($db, $sql);

if($result){
$new_id = mysqli_insert_id($db);
redirect_to(url_for('/home.php?id=') . $new_id);
}
else{
echo mysqli_error($db);
db_disconnect($db);
exit();
}

Обновить:

Так что, если я изменю код php на:

if(is_post_request()){

$an = isset($_POST['acc']) ? $_POST['acc'] : '';
$psw = isset($_POST['psw']) ? $_POST['psw'] : '';$sql = "INSERT INTO log_in (account, password) VALUES ('". h($an) . "'," . "'" . h($psw) . "');";
$result = mysqli_query($db, $sql);

if($result){
echo '$an = ' . $an .'<br>';
echo '$psw = ' . $psw;
}
else{
echo mysqli_error($db);
db_disconnect($db);
exit();
}

тогда я получил результат:
$ an =
$ psw =

ОБНОВИТЬ:

Поэтому я попытался обнаружить isset($_POST['submit']) в php-файле результат $ _POST [‘submit’] не существует.

Таким образом, после отправки формы она по какой-то причине не отправляется в php-файл.

ОБНОВЛЕНИЕ 3.0:

Так что, если я изменю метод, чтобы получить, все работает найти! Я не знаю, почему это так.

HTML:

<div id="signUp_UI">
<form id="su_form" action="<?php echo url_for('/sign_up.php'); ?>" method="get">
YYQ GameStation<br><br>
Account Name<br>
<input type="text" placeholder="Account Name" id="an" name="account">
<br><br>
Password<br>
<input type="password" placeholder="Password" id="password" name="password">
<br><br>
<input type="button" name="goback" value="Go Back" id="gb_button">
<input type="submit" name = "submit" value="Sign Up" id="su_button2">
</form>
</div>

PHP:

if(isset($_GET['submit']) && !empty($_GET['submit'])){
$an = isset($_GET['account'])?$_GET['account']:'';
$psw = isset($_GET['password'])?$_GET['password']:'';

$sql = "INSERT INTO log_in (account, password) VALUES ('". h($an) . "'," . "'" . h($psw) . "');";
$result = mysqli_query($db, $sql);

if($result){
redirect_to(url_for('/home.php'));
}
else{
echo mysqli_error($db);
db_disconnect($db);
exit();
}

-1

Решение

Хорошо, согласно источникам, которые я нашел, похоже, что-то не так с встроенным сервером phpstrom. Метод POST как-то просто не работает.

Ссылка ~ https://intellij-support.jetbrains.com/hc/en-us/community/posts/206999125-PhPStorm-10-does-not-allow-POST-method

1

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

Зачем тебе это нужно?

<form id="su_form" action="<?php echo url_for('/sign_up.php')?>" method="post" enctype="multipart/form-data">

Можете ли вы попробовать заменить это

от:

action="<?php echo url_for('/sign_up.php')?>"

чтобы:

action="sign_up.php"
-2

По вопросам рекламы [email protected]