формы — Программа Последовательности Фибоначчи в Трабле получает данные от пользователя и объявляет их в переменной

Я создаю программу, в которой пользователь вводит два числа, и на кнопке отправки он вычислит и отобразит последовательность Фибоначчи. При попытке получить мои входные значения для сохранения в $n1 а также $n2 Я получаю ошибку. Есть ли более эффективный способ получить вклад, делая что-то другое, чем $_POST?

Это форма:

<div id="container">
<h2>Fibonacci Example</h2>

<p id="display"></p>

<form action="fibonacciDisplay.php" method="post">
<label>First Number:</label> <input type="text" name="n1"><br>
<label>Second Number:</label> <input type="text" name="n2"><br>
<input type="submit" name="calculate" class="btnSubmit">
</form>
</div>

Это моя функция:

//variables
$n1 = $_POST['Num1'];
$n2 = $_POST['Num2'];

//method to check numbers
function checkFibo($n1 = 0, $n2 = 0) {
if ($n1 != 0 && $n2 != 1) {
if ($n2 < $n1) {
echo "Your second number must be greater than the first. Try again";
$output = "";
} else if ($n1 < $n2 || $n2 < 0) {
echo "Please enter only positive numbers";
} else if (!(is_numeric($n1)) || !(is_numeric($n2))) {
echo "Please only enter positive numbers";
$output = "";
} else {
echo "The result of your request is shown below.";
$output = $z->getFibo($n1, $n2);
}
} else {
echo "Please enter values below";
$output = "";
}
return $output;
}

// Method to calculate fibonacci
function getFibo($n1 = 0, $n2 = 0) {
$max = $n2 * 100;
while ($z <= 0) {
$z = $n1 + $n2;
$output .= ($z."<br />");
$n1 = $n2;
$n2 = $z;
}
return $output;
}

0

Решение

Изменить это
<label>First Number:</label> <input type="text" name="n1"><br>
<label>Second Number:</label> <input type="text" name="n2"><br>


к этому:
<label>First Number:</label> <input type="text" name="Num1"><br>
<label>Second Number:</label> <input type="text" name="Num2"><br>

Потому что вы пытаетесь получить поля $n1 = $_POST['Num1'];$n2 = $_POST['Num2']; в вашем бэкэнд-скрипте.
О втором вопросе вы можете использовать GET запросы вместо POST Больше Вот, если вы хотите сделать его более современным, посмотрите на Аякса Запросы.

1

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

Ваш PHP-код неверен при получении значений из поста. Num1 и Num2 не существует в вашем HTML код, вы объявили их как n1 и n2. Следовательно, вы должны сделать $ _POST [‘n1’] и $ _POST [‘n2’]

Ваш HTML:

<label>First Number:</label> <input type="text" name="n1"><br>
<label>Second Number:</label> <input type="text" name="n2"><br>

Ваш текущий код PHP:

$n1 = $_POST['Num1'];
$n2 = $_POST['Num2'];

Ваш PHP должен быть:

$n1 = $_POST['n1'];
$n2 = $_POST['n2'];
0

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