IE के पुराने संस्करणों में इनपुट कार्य के लिए आवश्यक विशेषता कैसे बनाएं? तो, मुझे IE के पुराने संस्करणों में काम करने की आवश्यकता कैसे हो सकती है।

PHP की सबसे मज़ेदार और उपयोगी सुविधाओं में से एक अन्य फ़ाइल को शामिल करना है। उदाहरण के लिए, किसी वेबसाइट में एक शीर्ष मेनू, एक निचला मेनू और उनके बीच पृष्ठ सामग्री होती है। और, उदाहरण के लिए, साइट के 10 पृष्ठों पर निचला मेनू उपयोग किया जाता है। किसी समय इसमें परिवर्तन करने की आवश्यकता थी। HTML में आप मैन्युअल रूप से प्रत्येक व्यक्तिगत फ़ाइल में परिवर्तन करेंगे, लेकिन php आपको साइट के साथ काम करना काफी सरल बनाने की अनुमति देता है! निचले मेनू का कोड एक अलग फ़ाइल में समाहित किया जा सकता है, और 10 पृष्ठों में से प्रत्येक पर आप बस इस अलग फ़ाइल को शामिल कर सकते हैं! अर्थात्, सभी परिवर्तन अब केवल मेनू वाली फ़ाइल में किए जाने की आवश्यकता है, और 10 अन्य पर यह परिवर्तनों के साथ प्रदर्शित किया जाएगा।

सरल रूसी भाषा में php में कनेक्ट करने का अर्थ:

फ़ाइल 1.php
श्रेष्ठतम व्यंजन - सूची

फ़ाइल 2.php
निचला मेनू

example.php फ़ाइल
फ़ाइल कनेक्ट करें 1.php
पृष्ठ सामग्री
फ़ाइल 2.php कनेक्ट करें

example.php फ़ाइल को संसाधित करने के परिणामस्वरूप, इसे प्रदर्शित किया जाएगा
श्रेष्ठतम व्यंजन - सूची
पृष्ठ सामग्री
निचला मेनू
तदनुसार, निचले मेनू में कुछ भी बदलने के लिए, आपको केवल 2.php फ़ाइल में परिवर्तन करने की आवश्यकता है

फ़ाइल का पथ फ़ाइल फ़ाइल के लिए निर्दिष्ट पथ के अनुसार कनेक्ट की गई है। दो पथ विकल्प हैं: सापेक्ष और निरपेक्ष। सापेक्ष - यह कनेक्शन निर्देशों के साथ फ़ाइल के सापेक्ष कनेक्टेड फ़ाइल के पथ का एक संकेत है। निरपेक्ष - शामिल फ़ाइल का पूरा पथ निर्दिष्ट करना।

पीएचपी कोड

// सापेक्ष पथ का उदाहरण
शामिल करें "include/your_file.php"; // फ़ाइल शामिल फ़ोल्डर में है, जो कनेक्शन फ़ाइल के समान निर्देशिका में स्थित है

// निरपेक्ष पथ का उदाहरण
$_SERVER["DOCUMENT_ROOT"] शामिल करें।"/include/your_file.php"; // $_SERVER["DOCUMENT_ROOT"] - साइट की मूल निर्देशिका को इंगित करता है

include और include_onceinclude() PHP स्क्रिप्ट के निष्पादन के दौरान PHP स्क्रिप्ट कोड में फ़ाइलों को शामिल करने के लिए डिज़ाइन किए गए निर्माण हैं। कोड को संसाधित करते समय, अनुदेश को संलग्न फ़ाइल की सामग्री से बदल दिया जाता है। मैं तुरंत एक उदाहरण देखने का सुझाव देता हूं।

आइए देखें कि उदाहरण के तौर पर दो फ़ाइलों का उपयोग करके कार्यों को कैसे शामिल किया जाए: Index.php और text.php । कार्य की सरलता के लिए, मान लें कि वे एक ही निर्देशिका में स्थित हैं।

