यूट्यूब एक ही यूआरएल पर नए संस्करण को कैसे पेश करता है?

मैं अपनी वेबसाइट का नया संस्करण बनाना चाहता हूं और उपयोगकर्ताओं से यह कोशिश करने के लिए कहता हूं, लेकिन मुझे वही यूआरएल चाहिए

क्या यह करने का सबसे अच्छा तरीका है?

  //code executes if user asks to make the new version the default.
setcookie("newversion", "true", mktime(0,0,0,12,31,2011));

this is the /index.php

if($_COOKIE['newversion'] == "true") {

    /**
    * load the new version of the site.
    *
    **/
    exit();
} else {

    /**
    * load the older version of the site.
    *
    **/

}

मुझे इस तरह के कोई ट्यूटोरियल या प्रश्न नहीं मिला, इसलिए कृपया मदद करें।

0
आप एक ही उदाहरण में एक कुकी सेट और एक्सेस नहीं कर सकते हैं।
जोड़ा लेखक Mob, स्रोत
setcookie() के माध्यम से कुकी सेट करना अगले पृष्ठ लोड तक _COOKIE superglobal को प्रभावित नहीं करेगा। आपके कोड को निष्पादित करना शुरू होने से पहले सुपरग्लोबल्स प्रारंभ/पॉप्युलेट किए जाते हैं, और फिर PHP द्वारा फिर से स्पर्श नहीं किए जाते हैं।
जोड़ा लेखक Marc B, स्रोत
मुझे पता है कि यह सिर्फ एक उदाहरण था, यह सवाल मैं संपादित नहीं करूँगा, यह सिर्फ एक उदाहरण था, मुझे यह जानने की जरूरत है कि यह करने का सबसे साफ तरीका है या नहीं।
जोड़ा लेखक Pinokyo, स्रोत

1 उत्तर

यह वही तरीका है जिस पर यूट्यूब एचटीएमएल 5 वीडियो लागू करता है ( PREF कुकी के माध्यम से)। चूंकि आप अक्सर अपनी साइट का एक हिस्सा बदलना चाहते हैं, इसलिए कोड इस तरह दिख सकता है:

$prefs = array('version'=>'1', $html5=false);
$prefs = array_merge($prefs, parsePrefs($_COOKIE['PREFS']));
if ($prefs['version'] == '1') {
  old_header();
} else if ($prefs['version'] == '2') {
  new_header();
}

वैकल्पिक रूप से, आप निश्चित रूप से दो शुरुआती रूप से अलग-अलग नियंत्रक पथ (जैसे आपके उदाहरण में) कर सकते हैं जो समान सहायक कार्यों को कॉल करना समाप्त कर देते हैं।

1
जोड़ा