पृष्ठ निश्चित समय PHP के बाद पुनर्निर्देशित


94

कुछ समय बाद रीडायरेक्ट करने के लिए एक निश्चित PHP फ़ंक्शन होता है। मैंने इसे कहीं देखा लेकिन याद नहीं कर सकता। यह लॉगिन करने के बाद जीमेल पुनर्निर्देशन जैसा है। कृपया, क्या कोई मुझे याद दिला सकता है?


@ मेषकम्स: ऐसा लगता है कि इसे करने के लिए कुछ तरीके हैं।
वेस्ले मर्च

2
@Wesley Murch: Refreshहेडर एक बड़ी छवि नहीं है। मैं कभी भी उन चीजों का उपयोग नहीं करूंगा जो RFC के साथ कवर नहीं हैं
zerkms

stackoverflow.com/questions/18305258/… ने मुझे stackoverflow.com/questions/283752/refresh-http-header पर ले गया, जो कहता है कि साथ ही साथ रिफ्रेश हेडर नहीं होने के कारण Internet Explorer में प्रदर्शन समस्याएँ भी होती हैं।
एडवर्ड

जवाबों:


229
header( "refresh:5;url=wherever.php" );

यह php तरीका है headerजो आपको 5 सेकंडwherever.php में रीडायरेक्ट करेगा


याद रखें कि किसी भी वास्तविक आउटपुट को भेजने से पहले हेडर () को कॉल किया जाना चाहिए, या तो सामान्य HTML टैग्स द्वारा, फ़ाइल में रिक्त लाइनें या PHP से। कोड को शामिल करना, या आवश्यकता, फ़ंक्शंस, या किसी अन्य फ़ाइल एक्सेस फ़ंक्शन के साथ कोड पढ़ना बहुत आम त्रुटि है, और इसमें स्पेस या खाली लाइनें हैं जो हेडर से पहले आउटपुट हैं () कहा जाता है। एक ही PHP / HTML फ़ाइल का उपयोग करते समय एक ही समस्या मौजूद है। (स्रोत php.net )


1
दिलचस्प मैं इस विधि से पहले कभी नहीं देखा ... लेकिन यह एक खाली पृष्ठ या सिर्फ किसी भी संदेश के बिना निष्क्रिय प्रदर्शित करने के लिए जा रहा है जब तक टाइमर बाहर चलाता है?
Ibu

यह पृष्ठ प्रदर्शित करने जा रहा है ... यह सब है हेडर डायन सेट करने के लिए ब्राउज़र को 5 सेकंड में पृष्ठ को रीफ्रेश करने के लिए कहा जाएगा, यदि आप वास्तव में रिक्त पृष्ठ प्रदर्शित करना चाहते हैं तो बस उपयोग करेंdie();
Teneff

2
इसके बारे में बुरी बात यह है: यह शीर्ष लेख HTTP मानक में नहीं है, ग्राहक इसे अनदेखा करने के लिए स्वतंत्र हैं।
स्वेन

:) अच्छा विचार! और यदि आप पुनः लोड किए गए पृष्ठ में कुछ चर और उपयोग भेजना (रखना) चाहते हैं?
मुगुर उनगुरेनु

इस पोस्ट के बाद से शायद एक अरब साल बाद, लेकिन आप शायद पुनर्निर्देशन करते समय एक संदेश कैसे पोस्ट करते हैं जैसे "पुनर्निर्देशन पृष्ठ, कृपया प्रतीक्षा करें"
CAO

25

आप कुछ समय के बाद जावास्क्रिप्ट का उपयोग पुनर्निर्देशित कर सकते हैं

setTimeout(function () {
   window.location.href= 'http://www.google.com'; // the redirect goes here

},5000); // 5 seconds

11
सवाल PHP के लिए था
बेंजामिन इंटल

5
@ यामी यह सच है, इसीलिए मैंने कहा कि ओपी इसके बजाय जावास्क्रिप्ट का उपयोग कर सकते हैं।
Ibu

