PHP tanıyabilir ki JavaScript ile bir değişken oluşturabilir miyim?

5 Cevap php

Ben sadece JavaScript etkinse çalıştırmak istediğiniz PHP tabloların bir dizi var.

if($js_enabled == 'yes') {
   //Run a series of PHP statements
}

Benim sorunum javascript ile bu $ js_enabled değişken oluşturmak istiyor. JavaScript etkinse nedenle, değişken oluşturulur ve PHP ifadeleri çalıştırmak olacaktır, ancak javascript etkin değilse, değişken oluşturulur asla ve PHP ifadeleri çalışmaz.

Nasıl PHP tanıyabilir ki JavaScript ile bir değişken oluşturabilir?

5 Cevap

Sen yapabilirsin

$browser = get_browser();
if ($browser['javascript'] == 1) {
    // your code here
}

documentation for get_browser uyarılar için, özellikle okuyunuz

Note: In order for this to work, your browscap configuration setting in php.ini must point to the correct location of the browscap.ini file on your system. browscap.ini is not bundled with PHP, but you may find an up-to-date » php_browscap.ini file here. While browscap.ini contains information on many browsers, it relies on user updates to keep the database current. The format of the file is fairly self-explanatory.

Ayrıca get_browser için açıklamalarda verilen bağlantıyı çıkış:


Doğru yorumlarda işaret gibi JavaScript enabled ise EDIT, yukarıda size söylemeyeceğim ama tarayıcı sadece olmadığını capable bunu çalışan. Serverside ilk çalıştığı için Serverside gelen clientside hakkında bulmak, mümkün değildir. Eğer bir şey, örneğin, after, bir sayfa hizmet olmuştur serverside bilgilendirmek @ mck89 önerilen veya basitçe sonraki her istek üzerine okuyabilirsiniz bir cookie gibi.

Siteniz JavaScript gerektiriyorsa Ama genel olarak konuşursak, sadece örneğin, bu gereksinim hakkında kullanıcıyı bilgilendirmek için bir mesaj eklemek gerekir:

<noscript>This page requires JavaScript to run properly</noscript>

Diğer bir deyişle, PHP kontrol etmiyoruz. Sadece tarayıcı kullanabilirsiniz if JavaScript ve kullanmayı düşünün her değişkenleri set graceful degradation or progressive enhancement.

Neden sadece bir ajax isteği değil mi? Javascript devre dışı bırakıldıysa ajax isteği javascript ajax isteği PHP komut dosyası yürütme başlatır etkinse PHP komut dosyası, idam olmayacak şekilde yapılamaz.

Sen gizli bir alanda bu değeri saklayabilir. ve sunucu tarafında kontrol.

I kötü ben Aksi halde ben JS olmadan benim sayfaları çalışmıyor yapacak .. formu işlerken bunu kontrol önce o sayfadaki bir form değişken (prefferably gizli) ayarlamak için JavaScript kullanmak ve olacağını ihtiyacınız olur eğer ...

Bu yapılamaz. Javascript after php yorumlama zaten yapılmıştır ve kod zaten kullanıcının tarayıcısında oturur sadece yorumlanır iken PHP sunucu tarafı. Ajax kullanarak bir çözüm deneyin. javascript_enabled eğer -> ajax ile bazı php sayfası diyoruz.