php - How can I make sure my button stays even after it has reset the page -


मेरे पास निम्न है:

  $ अनुमति_रेफ़ेर = array ("https: // localhost /**blah.php** "); // इस सरणी $ referal = $ _SERVER ['HTTP_REFERER'] में अनुमत साइटों को जोड़ें; यदि (in_array ($ referal, $ allow_referer)) {// do-stuff}   

इसलिए यदि पृष्ठ blah.php से आ रहा है तो सहेजें बटन है सबमिट करने के बजाय सबमिट करने की अनुमति दी गई मैंने इसे सेट अप किया है जहां बचत बटन डेटाबेस को अपडेट करता है और डेटाबेस में सबमिट बटन सम्मिलित होता है।

  & lt?? php if (! in_array ($ referal, $ अनुमति_रेफ़र)) {? & gt; & Lt; बटन प्रकार = "सबमिट करें" नाम = "सबमिट करें" मान = "सबमिट-नया" & gt; & Lt; / बटन & gt; सबमिट करें & Lt;? Php} और {? & Gt; & Lt; बटन प्रकार = "सबमिट करें" नाम = "सबमिट करें" value = "save-new" & gt; सहेजें & lt; / बटन & gt; & Lt;? Php}? & Gt;   

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

आप जानकारी संग्रहीत कर सकते हैं < कोड> पहली बार एक ज्ञात रेफेरर से आने वाले उपयोगकर्ता जब आप इसे पहली बार घसीटते हैं:

  $ अनुमति_रेफ़ेर = array ("https: // localhost / ** blah .php ** "); // इस सरणी $ referal = $ _SERVER ['HTTP_REFERER'] में अनुमत साइटों को जोड़ें; अगर (in_array ($ referal, $ अनुमति_रेफ़र)) {// सत्र $ _SESSION ['come_from_known_referer'] = सच में एक ध्वज को स्टोर करें; // do-stuff}   

और फिर अपना कोड संशोधित करें:

  & lt?? Php if (! Isset ($ _ session ['come_from_known_referer']) ) {? & Gt; & Lt; बटन प्रकार = "सबमिट करें" नाम = "सबमिट करें" मान = "सबमिट-नया" & gt; & Lt; / बटन & gt; सबमिट करें & Lt;? Php} और {? & Gt; & Lt; बटन प्रकार = "सबमिट करें" नाम = "सबमिट करें" value = "save-new" & gt; सहेजें & lt; / बटन & gt; & Lt;? Php}? & Gt;   

एक sidenote के रूप में, याद रखें कि कोई उपयोगकर्ता हेडर को अपने सर्वर पर भेजी या संशोधित कर सकता है, इसलिए इस पर महत्वपूर्ण कार्यविधियों के लिए भरोसा मत करो।

Comments

Popular posts from this blog

asp.net - Procedure or function "Procedure name" expects a parameter "Param name" which was not supplied occurs rarely -

jsp - No mapping found for HTTP request with URI with annotation config Spring MVC and Jetty -

sql server ce - Is there some way to make sqlce3.5 and 4.0 co-exist in the C# project -