Форумы портала PHP.SU » » HTTP и PHP » GET Работает а POST нет, подскажите куда копать...

Страниц (1): [1]
 

1. Dmitiy_webdev - 21 Июня, 2018 - 12:30:24 - перейти к сообщению
Изучаю, PHP, разбираю обработку форм. Написал все по методу get... все работало, помнял на POST работать не хочет, массыв $_POST пуст после SUBMIT.
тогда как при выводе print_r ($_GET): массив наполняется :
Array ( [number1] => 3 [number2] => 5 [operator] => + [submit] => Submit )

print_r($_POST) вывводится :

Array ( )

В чем причина может быть?

Код пишу в PHPstorm, пробовал фалы переложить на сервер Девера, там тоже самое.....

<?php
include_once 'functionMulti.php';
if ($_POST['number1'] && $_POST['number2'] == true) {
print_r($_POST);
}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title> Forms process</title>
</head>
<body>
<div>
<form method="post" name="test" action="newFormPost.php" >
<br>
<label> Number 1</label> <br>
<input type="text" name="number1" placeholder="Enter your first mumber">
<br><br>
<label>Number 1</label> <br>
<input type="text" name="number2" placeholder="Enter your second">
<br><br>
<label>choose the opertion:</label> <br>
<input type="radio" name="operator" value="+" checked> + <br>
<input type="radio" name="operator" value="-"> - <br>
<input type="radio" name="operator" value="*"> * <br><br>
<input type="submit" name="submit" value="Submit">
</div>
<div>
<?php
if (!empty($_POST['number1']) && !empty($_POST['number2']) == true) {
if (is_numeric($_POST['number1']) && is_numeric($_POST['number2']) == true) {
echo "<br>suxesfull!!";
if ($_POST['operator'] == "+") {
echo "<br>" . $_POST['number1'] . " + " . $_POST['number2'] . " = ";
echo "<br> your result is:" . $result = $_POST['number1'] + $_POST['number2'];
}
if ($_POST['operator'] == "-") {
echo "<br>" . $_POST['number1'] . " - " . $_POST['number2'] . " = ";
echo "<br> your result is:" . $result = $_POST['number1'] - $_POST['number2'];
}
if ($_POST['operator'] == "*") {
echo "<br>" . $_POST['number1'] . " * " . $_POST['number2'] . " = ";
echo "<br>" . $result = multi($_POST['number1'], $_POST['number2']);
}
} else {
echo "<br> вводите только цифры";
}
} else {
echo "<br> заполните все поля";
}
?>
</div>
</form>
</body>
</html>
(Добавление)
Ранее писал все тоже на JAVA таких казусов не встерчал, что GET что POST работали безотказно.... Не понял Не понял Не понял
2. Vladimir Kheifets - 21 Июня, 2018 - 13:40:41 - перейти к сообщению
Dmitiy_webdev пишет:
Изучаю, PHP, разбираю обработку форм. Написал все по методу get... все работало, помнял на POST работать не хочет, массыв $_POST пуст после SUBMIT.
тогда как при выводе print_r ($_GET): массив наполняется :
Array ( [number1] => 3 [number2] => 5 [operator] => + [submit] => Submit )

print_r($_POST) вывводится :

Array ( )

В чем причина может быть?

Код пишу в PHPstorm, пробовал фалы переложить на сервер Девера, там тоже самое.....

Спойлер (Отобразить)

(Добавление)
Ранее писал все тоже на JAVA таких казусов не встерчал, что GET что POST работали безотказно.... Не понял Не понял Не понял

Добрый день!
Казус в том, что если бы "$_POST пуст после SUBMIT", то print_r вообще бы ничего не выводил:
Спойлер (Отобразить)

Закомментировал include_once 'functionMulti.php'; и проверил Ваш код.
Ввёл 1 2 $_POST после SUBMIT:
Спойлер (Отобразить)

Удачи!

 

Powered by ExBB FM 1.0 RC1