Saya telah membuat halaman bernama functioncalling.php yang berisi dua tombol, Kirim dan Sisipkan . Sebagai pemula dalam PHP, saya ingin menguji fungsi mana yang dijalankan ketika sebuah tombol diklik. Saya ingin hasilnya muncul di halaman yang sama. Jadi saya membuat dua fungsi, satu untuk setiap tombol. Kode sumber untuk functioncalling.php adalah sebagai berikut:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<body>
<form action="functioncalling.php">
<input type="text" name="txt" />
<input type="submit" name="insert" value="insert" onclick="insert()" />
<input type="submit" name="select" value="select" onclick="select()" />
</form>
<?php
function select(){
echo "The select function is called.";
}
function insert(){
echo "The insert function is called.";
}
?>
Masalahnya di sini adalah bahwa saya tidak mendapatkan output apa pun setelah salah satu tombol diklik.
Di mana tepatnya saya salah?
Jawaban:
Ya, Anda perlu Ajax di sini. Silakan merujuk kode di bawah ini untuk lebih jelasnya.
Ubah markup Anda seperti ini
jQuery:
Di ajax.php
sumber
Klik tombol adalah sisi klien sedangkan PHP dieksekusi sisi server , tetapi Anda dapat mencapainya dengan menggunakan Ajax :
Dalam file PHP Anda:
sumber
Anda harus membuat tombol memanggil halaman yang sama dan di bagian PHP memeriksa apakah tombol itu ditekan:
HTML:
PHP:
sumber
Anda tidak dapat memanggil fungsi PHP seperti mengeklik tombol dari HTML. Karena HTML ada di sisi klien sementara PHP menjalankan sisi server.
Anda harus menggunakan Ajax atau melakukannya seperti pada cuplikan kode di bawah ini.
Anda harus memposting data formulir Anda dan kemudian memeriksa tombol yang sesuai yang diklik.
sumber
Untuk menampilkan $ message di input Anda:
Untuk menggunakan functioncalling.php sebagai file eksternal Anda harus memasukkannya dalam dokumen HTML Anda.
sumber
Coba ini:
sumber
Anda dapat menulis seperti ini di JavaScript atau jQuery Ajax dan memanggil file
sumber
The
onclick
atribut dalam HTML panggilan fungsi JavaScript, tidak fungsi PHP.sumber
Saya terjebak dalam hal ini dan saya menyelesaikannya dengan bidang tersembunyi:
Di
value
Anda dapat menambahkan apa pun yang ingin Anda tambahkan.Di test.php Anda dapat mengambil nilainya
$_Post[ID]
.sumber
ID
seharusnya dikutip dalam$_Post[ID]
? Apakah PHP mendukung kata-kata telanjang, seperti di Perl?Gunakan panggilan rekursif di mana tindakan bentuk panggilan itu sendiri. Kemudian tambahkan kode PHP dalam bentuk yang sama untuk menangkapnya. Dalam
foo.php
formulir Anda akan memanggilfoo.php
padapost
Setelah formulir dikirimkan, ia akan memanggil dirinya sendiri (
foo.php
) dan Anda dapat menangkapnya melalui variabel yang telah ditentukan PHP$_SERVER
seperti yang ditunjukkan pada kode di bawah inisumber
Berikut adalah contoh yang dapat Anda gunakan:
sumber
Anda cukup melakukan ini. Di php, Anda dapat menentukan klik tombol dengan menggunakan
Karena itu Anda harus memodifikasi kode Anda sebagai berikut:
sumber