1
PHPでOOPについて学び始めたばかりなので、明白に指摘してください。私のクラスbooks
には2つのパブリック関数が含まれています.1つはリクエスト帳票フォームを表示し、もう1つは自分のデータベースにブックの詳細を送信します。ユーザーがrequest book
またはsubmit form
ボタンをクリックしたときに、これらの関数を呼び出すために2つのif
ステートメントを使用します。ここでPHPオブジェクトが関数内で関数を呼び出せない場合
は私のクラスである:
class Book
{
public $title;
public $author;
public $id;
public function SendToDatabase()
{
echo "inside SendToDatabase";
}
public function Display()
{
echo "<form action='' method='post'>
Title: <input type='text' name='title'><br>
Author: <input type='text' name='author'><br>
<input type='submit' name='submitBook' value='submit'>
</form>";
}
}
そして、ここでは、(同じファイル内)ボタンを使用して関数を呼び出すために私のコードです。つまり、SendToDatabase()
関数は呼び出されません。私はif
ステートメントを組み合わせると動作させることができますが、ボタンは正しく動作しません。 if文全体でオブジェクトのスコープが同じであると思ったので少し混乱しています。私は間違いを指摘してくれた人に本当に感謝しています。乾杯。
$book
が
の両方例が何であるかを定義し、その最初の
if
ブロックのうちの割り当てを取得する必要があり
echo "<form action='' method='post'><input type='submit' name='submit' value='Request Book'></form>";
$request = $_POST['submit'];
$submit = $_POST['submitBook'];
if ($request) {
$book = new Book();
$book->Display();
}
if ($submit) {
$book->SendToDatabase();
}