मेरे पास एक पृष्ठ (index.php) है जो URL से GET
वैरिएबल लेता है और इसे सुरक्षा उद्देश्यों के लिए जांचता है। यह GET
चर केवल एक पूर्णांक होना चाहिए। मैं इसे जांचने के लिए निम्न कोड का उपयोग कर रहा हूं, लेकिन सभी मामलों में, पूर्णांक या नहीं, मुझे index.php पृष्ठ मिलता है। हेडर कभी प्रकट नहीं होता है। इस कोड के बाद, शेष पृष्ठ html
टैग से शुरू होता है।PHP is_int अपेक्षित के रूप में प्रदर्शन नहीं कर रहा है
पीएचपी:
<?php ob_start(); session_start();
$q=trim($_GET['q']);
if (!is_numeric($q)){
header("HTTP/1.0 404 Not Found");
}
?>
मुझे नहीं पता कि आप पहले से ही जानते हैं, लेकिन आपको 'हेडर (..)' के बाद 'निकास();' जोड़ना चाहिए। अन्यथा स्क्रिप्ट पेज सामग्री को मुद्रित करना जारी रखेगी। – laher
पढ़ना [प्रलेखन] (http://php.net/manual/en/function.is-int.php) आपको दिखाएगा कि 'is_int() 'चर के प्रकार की जांच करता है, इसलिए" 123 " '' is_int() 'में' सत्य 'वापस नहीं आएगा, क्योंकि यह स्ट्रिंग है। आपने अपनी पोस्ट को 'http-status-code-404' के साथ क्यों टैग किया? – Tadeck
@Tadeck टैग हटा दिया गया। उस दस्तावेज़ीकरण के लिए धन्यवाद। अब मैं is_numeric का उपयोग कर रहा हूं और यह अभी भी – kirby