दिलचस्प पोस्ट
std :: स्ट्रिंग को चार * MSI vs nuget संकुल: कौन सी लगातार डिलीवरी के लिए बेहतर है? विभिन्न फोन / डिवाइस और ओएस संस्करणों पर एंड्रॉइड हेप आकार सेलेनियम वेबड्राइवर का उपयोग करके पॉप अप विंडो को कैसे संचालित किया जाए? दृश्य स्टूडियो समाधान फ़ाइलों को पार्स करना फिक्स चेतावनी "विवरण के लिए सी-स्टाइल नापसंद है" स्विफ्ट 3 में शब्द समानता / असमानता के संदर्भ में पायथन स्ट्रिंग इंटरनेशनल अपाचे 301 पोस्ट डेटा को पुनर्निर्देशित और संरक्षित करता है MySQL के लिए SQLite3 को स्थानांतरित करने का त्वरित आसान तरीका है? एसक्यूएल कहाँ .. खंड एकाधिक कॉलम में कैसे एक अद्वितीय कॉलम पर एक अद्वितीय सूचकांक बनाने के लिए? मैं 2 तारों के बीच समानता को कैसे माप सकता हूँ? सी / सी ++ बनाम क्लास बनाम कांगारु 2.0 के साथ काम करने वाले मोज़ेक 2.0 सामग्री एमडीडीआईअलोग का उदाहरण

PHP वैरिएबल के रूप में जावा स्क्रिप्ट व्हेरिएबल का उपयोग कैसे कर सकता हूं?

मैं जावास्क्रिप्ट चर PHP कोड में पीएचपी चर के रूप में शामिल करने की कोशिश कर रहा हूं, लेकिन मुझे ऐसा करने में समस्या आ रही है। जब कोई बटन क्लिक किया जाता है, तो निम्न फ़ंक्शन को बुलाया जाता है:

<script type="text/javascript"> function addTraining(leve, name, date) { var level_var = document.getElementById(leve); var training_name_var = document.getElementById(name); var training_date_var = document.getElementById(date); <?php $result = "INSERT INTO training(level, school_name, training_date) VALUES('level_var', 'training_name_var', 'training_date_var')" or die("Query not possible."); ?> </script> 

क्या यह संभव है?

वेब के समाधान से एकत्रित समाधान "PHP वैरिएबल के रूप में जावा स्क्रिप्ट व्हेरिएबल का उपयोग कैसे कर सकता हूं?"

PHP सर्वर-साइड चला रहा है। जावास्क्रिप्ट क्लाइंट साइड को पृष्ठ के अनुरोध करने वाले उपयोगकर्ता के ब्राउज़र में चलाया जाता है। जब तक जावास्क्रिप्ट निष्पादित होता है, तब तक सर्वर पर PHP पर कोई पहुंच नहीं होती है। ग्राहक-साइड बनाम सर्वर साइड कोडिंग के बारे में विवरण के साथ इस आलेख को पढ़ें।

संक्षेप में क्या होता है:

  • आप अपने कंप्यूटर पर अपने कंप्यूटर पर एक लिंक को अपने डेस्क के नीचे क्लिक करते हैं
  • ब्राउज़र एक HTTP अनुरोध बनाता है और इसे इंटरनेट पर एक सर्वर पर भेजता है
  • सर्वर जांचता है कि क्या वह अनुरोध को संभाल सकता है
  • यदि अनुरोध एक PHP पृष्ठ के लिए है, तो PHP इंटरप्रिटर शुरू किया गया है
  • PHP दुभाषिया आपके द्वारा अनुरोधित पेज में सभी PHP कोड चलाएगा
  • PHP इंटरप्रेटर किसी भी जेएस कोड को नहीं चलाएगा, क्योंकि इसके बारे में कोई सुराग नहीं है
  • सर्वर दुभाषिया द्वारा इकट्ठा किए गए पृष्ठ को अपने ब्राउज़र पर वापस भेज देगा
  • आपका ब्राउज़र पृष्ठ को प्रस्तुत करेगा और आपको दिखाता है
  • आपके कंप्यूटर पर जावास्क्रिप्ट निष्पादित होता है

आपके मामले में, PHP पृष्ठ में जेएस कोड लिख देगा, इसलिए यह तब निष्पादित किया जा सकता है जब पृष्ठ आपके ब्राउज़र में प्रदान किया जाता है। उस समय तक, आपके जेएस स्निपेट में PHP हिस्सा अब मौजूद नहीं है। इसे पहले से ही सर्वर पर निष्पादित किया गया था। इसने एक परिवर्तनीय $result बनाया जिसमें एक एसक्यूएल क्वेरी स्ट्रिंग था। आपने इसका उपयोग नहीं किया, इसलिए जब पृष्ठ आपके ब्राउज़र पर वापस भेज दिया जाता है, तो यह चला गया है। जब आपके ब्राउज़र में पृष्ठ को गाया जाता है तो स्रोत कोड को देखें। आप देखेंगे कि उस स्थिति में कुछ भी नहीं है जिस पर आप PHP कोड डालते हैं।

आप जो करना चाहते हैं, वह करने का एकमात्र तरीका या तो है:

  • एक PHP स्क्रिप्ट पर रीडायरेक्ट करें या
  • एक PHP स्क्रिप्ट के लिए एक AJAX कॉल करते हैं

उन मानों के साथ जो आप डेटाबेस में सम्मिलित करना चाहते हैं

 <script type="text/javascript"> var jvalue = 'this is javascript value'; <?php $abc = "<script>document.write(jvalue)</script>"?> </script> <?php echo 'php_'.$abc;?> 

आप ग्राहक-पक्ष और सर्वर साइड कोड भ्रमित होने लगते हैं। जब बटन क्लिक किया जाता है तो आपको सर्वर पर वेरिएबल भेजना होगा (पोस्ट, प्राप्त करें) जहां php निष्पादित किया जा सकता है। आप या तो पृष्ठ सबमिट कर सकते हैं या सिर्फ एक डाटा सबमिट करने के लिए एजेक्स कॉल का उपयोग कर सकते हैं। -डॉन

PHP सर्वर पर चलता है यह कुछ पाठ को प्रदर्शित करता है (आमतौर पर) यह तब क्लाइंट द्वारा पार्स किया जाता है

क्लाइंट पर पार्स करने के दौरान और बाद में, जावास्क्रिप्ट चलाता है। इस स्तर पर PHP स्क्रिप्ट के कुछ भी करने के लिए बहुत देर हो चुकी है।

यदि आप PHP में कुछ भी वापस प्राप्त करना चाहते हैं, तो आपको एक नया HTTP अनुरोध करने और उसमें डेटा शामिल करने की आवश्यकता है (क्वेरी स्ट्रिंग (डेटा प्राप्त करें) या संदेश निकाय (POST डेटा) में।

आप यह कर सकते हैं:

  • स्थान सेट करना (केवल GET)
  • एक फॉर्म जमा करना ( FormElement.submit() विधि के साथ)
  • XMLHttpRequest ऑब्जेक्ट का उपयोग करना (सामान्य रूप से अजाक्स के रूप में जाना जाने वाला तकनीक) विभिन्न पुस्तकालय आपके लिए यहां कुछ भारी भार उठाते हैं, जैसे YUI या jQuery ।

जो भी विकल्प आप चुनते हैं, PHP मूलतः एक ही है। $_GET या $_POST से पढ़ें, अपना डाटाबेस कोड चलाएं, फिर कुछ डेटा ग्राहक को लौटाएं।

कुछ हफ्ते पहले तुम्हारी तरह मुझे भी यही समस्या थी; लेकिन मैंने PHP और जावास्क्रिप्ट के बीच चर का आदान-प्रदान करने के लिए एक शानदार समाधान का आविष्कार किया। यह मेरे लिए अच्छी तरह से काम किया:

  1. एक HTML पृष्ठ पर एक छिपा हुआ फ़ॉर्म बनाएँ

  2. उस छिपे हुए फ़ॉर्म में टेक्स्ट बॉक्स या टेक्सटेरा बनाएं

  3. स्क्रिप्ट में लिखे गए आपके सभी कोड के बाद, उस पाठ बॉक्स में आपके चर के अंतिम मान को स्टोर करें

  4. अपने जावास्क्रिप्ट चर के मूल्य तक पहुंच प्राप्त करने के लिए अपने PHP में $ _REQUEST ['textbox name'] लाइन का उपयोग करें।

मुझे उम्मीद है कि यह चाल आपके लिए काम करती है।

आप इस तरह से सभी मान ले सकते हैं:

 $abc = "<script>document.getElementByID('yourid').value</script>"; 

आप जो चाहें कर सकते हैं, लेकिन ऐसा नहीं है। आपको क्या करने की ज़रूरत है जावास्क्रिप्ट से वापस सर्वर पर एक AJAX अनुरोध करना है जहां एक अलग PHP स्क्रिप्ट डेटाबेस ऑपरेशन कर सकता है।