@BenjaminIntal यदि ब्राउज़र हेडर में पुनर्निर्देशन को अनदेखा करता है तो यह भी एक बड़ी गिरावट के रूप में काम करता है। आपको एक ब्राउज़र का उपयोग करना होगा जो हेडर को स्वीकार नहीं करता है और जावास्क्रिप्ट को रीडायरेक्ट नहीं करने के लिए अक्षम किया है।
सुपर कैट

18

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

header('Refresh: 10; URL=http://yoursite.com/page.php');

जहां 10 सेकंड में है।


11

आप मेटा टैग लिखने के लिए php का उपयोग करना चाहेंगे।

<meta http-equiv="refresh" content="5;url=http://www.yoursite.com">

यह अनुशंसित नहीं है लेकिन यह संभव है। इस उदाहरण में 5 ताज़ा होने से पहले सेकंड की संख्या है।


3
header( "refresh:5;url=wherever.php" );

वास्तव में आप इस कोड का उपयोग कर सकते हैं जैसा कि teneff ने कहा है, लेकिन आपको किसी भी भेजे गए आउटपुट से पहले हेडर को लगाने की आवश्यकता नहीं है (यह "हेडर को स्थानांतरित नहीं कर सकता है ....: 3 त्रुटि")।

ob_start();किसी भी html के आउटपुट से पहले इस उपयोग को php फंक्शन को हल करने के लिए ।

ob_end_flush();आपके द्वारा कोई HTML आउटपुट नहीं होने के बाद बस उस शब्द को समाप्त करने के लिए ।

चियर्स!


2

यदि आप PHP के साथ पुनर्निर्देशित कर रहे हैं, तो आप बस पुनर्निर्देशन से पहले कई सेकंड के लिए सोने के लिए नींद () कमांड का उपयोग करेंगे।

लेकिन, मुझे लगता है कि आप जिस चीज का जिक्र कर रहे हैं, वह मेटा ताज़ा टैग है:

http://webdesign.about.com/od/metataglibraries/a/aa080300a.htm


नींद का उपयोग करना पारंपरिक दृष्टिकोण नहीं है, क्योंकि यह कहा जाता है कि शीर्ष लेख का उपयोग किया जाना चाहिए।
Maksim

क्या सिर्फ कनेक्शन में देरी से नींद नहीं आती है?
FluorescentGreen5

2

किसी फ़ाइल को सहेजने के लिए सहेजें के रूप में डायलॉग खोलते समय 5 सेकंड के बाद PHP रिफ्रेश मेरे लिए काम नहीं करता है: (हेडर ('सामग्री-प्रकार: पाठ / सादा'); हेडर ("सामग्री-विवाद: अनुलग्नक; फ़ाइल नाम = $ फ़ाइलनाम") > ");)

Save As लिंक पर क्लिक करने के बाद, और फ़ाइल सहेज ली गई थी, कॉलिंग पृष्ठ पर समयबद्ध ताज़ा बंद हो गया।

हालाँकि, बहुत बहुत धन्यवाद, ibu का जावास्क्रिप्ट सॉल्यूशन सिर्फ मेरे वेबपेज को टिकाने और रिफ्रेश करने के लिए रखा गया है, जो कि मुझे अपने विशिष्ट एप्लिकेशन के लिए आवश्यक था। तो यहाँ समस्या के लिए जावास्क्रिप्ट समाधान पोस्ट करने के लिए ibu धन्यवाद।

आप कुछ समय के बाद जावास्क्रिप्ट का उपयोग पुनर्निर्देशित कर सकते हैं

setTimeout(function () {    
    window.location.href = 'http://www.google.com'; 
},5000); // 5 seconds

2

आप इस जावास्क्रिप्ट कोड का उपयोग किसी विशिष्ट समय के बाद पुनर्निर्देशित कर सकते हैं। आशा है कि यह काम करेगा।

setRedirectTime(function () 
{
   window.location.href= 'https://www.google.com'; // the redirect URL will be here

},10000); // 10 seconds
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.