Ternyata ada beberapa macam cara untuk mengatasinya, ada yang menggunakan cara dengan mengirimnya sebagai method post, atau dengan memanfaatan DOM (data object model) atau juga dengan cookies, seperti yang ditunjukkan oleh Saudara Dody di halamannya ini. Cukup panjang bukan? Sebenarnya ada cara lagi, yaitu dengan menggunakan konsep AJAX. Apa itu AJAX? Silakan dicari dan dipelajari sendiri hehee, untuk saat ini saya pun masih tingkat pemula untuk urusan AJAX. Namun, terdapat cara yang sangat simpel dan sederhana untuk mengakalinya, tidak perlu mengeryitkan dahi segala, yaitu dengan menyimpannnya ke dalam sebuah form input.
Form input dibuat sebagai mediator dari variabel javascript dan php, benar-benar tempat netral yang serba guna hahahaa [ngasal mode on]. Kalau ingin tidak terlihat form inputnya, maka typenya dapat dibuat hidden. Caranya adalah seperti yang ditunjukkan pada kode html dan script javascript & PHPnya berikut ini:
<html>
<head>
<title>passing javascript variable to php</title>
<script type="text/javascript">
function cek()
{
var varJS = "12345";
document.form1.media.value = varJS;
}
</script>
</head>
<body>
<form name="form1" id="form1" method="post" onsubmit="cek()">
<input type="hidden" id="media" name="media" value="">
<input type="submit" id="submit" name="submit" value="cek">
</form>
<?php
$varPHP = $_POST['media'];
echo "variabel javascript yang telah diisikan ke variabel php : $varPHP";
?>
</body>
</html>
<head>
<title>passing javascript variable to php</title>
<script type="text/javascript">
function cek()
{
var varJS = "12345";
document.form1.media.value = varJS;
}
</script>
</head>
<body>
<form name="form1" id="form1" method="post" onsubmit="cek()">
<input type="hidden" id="media" name="media" value="">
<input type="submit" id="submit" name="submit" value="cek">
</form>
<?php
$varPHP = $_POST['media'];
echo "variabel javascript yang telah diisikan ke variabel php : $varPHP";
?>
</body>
</html>
Disana dimisalkan telah didapatkan nilai dari suatu variabel javascript. Kemudian langkah selanjutnya adalah mengisikan value ke form input di kode HTMLnya
document.form1.media.value = varJS;
- form1 -> nama form
- media -> nama input text
Baru kemudian nilainya diambil oleh sintaks phpnya dengan cara $varPHP = $_POST['media']; untuk dimasukkan ke dalam variabel PHP $varPHP.
BERHASIL

Kemudian, bagaimana jika sebaliknya, MENYIMPAN NILAI VARIABEL PHP KE VARIABEL JAVASCRIPT? Caranya pun juga tidak terlalu sulit karena disini kita juga menggunakan kekuatan magic dari form, namun tidak memerlukan form input.

Intinya adalah menggunakan suatu parameter, misalnya sebagai berikut:
<html>
<head>
<title>passing php variable to javascript</title>
<script type="text/javascript">
function cek(A)
{
alert (A);
}
</script>
</head>
<body>
<?php $s="ini adalah nilai variabel php"; ?>
<form name="form1" id="form1" method="post" onsubmit="cek('<?php echo $s ?>')">
<input type="submit" id="sub" name="sub" value="tes variabel php">
</form>
</body>
</html>
<head>
<title>passing php variable to javascript</title>
<script type="text/javascript">
function cek(A)
{
alert (A);
}
</script>
</head>
<body>
<?php $s="ini adalah nilai variabel php"; ?>
<form name="form1" id="form1" method="post" onsubmit="cek('<?php echo $s ?>')">
<input type="submit" id="sub" name="sub" value="tes variabel php">
</form>
</body>
</html>
Disana, nilai dari variabel PHP akan disimpan sebagai variabel A (variabel javascript).
Atau bisa juga memakai form input dengan mengeset valuenya dengan nilai variabel PHP, kemudian fungsi cek (fungsi javacript) mengambil nilai dari form input tersebut dengan sintaks document.getElementByID('sub').value. Kalau disini kita tidak menggunakan parameter.
Namun, cara ini memiliki kelemahan, yaitu jika kita memakai tabel yang datanya diperoleh dari database, maka otomatis ID dari form input juga akan sama untuk tiap data (row) yang muncul. Sehingga nilai yang diambil pun pasti akan row tabel yang paling atas.
Kalau hanya ingin menampilkan variabel PHPnya saja di dalam javascript tanpa menyimpannya ke dalam variabel javascript, bisa langsung menggunakan sintaks berikut di dalam body HTML:
<?php $s="ini adalah nilai variabel php"; ?>
<?php echo "<script>alert('$s')</script>" ?>
<?php echo "<script>document.write('tes $s')</script>" ?>
<?php echo "<script>alert('$s')</script>" ?>
<?php echo "<script>document.write('tes $s')</script>" ?>
Tetapi tidak bisa dibalik seperti ini:
<script>alert("<?php $s ?>")</script>
<script>document.write("tes <?php $s ?>")</script>
<script>document.write("tes <?php $s ?>")</script>
Hal ini karena PHP sebagai server-side scripting tidak bisa dimasukkan ke javascript (TIDAK BERLAKU --> PHP on JAVASCRIPT)

