Saya ingin meneruskan variabel JavaScript ke PHP menggunakan input tersembunyi dalam formulir.
Tapi saya tidak bisa mendapatkan nilai dari $_POST['hidden1']
menjadi $salarieid
. Apakah ada yang salah?
Ini kodenya:
<script type="text/javascript">
// View what the user has chosen
function func_load3(name) {
var oForm = document.forms["myform"];
var oSelectBox = oForm.select3;
var iChoice = oSelectBox.selectedIndex;
//alert("You have chosen: " + oSelectBox.options[iChoice].text);
//document.write(oSelectBox.options[iChoice].text);
var sa = oSelectBox.options[iChoice].text;
document.getElementById("hidden1").value = sa;
}
</script>
<form name="myform" action="<?php echo $_SERVER['$PHP_SELF']; ?>" method="POST">
<input type="hidden" name="hidden1" id="hidden1" />
</form>
<?php
$salarieid = $_POST['hidden1'];
$query = "select * from salarie where salarieid = ".$salarieid;
echo $query;
$result = mysql_query($query);
?>
<table>
Code for displaying the query result.
</table>
php
javascript
variables
SUN Jiangong
sumber
sumber
Jawaban:
Anda tidak dapat meneruskan nilai variabel dari halaman JavaScript kode saat ini ke halaman saat ini Kode PHP ... Kode PHP berjalan di sisi server, dan tidak tahu apa-apa tentang apa yang terjadi di sisi klien.
Anda perlu meneruskan variabel ke kode PHP dari formulir HTML menggunakan mekanisme lain, seperti mengirimkan formulir menggunakan metode GET atau POST.
sumber
mysql_
fungsi; itu tidak akan menjadi tujuan menjawab pertanyaan ini dengan penulisan ulang lengkap.Cukup simpan dalam cookie:
Dan kemudian membacanya dengan PHP:
Ini bukan solusi yang cantik, tetapi berhasil.
sumber
Ada beberapa cara untuk mengirimkan variabel dari JavaScript ke PHP (bukan halaman saat ini, tentu saja).
Anda bisa:
Saya yakin ini bisa dibuat untuk terlihat lebih menarik dan mengulangi semua variabel dan yang lainnya - tapi saya telah membuatnya dasar untuk membuatnya lebih mudah untuk dipahami bagi para pemula.
sumber
Berikut adalah contoh Bekerja: Dapatkan nilai variabel javascript pada halaman yang sama di php.
sumber
echo "<script>document.writeln(p1);</script>";
menggunakan variabel javascriptp1
dalam javascript , bukan dalam php.document.writeln
adalah fungsi javascript , yang Anda jalankan, di browser, saat browser sedang membangun halaman HTML.PHP berjalan di server sebelum halaman dikirim ke pengguna, JavaScript dijalankan di komputer pengguna setelah diterima, sehingga skrip PHP sudah dijalankan.
Jika Anda ingin meneruskan nilai JavaScript ke skrip PHP, Anda harus melakukan XMLHttpRequest untuk mengirim data kembali ke server.
Berikut pertanyaan sebelumnya yang dapat Anda ikuti untuk informasi lebih lanjut: Tutorial Ajax
Sekarang jika Anda hanya perlu mengirimkan nilai formulir ke server, Anda juga bisa melakukan posting bentuk normal, yang melakukan hal yang sama, tetapi seluruh halaman harus di-refresh.
Mengklik kirim akan mengirimkan halaman, dan mencetak data yang dikirimkan.
sumber
Saya mencoba untuk mencari tahu sendiri dan kemudian menyadari bahwa masalahnya adalah ini semacam cara mundur untuk melihat situasi. Daripada mencoba untuk mengirimkan hal-hal dari JavaScript ke php, mungkin yang terbaik adalah sebaliknya, dalam banyak kasus. Kode PHP dijalankan di server dan membuat kode html (dan mungkin juga skrip java). Kemudian browser memuat halaman dan mengeksekusi html dan script java
Sepertinya cara yang masuk akal untuk mendekati situasi seperti ini adalah dengan menggunakan PHP untuk membuat JavaScript dan html yang Anda inginkan dan kemudian menggunakan JavaScript di halaman untuk melakukan apa pun yang tidak bisa dilakukan oleh PHP. Sepertinya ini akan memberi Anda manfaat dari PHP dan JavaScript dengan cara yang cukup sederhana dan lurus ke depan.
Satu hal yang telah saya lakukan yang memberikan tampilan melewatkan hal-hal ke PHP dari halaman Anda dengan cepat adalah menggunakan tag gambar html untuk memanggil kode PHP. Sesuatu seperti ini:
Kode PHP di pic.php sebenarnya akan membuat kode html sebelum halaman web Anda bahkan dimuat, tetapi kode html itu pada dasarnya dipanggil saat itu juga. Kode php di sini dapat digunakan untuk membuat gambar pada halaman Anda, tetapi dapat memiliki perintah yang Anda suka selain itu di dalamnya. Mungkin itu mengubah isi beberapa file di server Anda, dll. Sisi baiknya adalah kode php dapat dieksekusi dari html dan saya menganggap JavaScript, tetapi sisi bawahnya adalah bahwa satu-satunya output yang dapat diletakkan di halaman Anda adalah gambar. Anda juga memiliki opsi meneruskan variabel ke kode php melalui parameter di url. Penghitung halaman akan menggunakan teknik ini dalam banyak kasus.
sumber
Kami dapat dengan mudah memberikan nilai bahkan pada halaman yang sama / berbeda menggunakan cookie yang ditunjukkan dalam kode sebagai berikut (Dalam kasus saya, saya menggunakannya dengan integrasi facebook) -
Dan saya sudah mengaksesnya (dalam file apa pun) menggunakan -
sumber
Begini cara saya melakukannya (saya perlu memasukkan zona waktu lokal ke PHP:
sumber
Apakah fungsi Anda, yang menetapkan nilai formulir tersembunyi, dipanggil? Tidak ada dalam contoh ini. Anda seharusnya tidak memiliki masalah dalam memodifikasi nilai tersembunyi sebelum memposting formulir kembali ke server.
sumber
Kode Anda memiliki beberapa hal yang salah dengannya.
Dimungkinkan untuk mengatur variabel JavaScript dalam variabel tersembunyi dalam formulir, lalu mengirimkannya, dan membaca nilai kembali di PHP. Berikut adalah contoh sederhana yang menunjukkan ini:
sumber
saat halaman Anda memuat kode PHP pertama kali dijalankan dan atur tata letak lengkap halaman web Anda. setelah tata letak halaman, itu mengatur memuat JavaScript. sekarang JavaScript langsung berinteraksi dengan DOM dan dapat memanipulasi tata letak tetapi PHP tidak bisa perlu menyegarkan halaman. Satu-satunya cara adalah me-refresh halaman Anda ke dan melewati parameter dalam URL halaman sehingga Anda bisa mendapatkan data melalui PHP. Jadi kami menggunakan AJAX untuk berinteraksi Javascript dengan PHP tanpa memuat ulang halaman. AJAX juga dapat digunakan sebagai API. satu hal lagi jika Anda sudah mendeklarasikan variabel dalam PHP. sebelum memuat halaman maka Anda dapat menggunakannya dengan contoh Javascript Anda.
kode di atas benar dan akan berfungsi. tetapi kode di bawah ini benar-benar salah dan tidak akan pernah berhasil.
Berikan nilai dari JavaScript ke PHP melalui AJAX
itu adalah cara paling aman untuk melakukannya. karena konten HTML dapat diedit melalui alat pengembang dan pengguna dapat memanipulasi data. jadi lebih baik menggunakan AJAX jika Anda ingin keamanan atas variabel itu. Jika Anda seorang pemula untuk AJAX tolong pelajari AJAX itu sangat sederhana.
contoh AJAX sederhana
jika tidak, Anda dapat membuat input HTML tersembunyi di dalam formulir Anda. Suka
kemudian melalui jQuery atau javaScript meneruskan nilainya ke bidang tersembunyi. Suka
Sekarang ketika Anda mengirimkan formulir, Anda bisa mendapatkan nilai dalam PHP.
sumber
Mungkin Anda bisa menggunakan metode jquery serialize () sehingga semuanya akan berjalan sekaligus.
// dengan cara ini Anda bisa mendapatkan nilai tersembunyi juga di sisi server.
sumber
Solusi yang jelas ini tidak disebutkan sebelumnya. Anda juga dapat menggunakan cookie untuk meneruskan data dari browser kembali ke server.
Cukup tetapkan cookie dengan data yang ingin Anda sampaikan ke PHP menggunakan javascript di browser.
Kemudian, cukup baca cookie ini di sisi PHP.
sumber
Kami tidak dapat meneruskan nilai variabel JavaScript ke kode PHP secara langsung ... Kode PHP berjalan di sisi server, dan tidak tahu apa-apa tentang apa yang terjadi di sisi klien.
Jadi lebih baik menggunakan AJAX untuk mem-parsing nilai JavaScript ke dalam Kode php.
Atau sebagai alternatif kita dapat melakukan ini dengan bantuan COOKIES dalam kode kita.
Terima kasih & Ceria.
sumber