** первый класс php, возможно, потребуется больше объяснений для понимания.Неустранимая ошибка: вызов функции-члена, не уверен, что вызывать переменную
Для моего класса PHP я должен создать класс, который будет вычислять Fibonacci. Итак, вот мой код, у меня есть класс с двумя функциями, которые пропускают 2 числа для примера фибоначчи. У меня есть одна форма, которая собирает числа и передает файл php (имя fibonacciClass.php):
Он также вызывает инициирование класса в конце.
<form method = "post" action = "">
<center>
<table>
<tr>
<th>Fibonacci Class</th>
</tr>
<tr>
<td>First Number:</td>
<td><input type="text" name="num1" /></td>
</tr>
<tr>
<td>Second Number:</td>
<td><input type="text" name="num2"/></td>
</tr>
<tr>
<td> </td>
<td><input type="submit" name="submit" value="Calculate!" /></td>
</tr>
</table>
</center>
</form>
<?php
require_once('fibonacci.php');
if($_POST['submit']){
$fibo = new fibonacci();
$fibo ->checkFibo();
$fibo ->getFibo();
}
?>
Второй У меня есть файл класса, который содержит мои функции, вот где я получаю фатальную ошибку. Его одна строка: $ output = $ checkFibo-> getFibo ($ n1, $ n2);
<?php
class fibonacci {
//method to check numbers
function checkFibo($n1=0,$n2=0){
$n1 = $_POST['num1'];
$n2 = $_POST['num2'];
if($n1!=0 && $n2!=0){
if($n2<$n1){
echo "<p>Your second number must be greater than the first. Try again</p>";
$output="";
}
else if($n1<0 || $n2<0){
echo "<p>Please enter only positive numbers</p>";
}
else if (!(is_numeric($n1)) || !(is_numeric($n2))){
echo "<p>Please only enter numbers</p>";
$output="";
}
else{
echo "<p>The result of your request is shown below.</p>";
$output=$checkFibo->getFibo($n1,$n2);
}
}
else{
echo "<p>Please enter a valid value(s) above (non zero)</p>";
$output="";
}
return $output;
}
// Method to calculate fibonacci
function getFibo($n1 = 0, $n2 = 0) {
$n1 = $_POST['num1'];
$n2 = $_POST['num2'];
$max=$n2 * 100;
while($z<=$max){
$z = $n1 + $n2;
$output.=($z."<br />");
$n1 = $n2;
$n2 = $z;
}
return $output;
}
}
?>
Точная ошибка я получаю по представить:
Fatal error: Call to a member function getFibo() on a non-object.
Вы никогда не определяли '$ checkFibo'. – Raptor
Вместо '$ checkFibo-> getFibo()' use '$ this-> getFibo()'. –
@ NotoriousPet0, это было немного грубо, я администратор базы данных, PHP еще не мой в моей области знаний. У меня была одна ошибка, а не то, что я пришел сюда, прося завершить мое задание, иначе я бы согласился с тобой. – Julia