-- Passing JavaScript variables to PHP -- Assigning JavaScript variables to PHP --
-- Passing PHP variables to JavaScript -- Assigning PHP variables to JavaScript --
kemen oy.. ada lagi gak pasing java scrip ke php dan sebaliknya nih,,
BalasHapusmaunya gimana bro?
Hapuscara lain coba baca di link lain yang disebutin diatas, dengan mengirimnya sebagai method post, atau dengan memanfaatan DOM (data object model) atau juga dengan cookies
cara yang ane terangin itu menurut ane yang paling enah sih
aku mau buat dia pake prompt javascript kan..
BalasHapuskan pake name=prompt("masukkan apa gitu")
nah pas di phpnya gimana tuh?
misalnya aku mau masukkin ke $nama di php bawahnya ...
biar ga pake form biar ga ngerusak tampilan gitu..
emang mau diapain setelah disimpan ke variabel php? mau langsung diolah dan ditampilin?
Hapustrima kasih om artikelnya...
BalasHapusKomentar ini telah dihapus oleh pengarang.
BalasHapusgan klo kita paki anchor/a dengan sub href, cara ambil variabel dari javascriptnya gimana?
BalasHapusmisalnya anchor seperti pada image gitu ya?
Hapussiippp... ini dia yang ta cari2.. thx ya.. :)
BalasHapusThanks Mas ilmu'a.... Ini yg dicari2.... sukses terus mas...
BalasHapusmantap gan....
BalasHapusfdsfdsfasdfasdfadsfafasdf
BalasHapussiiiiiiiip kereeen gan
BalasHapusgan lok g make tombol gmn??
BalasHapusbisa aja, asal bisa post back
Hapusiya gan misalnya post datanya pake link/anchor bukan pake tombol submit gmana gan..? Hehehe... Btw nica share gan.. :D
Hapusmaksutmu biar bisa navigate url? bisa saja kok :)
Hapuswaduh ternyata banyak yang ga tau ya pasing javascript variable ke php ga pake reload. tapi ane tau nih. kalo ente - ente mau tau ane jual 100 usd dollar aja deh. mau ga ? mumpung banyak yang belum tau nih ?
BalasHapuskagak perlu, aku juga udah tahu lewat web service, agak ribet memang, tapi oke
Hapusoke deh sekarang gimana caranya passing variable php ke javascript supaya ga keliatan waktu di viewsource. ga pake ajaxajaxan segale ga pake cookie.gimana ya ?
Hapuswaktu di viewsource di browser? loh bukannya kalau source php itu gak kelihatan di client? :O
Hapuswah ok juga...http://rumahdietnutrisi.com
BalasHapusthank brow
BalasHapusklo mau mengisi variable di dalam link ketika di klik linkt tersebut oleh user sistem menanyakan tentang dipilih atau tidak nya di bagian select option dengan value gmn caranya tu,, bisa dibantu gk?.,,
BalasHapusmaksutnya gimana gan? agak gak paham nih x_X
Hapusklo misal value nya ambil id d database gmn caranya ya ?? tolong pencerahanya :)
BalasHapusmaksutnya dari database dimasukkan ke variabel javascript?
Hapusiya mas . . . ,gmn ya caranya .. . .????
BalasHapusdimasukkan ke dalam php dahulu,kemudian baru ke javascript...
Hapusatau kalau mau langsung ya memakai web service
Keyeen.. ga pernah kepikiran sama saya sbelumnya
BalasHapusyah klo pake cara ini data yg diinput ke refresh donk ..
BalasHapuspke ajax brarti.. :ngacir
pakai ajax bisa, pakai web service juga bisa :)
HapusKomentar ini telah dihapus oleh pengarang.
BalasHapusklo phpnya di halaman yg terpisah gimana tuh??
BalasHapustinggal di post kan mas?
HapusMohon pencerahan. bagaimana caranya memasukkan nilai dari form java script ke variabel php . Mis : $nama = disini form java scriptnya apa ya. yang seperti alert gitu tapi ada inputanya. selanjutnya $nama akan saya proses di php.
BalasHapussudah saya jelaskan di artikel mas :-)
HapusMohon bantuannya, bagaimana kalo kasusnya seperti ini..
BalasHapusscript
var v =document.forms["form1"]["kode_barang"].value;
function test(){
php
$querypegawai = mysql_query("SELECT COUNT(*)+1 as hitung FROM TB_TRANSAKSI where kode_barang = " v;"");
$i=-1;
while ($datapegawai = mysql_fetch_array($querypegawai))
{
$i++;
php
script
kurang lebihnya begitu..
Jika tanpa where saya bisa mendapatkan nilainya,
namun saya tidak paham jika harus menggunakan where. bagaimana penulisannya jika menuliskan variabel javascript dalam tag php.
document.forms["form1"]["kode_barang"].value; input berikut saya buat hidden dan nilainya sudah ada.
saya membutuhkan hasil hitung untuk membuat kode barang.
dan saya menggunakan event on click untuk memanggil fungsi itu bukan fungsi post.
bukannya fungsi php itu tidak bisa dikondiskan di fungsi javascript? cmmiw..
Hapusbetul bang oky wijaya, saya juga punya coding seperti itu.!
Hapustrus kalo menurut suhu Arif Febriyanto solusinya bagaimana?
mohon codingnya di tulis untuk pemecahan permasalahan dari bang oky wijaya..
terima kasih
masalah disana bukan ada tidaknya klausa where, tetapi karena variabel javascript tersebut tidak bisa langsung dipakai ketika fungsi query php dijalankan
Hapusuntuk kasus tersebut saya belum pernah mencoba untuk onclientclick, karena jika menggunakan php saya selalu membuatnya menjadi postback untuk mendapatkan nilainya.
untuk kasus tersebut jika menggunakan .net bisa dilakukan dengan menggunakan ajax, kalau di-php saya belum pernah mencobanya.. mungkin secara logika sama.
demikian penjelasan yang bisa saya berikan, mohon maaf jika ada kekurangnnya :D
terima kasih atas tanggapan para master :D
Hapuskeren gan...
BalasHapusemoticonnya
asik :D
itu emoticon plurk sih :D
Hapuskalo form input sekalian ditampilin hasilnya gimana gan ?
BalasHapusora iso'' aku mumet :/ (tidak bisa'' pusing)
maksutnya gimana ya?
Hapussebenarnya ada cara lain yang lebih oke menggunakan ajax :D
Komentar ini telah dihapus oleh pengarang.
BalasHapusMau tanya mas ,cara memasukan nilai dari variabel javascript otomatis ke textfield form, mohon pencerahannya
BalasHapuskalau hanya memasukkan bisa langsung di aksi javascriptnya dengan langsung melakukan pengesetan terhadap value, namun jika ingin menyimpannya ke dalam variabel php dapat dilakukan dengan menyimppannya di hidden field
Hapussaya masih baru nih dgn php, saya mau tanya mas, jadi misalnya saya mau buat form. ada 3 halaman form pengisiannya dengan menggunakan checkbox, dan halaman ke4 nya adalah halaman hasilnya. bagaimana caranya saya bisa dapat semua jumlah checkbox yang telah dipilih dihalaman2 tersebut? mohon pencerahannya
BalasHapuskalau beda halaman susah, beda lagi kalau dalam 1 halaman tapi pakai panel
Hapuskalo misalnya ane mau nyimpan variabel lokasi (latitude & longitude) ke php trus disimpan ke database gimana ya..? bantu donk.. thanks before ya,.
BalasHapusvariabel lokasi didapat darimana mas?
Hapussaya masih belia untuk PHP mas, dan saya mau tnya mas master, apa mas sudah pernah menggunakan opener.document.form di java script?...
BalasHapusiya pernah.. biasanya saya gunakan untuk membuka popup yang isinya ntar dikirim ke parent-nya
Hapusmau tanya mas, saya punya dua halaman yang pertama dalam bentuk form terus yang kedua dalam bentuk table yang akan di select berdasarkan id untuk di masukkan ke form halaman pertama,
Hapusyang saya bingungkan, saya mau ambil data dari halaman ke dua terus saya explode dan terakhir hasil array nya akan terbentuk mnjdi select options di halaman pertama,
berikut coding nya...
halaman pertama
Lantai :
halaman ke dua
function post_value(lantai){
/*alert(lantai) test apakah data sudah masuk ke javascript*/
var lantai_N = lantai
var myarr = lantai_N.split(",");
var master = document.getElementById("lantai");
for (var i=0; i <= myarr.length; i++) {
var str = myarr[i];
var res = str.substring(0, 7); /*ini untuk isi select option berdasarkan lantai*/
master.options[master.options.length]= new Option(res, index);
}
opener.document.form1.lantai.value = lantai;
self.close();
}
no
ruangan
action
yang mau saya tanyakan bagaimana ya mas supaya kita select di halaman 2 tetapi menghasilkan select option di form halaman 1?..
terima kasih ya mas sebelumnya atas bantuannya :)
maaf mas, coding html saya tidak terbaca di blog ini, intinya di halaman 2 ada pariabel yang isinya lantai 1 ruang mkan, lantai 2 ruang mandi, dari variabel ini dijadikan array, dan nampil dihalaman pertama sebagai slect optiyon, terima kasih ni mas sebelumnya
Hapusini mas scrip nya
Hapusfunction post_value(lantai){
var lantai_N = lantai
var myarr = lantai_N.split(",");
for (var i=0; i <= myarr.length; i++) {
var str = myarr[i];
var wew = document.createElement("OPTION");
wew.setAttribute("value", str);
var t = document.createTextNode(str);
wew.appendChild(t);
//opener.document.form1.lantai.appendChild(x);
}
opener.document.form1.lantai.value = appendChild(wew);
self.close();
itu bukannya variabel wew akan terinisiasi terus difungsi for, harusnya inisiasinya ditaruh di luar for
Hapusmkasih mas master ...
HapusSelamat siang mas arif, saya mau tanya gimana caranya grid di buat variable ?
BalasHapusvar getgrouplist = function(){
group_id = $('#cbgroup').val();
g.post({
url: '/calendar/calendar/get_group_list',
dataType: 'json',
data:{
group_id: $('#cbgroup').val()
},
callback: function(result){
gridGroup.loadData('json',result);
}
});
}
//programmer : saeful bahri // fungsi untuk menampilkan grid list group
var gridGroup = $('#gridGroup')
.grid5({
height: 150,
dataType: 'json',
fontSize: 8,
column: {
"Group Participant": {
content: 'USERNAME',
width: 40
}
}
});
Gridgroupnya mau dibuat variable untuk di insert ke database, bisa dishare carnya ? terima kasih
maksudnya isi dari gridnya yang akan disimpan ke database?
HapusKomentar ini telah dihapus oleh pengarang.
BalasHapusada contoh javascript penjumlahan 2 bilangan g gan? 2 bilangan tsb d dapat dari inputan keyboard / tag < input >
BalasHapusselamat pagi, saya mau tanya
BalasHapuskalau membuat textfield pada inputan box(prompt) lebih dari satu,, bagaimana?
mohon infonya"
Luar biasa ..
BalasHapusDuaharian nyari konsep yang seperti ini, akhirnya nemu juga di website lokal ..
Begitu lihat kodingnya langsung terinspirasi ..
Trims Gan udah share trik jitunya ..
Mas Mau nayak , kalo misalnya variabeljavascript tersebut berada di dalam fungsi giman ya cara mengambilnya dan memasukan ke dalam variabel php
BalasHapusThank you gan. Saya jadi lebih ngerti.... Tapi ada gak gan, Postingan agan cara membuat website?(Misalnya: www.Arif-Febriyanto.com)
BalasHapusmas kalau saya mau load data dari database dari javascrip kemudian datanya di konversi ke json gimana ya? mohon bantuannya.. :)
BalasHapusTerimakasih banyak bro atas share ilmu nya
BalasHapusbro, mau tanya..
BalasHapusgimana caranya jika val id pada javascipt di masukkan kedalam query database..
saya mau buat pemanggilan data dari database menggunakan javascript..
om, dalam kasus yang pertama
BalasHapusdocument.form1.media.value = varJS;
jika inputan media kita ingin taruh di dalam perulangan seperti apa ya?
karena jika saya buat seperti ini tidak bisa terpanggil di inputan php nya
var i;
for (i=1; i<=4; i++){
document.form1.txt_persen_listing_ma_+i).value = 50;
}
mohon bantuannya mas