Javascript, istemci tabanlı, oldukça kullanışlı bir script dili. Php ile yapamayacağımız bazı işlemlerde javascript kullanıyoruz. Ancak bazen javascript ile php arasında değişken veya bilgi alışverişinde bulunulmasını sağlamamız gerekebiliyor. İkisi arasında ortak değişken kullanımı normalde imkansız. Yani bir php değişkenini bir javascript değişkeniymiş gibi kullanmanıza imkan olmadığı gibi tersi de imkansız.
Ancak dolaylı yollarla bunu sağlamamız mümkün. İlk önce daha basit olduğu için javascripte phpden veri aktarmanın yolunu bir kod örneği üzerinde görelim :
Yalnız yukarıdaki örnekte, scriptin bir php sayfası tarafından oluşturulduğuna dikkat edelim.
Şimdi gelelim asıl sorunumuza. Javascriptten phpye veri aktarma sorununa yani. Bunu ajax ile gerçekleştirmek mümkün. Ancak sırf bir değişkeni aktarmak için ikide bir ajaxı devreye sokmak pek mantıklı değil. Bunun yerine javascriptin navigate metodundan yararlanacağız ve phpnin get metoduyla javascriptten veri almasını sağlayacağız. ( Navigete firefoxta çalışmadı, navigate metodunu kullanmak yerine location'ı değiştirebilirsiniz. ) Bunu yine kısa ve basit bir örnek üzerinde görelim :
isset fonksiyonu ile böyle bir verinin gelip gelmediğini kontrol ettik. Böylece isterseniz her iki kodu da aynı sayfa içinde yazabilirsiniz. Bu yöntem bazen çok kullanışlı olabiliyor, bu sadece küçük bir örnek...
Murat#6
31/07/2010, 20:18
mysql veritabanında bulunan bir veriyi bir javascript dosyasının içindeki bir fonksiyonda if-else yapısı içinde kullanmak istiyorum.Yardımcı olursanız sevinirim.
Hüseyin Atasoy#7
31/07/2010, 22:17
Tam olarak ne yapmak istediğiniz bilmiyorum ama ajax ile mysql veritabanından veri alan bir dosyaya çağrıda bulunup, javascript fonksiyonlarında kullanmak üzere veri çekebilirsiniz.
Halil KETREZ#8
12/11/2010, 09:51
Merhaba Hocam;
Elinize sağlık gerçekten çok açıklayıcı bilgiler vermişsiniz...
Konu hakkında ne kadar uzman olduğunuz ortada...
Yapamadığım bir olay var.
Veri tabanındaki zaman bilgisini alıp o zaman gelene kadar geri sayım yaptırıp o zaman geldiğinde tekrar veri tabanına veri işlemem gerekiyor.
Bu arada bir buton olacak her basıldığında geri sayım sayacı 30 sn artacak. (Bunlar javascript)
Sanırım arkada çalışan bir php dosyası olacak javascript kodlarının olduğu sayfadan o sayfaya veri gönderilecek o sayfada veri işlenip tekrar sonuç alınacak.
Küçük bir örnek gösterirseniz çok memnun olurum hocam...
İlginiz için çok teşlekkür ederim...
Hüseyin Atasoy#9
20/11/2010, 08:02
Örnek pek küçük olacağa benzemiyor :) Zaman bulursam bir örnek yollarım.
cenk sanal#10
11/04/2011, 05:26
hocam bunu <input type="file" ... içinde yapabiliyor muyuz?
ben beceremedim
normalde forum böyle:
<form action="uploadfile.asp" method="post" enctype="multipart/form-data">
<input type="file" name="file1" />
<input type="submit" value="Upload" name="submit">
</form>
yazdığınız şekilde uyarlamaya çalıştım beceremedim galiba
<body onload="degiskengonder();">
<form name="Form1" action="uploadfile.asp" method="post" enctype="multipart/form-data">
<input id="degiskenicin" type='file' name='file1' value=''>
</form>
<script language="javascript">
function degiskengonder()
{
var javascriptdegiskeni = "C:\resim.jpg";
document.getElementById('degiskenicin').value = javascriptdegiskeni;
document.getElementById('Form1').submit();
}
</script>
yardımcı olursanız çok sevinirim
Hüseyin Atasoy#11
11/04/2011, 09:00
Güvenlik sebebiyle buna izin verilmiyor. Düşünsenize, bir internet sitesini açıyorsunuz ve sayfa siz ne olduğunu anlayamadan size ait bir dosyayı kendi sunucusuna çekiyor. Bu gerçekten bir güvenlik problemi olurdu.
cenk sanal#12
12/04/2011, 00:18
ilgilendiğiniz için teşekkür ederim hocam
Bason#13
14/12/2011, 00:10
Gerçekten çok teşekkürler 2 gündür uğraştığım java script sorununu sizin sayenizde düzelttim.
coder#14
25/04/2012, 19:26
javascript ile birden fazla değişken nasıl gönderebilirim yardımcı olursanız sevinirim...
window.location.href="cevapDurum.php?C=D?dS=" + dS; //burada problem yok ancak bir değişken daha göndermek için ne yapmam gerkior bi kaç yol denedim ancak olmadı
Hüseyin Atasoy#15
26/04/2012, 08:34
Bu şekilde istediğiniz sayıda değişkeni gönderebilirsiniz. İlk değişkeni sayfa isminden ? işareti ile ayırdıktan sonra her bir değişkeni diğerlerinden & işareti ile ayırmanız yeterli. Örneğin;
window.location = "verial.php?degisken1=" + jsDegiskeni1 + "°isken2=" + jsDegiskeni2;