PHP कोड (index.php फ़ाइल)

इको "सादा पाठ मुख्य फ़ाइल में निहित";
"text.php" शामिल करें; // text.php फ़ाइल की सामग्री शामिल करें

?>
PHP कोड (text.php फ़ाइल)

इको "शामिल फ़ाइल में शामिल पाठ";

?>
Index.php फ़ाइल चलाने का परिणाम होगा:

मुख्य फ़ाइल में सादा पाठ समाहित है
शामिल फ़ाइल में पाठ शामिल है
क्या यह सचमुच सुविधाजनक है? अब, text.php फ़ाइल में सामग्री को बदलने से, Index.php का परिणाम पूरी तरह से अलग होगा!

अब दूसरे निर्माण के बारे में बात करते हैं - include_once। यह बिल्कुल शामिल के समान ही काम करता है, केवल बाद में और उन मामलों के लिए बनाया जाता है जब फ़ाइल को दोबारा शामिल नहीं किया जा सकता है। उदाहरण के लिए, आपको डर है कि किसी त्रुटि के परिणामस्वरूप आप किसी फ़ाइल को 2 या अधिक बार कनेक्ट कर सकते हैं, जिससे पृष्ठ सही ढंग से काम नहीं करेगा और संबंधित त्रुटि संदेश प्राप्त नहीं होगा।

पीएचपी कोड

शामिल करें_एक बार "text.php"; // text.php फ़ाइल केवल एक बार शामिल की जाएगी

// नीचे दिए गए पुन: कनेक्शनों को ध्यान में नहीं रखा जाएगा और प्रदर्शित नहीं किया जाएगा
// और इससे कोई त्रुटि संदेश प्रदर्शित नहीं होगा
शामिल करें_एक बार "text.php"; // कुछ न होगा

आवश्यकता और आवश्यकता_एक बार आवश्यकता और आवश्यकता_एक बार निर्देश केवल एक सुविधा के अपवाद के साथ शामिल करने और शामिल करने के लिए समान रूप से काम करते हैं - यदि शामिल फ़ाइल नहीं मिलती है, तो स्क्रिप्ट निष्पादन रोक दिया जाएगा (स्क्रिप्ट अब नहीं पढ़ी जाएगी), जबकि शामिल करें और शामिल करें_एक बार बस चेतावनी प्रिंट करें और स्क्रिप्ट का आगे निष्पादन जारी रखें यदि शामिल या आवश्यकता काम नहीं करती है तो शामिल न करने के कारणों को समझने के लिए, मैं हर चीज़ को चरण दर चरण जाँचने का सुझाव देता हूँ। नीचे दिए गए बिंदु चाहे कितने भी स्पष्ट और सतही क्यों न हों, सब कुछ शुरू से ही जांच लें

1. जांचें कि क्या आपका सर्वर और php काम कर रहे हैं, और क्या साइट पर कोई php कोड बिल्कुल भी काम कर रहा है
2. जांचें कि क्या शामिल फ़ाइल मौजूद है
3. जांचें कि कनेक्शन में फ़ाइल नाम और एक्सटेंशन सही ढंग से दर्ज किए गए हैं या नहीं
4. सुनिश्चित करें कि सम्मिलित php फ़ाइल वास्तव में आपके द्वारा निर्दिष्ट पते पर स्थित है
5. एक सापेक्ष पथ नहीं, बल्कि एक निरपेक्ष पथ (फ़ाइल का पूर्ण पथ) निर्दिष्ट करने का प्रयास करें।

उदाहरण PHP कोड

"http://www.example.com/include/your_file.php" शामिल करें;

//DOCUMENT_ROOT - संसाधन की मूल निर्देशिका को दर्शाता है
$_SERVER["DOCUMENT_ROOT"] शामिल करें।"/include/your_file.php";

