PHP Redirect not working headers already sent -
इस सवाल का पहले से ही एक उत्तर है: < / p>
- 11 उत्तर
तो मेरे पास कुछ कोड है जो एक MySQL आधारित लॉगिन ईमेल पते का उपयोग करता है कोड का वह भाग महान काम करता है मेरे पास तब होता है जब मैं ईमेल पते के सत्यापन के बाद अनुरोध किए गए पृष्ठ पर रीडायरेक्ट करने का प्रयास करता हूं। यह एक वाईफाई प्रमाणीकरण के लिए है ताकि हेडर फंक्शन डायनामिक स्ट्रिंग वेरिएबल को भेज रहा है जो पहले-से-कंटेट कंटेटेड है। हालांकि, जब हैडर फ़ंक्शन को कहा जाता है तो यह मुझे मुख्य लैंडिंग पृष्ठ पर वापस धकेल देता है।
त्रुटि संभालने के साथ कुख्यात "हेडर पहले ही भेजे गए हैं।" हालांकि, मैंने अपने कोड को साफ़ कर दिया है और बुकसेड्स के पहले और बाद में साफ किया है और एको, प्रिंट और व्हाइटस्टेस। मुझे वास्तव में यहां कुछ मदद की ज़रूरत है क्योंकि मैं इस मुद्दे और ob_start () को ढूँढने में सक्षम नहीं हूं; ob_end_flush (); वास्तव में या तो काम नहीं कर रहा है ... अग्रिम धन्यवाद !!!
logon.php
& lt;? Php ob_start (); // समस्या निवारण / * त्रुटि_रेपोर्टिंग (E_ALL | E_WARNING | E_NOTICE) के लिए इस अनुभाग को हटाएं; Ini_set ('display_errors', 1); Ini_set ('display_startup_errors', 1); * / / डेटाबेस में शामिल करें_ऑन्सेस से कनेक्ट करें / db_connect.php '; // शामिल कार्यों को शामिल करें_अंस 'शामिल / functions.php'; // प्रारंभ करें सुरक्षित सत्र sec_session_start (); // परिभाषित कुछ चर $ ईमेल = ""; $ base_grant_url = urldecode ($ _GET ['base_grant_url']); // मारीकी से जानकारी प्राप्त करें $ user_continue_url = urldecode ($ _ GET ['user_continue_url']) पुनर्निर्देशित करें; // मारीकी से जानकारी प्राप्त करें $ url = $ base_grant_url। $ Cont $ $ user_continue_url $ dur; यदि ($ _SERVER ['REQUEST_METHOD'] == 'POST') {$ email = htmlspecialchars (($ _ POST ["ईमेल"])); $ Email = test_input ($ ईमेल); अगर (! Isset ($ errorMsg)) {if (लॉगिन ($ ईमेल, $ dbh)) {हैडर ("स्थान: $ url"); बाहर जाएं; } else // ईमेल नहीं मिला डीबी में {$ errorMsg = "ई-मेल पता डेटाबेस में नहीं मिला। कृपया पुन: प्रयास करें और सुनिश्चित करें कि आप अपने किराया कैफे उपयोगकर्ता नाम का उपयोग कर रहे हैं।"}}}} ob_flush (); ? & Gt;
functions.php
& lt;? Php ob_start (); परिभाषित करें ("सुरक्षित", सही); फ़ंक्शन sec_session_start () {$ session_name = 'sec_session_id'; // एक कस्टम सत्र नाम $ सुरक्षित = सुरक्षित सेट करें; // यह सत्र को सत्र आईडी तक पहुंचने में सक्षम होने से रोकता है $ Httponly = true; // केवल सत्रों के लिए सत्र का उपयोग करें कुकीज़ यदि (ini_set ('session.use_only_cookies', 1) === गलत) {हैडर ("स्थान: ../error.php?err= सुरक्षित सत्र प्रारंभ नहीं कर सकता (ini_set)"); बाहर जाएं(); } // मौजूदा कुकीज़ पैरामेट हो जाता है $ कुकीप्रम्स = session_get_cookie_params (); session_set_cookie_params ($ cookieParams ["जीवनकाल"], $ कुकीप्रम्स ["पथ"], $ कुकीप्रथम ["डोमेन"], $ सुरक्षित, $ httponly); // उपरोक्त एक सेट में सत्र का नाम सेट करता है session_name ($ session_name); session_start (); // प्रारंभ करें PHP सत्र session_regenerate_id (); // सत्र पुन: उत्पन्न किया, पुराने को हटा दें } फ़ंक्शन लॉगिन ($ ईमेल, $ डीबीएच) {$ stmt = $ dbh- & gt; तैयार ("ईमेल से ई-मेल =" ईमेल करें "चुनें); $ Stmt- & gt; बाईंदपरम (': ईमेल', $ ईमेल); $ Stmt- & gt; निष्पादित (); यदि ($ stmt- & gt; rowCount () & gt; 0) {वापस सत्य;} अन्य {date_default_timezone_set ('अमेरिका / लॉस_एजेलस'); $ Current_date = तारीख ('एम / डी / वाई == एच: आई: एस'); $ समय = समय (); $ Stmt2 = $ dbh- & gt; तैयार करें ("प्रवेश लॉगिन में प्रवेश करें (समय, ईमेल_आईडी) मूल्य (?,?)"); $ Stmt2- & gt; बाईंदपरम (1, $ current_date); $ stmt2- & gt; बाईंदपरम (2, $ ईमेल); $ Stmt2- & gt; निष्पादित (); विवरण झूठा है; }} फ़ंक्शन test_input ($ डेटा) {$ errorMsg = ""; अगर (खाली ($ डेटा)) {// बाएं फॉर्म रिक्त $ errorMsg = "ईमेल आवश्यक है"; $ डेटा वापसी; } और {$ डेटा = ट्रिम ($ डेटा); $ डेटा = स्ट्रिप्सलाशस ($ डेटा); $ डेटा = htmlspecialchars ($ डेटा); // जांचें कि ई-मेल एड्रेस वाक्यविन्यास मान्य है अगर (! preg_match ("/ ([\ w \ -] + \ @ [\ w] - + +। [\ w \ -] +) /", $ डेटा )) {$ errorMsg = "अमान्य ईमेल प्रारूप";} $ डेटा लौटाता है; }}? & Gt;
db_connect.php
& lt;? Php ob_start (); $ dbhost = '****'; $ dbuser = '****'; $ dbpass = '****'; $ db = '****'; $ Cont = '? Continue_url ='; $ Dur = '& amp; अवधि = 1440'; {$ Dbh = नया पीडीओ ("mysql: host = $ dbhost; dbname = $ db", $ dbuser, $ dbpass) का प्रयास करें; } पकड़ (PDOException $ ई) {मर (); }? & Gt;
& lt; php ^ ------ एकल स्थान, जो "आउटपुट" है ob_start ();
Comments
Post a Comment