2011-01-01 18 views
7

मैं किसी पृष्ठ को किसी अन्य पृष्ठ पर रीडायरेक्ट करने का प्रयास कर रहा हूं और वह सफलतापूर्वक काम कर रहा था। हालांकि मैं विज्ञापन के साथ पहले पृष्ठ को दूसरे पृष्ठ पर रीडायरेक्ट करने का प्रयास कर रहा हूं। यह पृष्ठ फिर पांच सेकंड के बाद दूसरे पृष्ठ पर रीडायरेक्ट करेगा।किसी पृष्ठ को 5 सेकंड के लिए किसी अन्य पृष्ठ पर रीडायरेक्ट करना, फिर रीडायरेक्ट करना

मुझे लगता है कि ऐसा करने के लिए ऐसा करने से कोशिश कर रहा हूँ:

<?php 
include('ads.php'); 
?> 
<?php 
sleep(2); 
$url = $_GET['url']; 
header("Location: ".$url.""); 
exit; 
?> 

हालांकि यह ads.php में विज्ञापन दिखाया जा रहा है पूरी तरह से है, लेकिन यह पांच सेकंड के बाद पुन: निर्देशित नहीं कर रहा है। मैं अपने वेब ब्राउज़र में इस त्रुटि मिल रही है:

Warning: Cannot modify header information - headers already sent by 
(output started at /home/nucleusi/public_html/adverts/ads.php:1) 
in /home/nucleusi/public_html/adverts/index.php on line 7 

एक ठेठ लिंक मैं पुनः निर्देशित किया जाएगा करने के लिए इस होगा:

http://domain.com/adverts/index.php/?url=http%3A%2F%2Fitunes.apple.com%2Fmx%2Falbum%2Fstill-got-the-blues%2Fid14135178%3Fi%3D14135158

+1

मैं जवाब देखना चाहता हूं। यह आश्चर्यजनक होगा –

+0

@Col। श्रापनेल - सोचा क्रिसमस कुछ दिन पहले अच्छा था। :-) –

उत्तर

5
(विज्ञापनों से पहले) पहले पृष्ठ पर

doctype या html टैग से पहले डाल जैसे है विज्ञापन पृष्ठ ने यह रखा:

<?php header("refresh:5;url=secondredirectafter5seconds.php"); ?> 

यह आपके पहले पृष्ठ को तुरंत रीडायरेक्ट करेगा और यह आपके सेकेंड को रीडायरेक्ट करेगा 5 सेकंड के बाद ओएनडी पेज। उम्मीद है कि यह मदद करता है (यदि आप इसे डॉक्टरेट और एचटीएमएल टैग से पहले रखते हैं तो इसे हेडर जानकारी संशोधित नहीं कर सकता है)।

संपादित करें: जावास्क्रिप्ट होने से यह एक सुरक्षा जोखिम बी/सी हो सकता है कोई भी उपयोगकर्ता अपना स्थान बदल सकता है। ऐसा करने से इस पर आपका पूरा नियंत्रण होता है कि उपयोगकर्ता कहां निर्देशित किया जा रहा है।

+0

मुझे नहीं लगता कि इस तरह के रीडायरेक्ट करने के लिए जावास्क्रिप्ट का उपयोग कैसे सुरक्षा जोखिम बन जाएगा। सिद्धांत रूप में, कोई भी उपयोगकर्ता एजेंट रीडायरेक्ट करने से इंकार कर सकता है, या मानक उपयोगकर्ता (3xx) HTTP स्टेटस कोड के लिए भी अंतिम उपयोगकर्ता से परामर्श करने के बाद ऐसा कर सकता है। आप सही हैं कि एक समझदार उपयोगकर्ता आपके पृष्ठ स्रोत को संशोधित कर सकता है और खुद को कहीं और रीडायरेक्ट कर सकता है, लेकिन वे इसे अपने ब्राउज़र के पता बार के साथ आसानी से कर सकते हैं! किसी भी समय आपको कभी भी यह मानना ​​चाहिए कि आप "उपयोगकर्ता को नियंत्रित कर सकते हैं", क्योंकि आपके पास उपयोगकर्ता एजेंट पर कोई नियंत्रण नहीं है, उम्मीद है कि यह HTTP आरएफसी का पालन करेगा। – Rob

+0

कारण मैंने जोड़ा कि बी/सी वे स्रोत बदल सकते हैं और वे जानते हैं कि यह कहां जा रहा है। PHP के साथ वे फ़ाइल नामों को नहीं जानते हैं, इसलिए उनके बिना फ़ाइल नाम पता है कि वे यूआरएल नहीं बदल सकते हैं। इसे एक बार जाने के बाद अनुमोदित, इसे इतिहास में संग्रहीत किया जाएगा, लेकिन मैं उपयोगकर्ता की बजाय किसी चीज़ का उपयोग करके इस तरह की चीज़ों को पसंद करता हूं। विज्ञापनों के लिए अधिकांश समय क्लाइंट नियंत्रण चाहता है कि उपयोगकर्ता उस पर नियंत्रण न रखे, और PHP के साथ ऐसा करना आसान हो। मैं ज्यादातर समय उपयोगकर्ता को नियंत्रित नहीं करने के साथ सहमत हूं लेकिन यह एक अपवाद है जो मेरा मानना ​​है। – jefffan24

2

उपयोग मेटा टैग या जावास्क्रिप्ट विंडो स्थान

1
ताज़ा

यह आपकी मदद कर सकता है

setTimeout("javascript window.location",3000) 

regar के साथ डी एस

Wazzy

+0

धन्यवाद, मैं इसे कहां रखूंगा? –

0

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

<?php header("location: adlocationhere.php"); ?> 

:

यह करने के लिए सबसे अच्छा तरीका है एक जावास्क्रिप्ट

<script> 
function redirect() { window.location = '$url'; } 
setTimeout("redirect();", 5000); 
</script> 
+0

इस html में किया जाएगा .. शायद पृष्ठ के तल पर, इससे पहले कि – styler1972

+0

ठीक है, मैं अब तक इस है, लेकिन यह अभी भी पुनः निर्देशित नहीं कर रहा है: ' ' –

+1

जावास्क्रिप्ट में $ _GET सुविधा नहीं है। वह PHP सख्ती से। आप क्या कर सकते हैं ... var url = ; फ़ंक्शन रीडायरेक्ट() {window.location = url; } .... और यह काम करना चाहिए। – jefffan24

संबंधित मुद्दे

 संबंधित मुद्दे