6. यदि आपकी फ़ाइल कनेक्ट नहीं होती है और कोई त्रुटि प्रदर्शित नहीं होती है, तो जिस फ़ाइल से आप कनेक्ट कर रहे हैं उस निर्देशिका में, निम्नलिखित सामग्री के साथ एक .htaccess फ़ाइल बनाएं

Php_फ़्लैग डिस्प्ले_त्रुटियाँ चालू
या php फ़ाइल में, कनेक्ट करने से पहले, निम्न पंक्ति डालें

त्रुटि_रिपोर्टिंग(E_ALL);
दोनों सेटिंग्स त्रुटियों को प्रदर्शित करने के लिए बाध्य करेंगी

आपके ध्यान देने के लिए धन्यवाद!

किसी भी वेब डेवलपर के लिए, उसके उत्पाद की पूर्ण क्रॉस-ब्राउज़र अनुकूलता से अधिक गंभीर समस्या वर्तमान में कोई नहीं है। यह संभवतः एक अच्छे विशेषज्ञ के मुख्य कार्यों में से एक है: यह सुनिश्चित करना कि उसकी वेबसाइट सभी ब्राउज़रों में हमेशा सही ढंग से प्रदर्शित हो।

आवश्यक पैरामीटर, जो कभी-कभी इनपुट के लिए उपयोग किया जाता है, प्राचीन IE में काम नहीं करता है, जिसे ऐसे ही नहीं छोड़ा जा सकता है। सेवानिवृत्त उपयोगकर्ता जो अभी भी IE6 का उपयोग कर रहे हैं, उन्हें आपकी साइट के साथ Google Chrome के नवीनतम संस्करण के उपयोगकर्ताओं के समान उपयोग में आसानी होनी चाहिए। वेब डेवलपर्स के अलावा कौन उनकी देखभाल कर सकता है।

दुखती रग के बारे में, इंटरनेट एक्सप्लोरर के बारे में

सामान्य ब्राउज़रों के लिए, जिनमें फ़ायरफ़ॉक्स, ओपेरा और गूगल क्रोम शामिल हैं, यह कार्य अपेक्षाकृत आसान है। इन ब्राउज़रों के पुराने संस्करण भी HTML कोड को समान रूप से अच्छी तरह प्रदर्शित करते हैं, जब तक कि निश्चित रूप से, कुछ नई तकनीकों का उपयोग नहीं किया जाता है। लेकिन इंटरनेट एक्सप्लोरर परिवार के ब्राउज़रों में इसे हासिल करने के लिए अत्यंत कठिन प्रयासों की आवश्यकता है।

इंटरनेट एक्सप्लोरर ब्राउज़र के प्रत्येक संस्करण की अपनी अनूठी मूर्खता है। IE6 में जो काम करता है वह IE7 में ठीक से काम नहीं कर सकता है और इसके विपरीत भी। Microsoft अपने ब्राउज़र के नवीनतम संस्करण में भी इस चिड़ियाघर पर काबू नहीं पा सका।

मैं यह नहीं समझ पा रहा हूं कि ब्राउज़र डेवलपर वेबसाइट निर्माण के लिए W3C मानकों को क्यों नहीं खोल और पढ़ सकते हैं।

इसलिए, एक वेब डेवलपर के रूप में, मुझे सनकी ब्राउज़रों और साइट विज़िटरों के बीच एक प्रकार की "परत" के रूप में कार्य करना होगा, जिन्हें ज्ञान और तमाशा की आवश्यकता होती है। और यह बहुत अच्छा है कि वेब डेवलपर्स अब तक ऐसा करने में कामयाब रहे हैं।

तो, मुझे IE के पुराने संस्करणों में काम करने की आवश्यकता कैसे हो सकती है?

जेएस हमारी सहायता के लिए आता है। पहले, मैं इसे बर्दाश्त नहीं कर पाता था, लेकिन अब मुझे "सही" वेब के विस्तार में इसके बिना आगे का रास्ता नहीं दिखता।

नीचे दिए गए समाधान का आविष्कार मैंने स्वयं नहीं किया, बल्कि इसे एक बुर्जुआ ब्लॉग से लिया। चूँकि मैं लालची हूँ और ब्लॉग बुर्जुआ है, इसलिए मैं इसका लिंक नहीं दूँगा।

FnCheckFields() फ़ंक्शन हर चीज़ के लिए ज़िम्मेदार होगा। अपनी साइट पर JS कोड डालें:

फ़ंक्शन fnCheckFields(form_obj)( var error_msg = "कृपया सभी आवश्यक फ़ील्ड भरें।"; var is_error = false; for (var i = 0; form_obj_elem = form_obj.elements[i]; i++) यदि (form_obj_elem.type "इनपुट" ||. form_obj_elem.type "text") if (form_obj_elem.getAttribute("required") && !form_obj_elem.value) is_error = true; if (is_error) अलर्ट(error_msg);

आमतौर पर इसे पृष्ठ की शुरुआत में HEAD html टैग के बीच रखने की अनुशंसा की जाती है, लेकिन मैं फिर भी इसे समापन BODY टैग से पहले पृष्ठ के बिल्कुल नीचे रखने की अनुशंसा करूंगा। इस तरह JS का पेज लोडिंग स्पीड पर कम प्रभाव पड़ता है।

इनपुट विंडो जहां आवश्यक पैरामीटर दर्ज किया जाना चाहिए, html में इस तरह दिखना चाहिए:

यह स्क्रिप्ट बहुत सरलता से काम करती है: सबमिट बटन पर क्लिक करने के बाद, स्क्रिप्ट आवश्यक पैरामीटर की उपस्थिति के लिए सभी इनपुट की जांच करती है और यदि उसे यह मिलता है, तो यह तदनुसार इस फ़ील्ड के दर्ज मूल्य को देखता है। यदि ऐसे इनपुट में कुछ भी दर्ज नहीं किया गया है, तो इनपुट की आवश्यकता के बारे में एक चेतावनी विंडो प्रदर्शित होती है। तदनुसार, डेटा कहीं भी नहीं भेजा जाता है।

यह भी बहुत अच्छा है कि यदि आपके पास एक सामान्य ब्राउज़र है जो पहले से ही इस पैरामीटर को अपेक्षित रूप से समझना सीख चुका है, तो ऐसी चेतावनी विंडो पॉप अप नहीं होगी और आपके ब्राउज़र के लिए आवश्यक पैरामीटर को संसाधित करने के लिए मानक उपकरण काम करेंगे।

सोशल मीडिया पर साझा करें नेटवर्क

0

मैं एक छोटा PHP MVC ढाँचा बना रहा हूँ और यहाँ मेरी संरचना है

/ऐप /कंट्रोलर /मॉडल /व्यू /टेम्पलेट्स /कॉन्फिग /कॉन्फिग.php /कोर /कंट्रोलर.php /राउटर.php /init.php /index.php

फ़ोल्डर्स Index.php के अंदर जो फ्रंट कंट्रोलर है मेरे पास init.php /app/core/init.php से यह कोड चाहिए

ऐप/कोर/init.php

init.php को /core डायरेक्टरी में प्रत्येक बेस कंट्रोलर और क्लास की आवश्यकता होती है, जिसमें कंट्रोलर.php और राउटर.php शामिल हैं और यहां Index.php भी क्लास को इंस्टेंट करता है

फिलहाल हर चीज ठीक काम कर रही है, क्योंकि मैंने कंट्रोलर.php और राउटर.php दोनों में एक कंस्ट्रक्टर बनाकर इसका परीक्षण किया है, इसलिए इन दोनों फाइलों में कोड इस तरह होगा

ऐप/कोर/नियंत्रक.php

एप्लिकेशन/कर्नेल/राउटर। पीएचपी

Index.php के अंदर यह गूंजता है ठीक है! चूंकि कक्षाएं सही ढंग से बनाई गई हैं, लेकिन समस्या तब होती है जब मैं config.php को शामिल करना चाहता हूं जो /app/config/config.php में है,controller.php से जो /app/core/Controller.php में है इस कोड के साथ

जब भी मैं ऐसा करता हूं यह त्रुटि लौटाता है

नियंत्रक::शामिल(../config/config.php): स्ट्रीम खोलने में विफल: लाइन 6 पर C:\AppServ\www\myapp\app\core\Controller.php में ऐसी कोई फ़ाइल या निर्देशिका नहीं है

नियंत्रक::शामिल(): C:\AppServ\www\myapp\app\core\Controller में शामिल करने के लिए "../config/config.php" खोलने में विफल (include_path='.;C:\php5\pear") .php लाइन 6 पर

मुझे लगता है कि मैंने सही स्थान का उपयोग किया है, मैं /app/core/Controller.php के साथ काम कर रहा हूं और मुझे /app/config/config.php की आवश्यकता है। मैं ../ का उपयोग करके एक निर्देशिका पर लौट रहा हूं

तो फिर मैं फ़ाइल पर दावा क्यों नहीं कर सकता?

  • 3 उत्तर
  • छँटाई:

    गतिविधि

2

मेरे व्यक्तिगत अनुभव से, सापेक्ष फ़ाइल पथों का उपयोग करने से कुछ बिंदु पर सिरदर्द हो सकता है। इसलिए मैं आमतौर पर फ़ाइल के लिए पूर्ण पथ का उपयोग करता हूं। इसका फायदा यह भी है कि यह थोड़ा तेज है। फिर यदि किसी बिंदु पर आपको शामिल त्रुटि मिलती है, तो त्रुटि ढूंढना आसान हो जाता है क्योंकि आपके पास संपूर्ण पथ उपलब्ध है।

निरपेक्ष पथ करने में सक्षम होने के लिए, मैं अनुशंसा करूंगा कि आप अपनी Index.php (फ्रंटकंट्रोलर) फ़ाइल में एक स्थिरांक जोड़ें। कुछ इस प्रकार:

परिभाषित("ROOT_PATH", realpath(dirname(__FILE__)) . DIRECTORY_SEPARATOR);

ROOT_PATH नामक एक स्थिरांक को परिभाषित करता है जो उस निर्देशिका को संदर्भित करता है जहां Index.php फ़ाइल स्थित है, और इसलिए आपकी रूट निर्देशिका। उसी समय, मैंने पथ लिखना आसान बनाने के लिए अंत में एक निर्देशिका विभाजक जोड़ा। इसका उपयोग करने के लिए, आपको लिखना होगा।

एक बार ROOT_PATH की आवश्यकता है। "config/config.php";

बोनस सूचना

लेकिन यदि आप इस दृष्टिकोण का उपयोग अपने कंट्रोलर.php वर्ग में करते हैं तो आप इसे इस स्थिरांक पर निर्भर बनाते हैं। इसे ठीक करने के लिए, आप कंस्ट्रक्टर में रूट पथ को एक वेरिएबल के रूप में पास कर सकते हैं।

सार्वजनिक फ़ंक्शन __construct($root) (...

और फिर इसे निम्नलिखित की तरह उपयोग करें:

सार्वजनिक फ़ंक्शन __construct($root) ( require_once($root . "config/config.php"); )

उम्मीद है ये मदद करेगा।

0

मुझे नहीं पता कि क्या हो रहा है, लेकिन require_once() खुद को include() के रूप में संदर्भित करते समय कोई त्रुटि नहीं दे रहा था क्योंकि वे अलग-अलग फ़ंक्शन हैं, साथ ही यदि यह संपूर्ण कोड है, तो त्रुटि पंक्ति संख्या आपके समान नहीं है require_once() लाइन, क्योंकि यह 4 होनी चाहिए। अपने वेबसर्वर को पुनरारंभ करने का प्रयास करें और देखें कि क्या इससे कुछ ठीक होता है, अन्यथा आप शायद किसी बात का मजाक बना रहे होंगे।