php - Submitting a URL into a Form without "http://", with "www.", or with neither -


(संपादित)

हैलो,

नीचे दिए गए फॉर्म में, फ़ील्ड & lt; div class = "urlfield" & gt; & lt; इनपुट नाम = "url" प्रकार = "url" id = "url" maxlength = "500" & gt; & lt; / div & gt; ठीक है जब एक URL सबमिट किया जाता है जिसमें इसकी शुरुआत "http: //" होती है।

हालांकि, यदि URL केवल "www" के साथ सबमिट किया गया है, तो यह कार्य नहीं करता है। इसके सामने, या न ही "http: //" और न ही "www।" के साथ

मैं इसे कैसे काम कर सकता हूं अगर सबमिट किए गए यूआरएल में इसकी शुरुआत में निम्नलिखित में से कोई भी या कोई भी नहीं है :

  http: // www। http: // www।  

  echo '& lt; div class = "  

Submittitle "& gt; एक आइटम सबमिट करें। & Lt; / div & gt; '; एको '& lt; form action = "http: //www...com/.../submit2.php" method = "post" & gt; & Lt; इनपुट प्रकार = "छुपा" मान = "'। $ _ सत्र [' लॉगिन ']।" "नाम =" यूआईडी "& gt; & Lt; div class = "submissiontitle" & gt; लेबल के लिए = "शीर्षक" & gt; स्टोरी शीर्षक: & lt; / label & gt; & lt; / div & gt; & Lt; div class = "submissionfield" & gt; & lt; इनपुट नाम = "शीर्षक" प्रकार = "शीर्षक" आईडी = "शीर्षक" अधिकतम लंबाई = "1000" & gt; & lt; / div & gt; & Lt; div class = "urltitle" & gt; & lt; लेबल के लिए = "url" & gt; लिंक: & lt; / label & gt; & lt; / div & gt; & Lt; div class = "urlfield" & gt; & lt; इनपुट नाम = "url" प्रकार = "url" id = "url" maxlength = "500" & gt; & lt; / div & gt; & Lt; div class = "submissionbutton" & gt; & lt; इनपुट नाम = "सबमिट करें" प्रकार = "सबमिट करें" मान = "सबमिट करें" & gt; & lt; / div & gt; & Lt; / प्रपत्र & gt; ';

submit2.php:

  & lt;? Php अगर ($ _ सर्वर ['REQUEST_METHOD'] == "पोस्ट") {हेडर ('स्थान: Http: //www...com/.../submit2.php ');} require_once "header.php"; यदि (isLoggedIn () == सच) {$ remove_array = array ('http: // www', 'http: //', 'https: //', 'https: // www', 'www। '); $ क्लीनुरल = स्ट्रॉ_रेले ($ हटाने_अरे, "", $ _POST ['url']); $ क्लीनुरल = स्ट्रॉल्नर ($ क्लीनरल); $ क्लीनुरल = प्रीग_रेले ('/ \ / $ /', '', $ क्लीनरल); $ क्लीनुरल = स्ट्रीपस्लैश ($ क्लीनरल); $ शीर्षक = $ _POST ['शीर्षक']; $ यूआईडी = $ _POST ['यूआईडी']; $ शीर्षक = mysql_real_escape_string ($ शीर्षक); $ शीर्षक = स्ट्रिपस्लैश ($ शीर्षक); $ क्लीनुरल = mysql_real_escape_string ($ क्लीनरल); $ Site1 = 'http: //' $ Cleanurl; $ Displayurl = parse_url ($ साइट 1, PHP_URL_HOST); फ़ंक्शन isURL ($ url1 = NULL) {यदि ($ url1 == NULL) वापस लौटते हैं; $ प्रोटोकॉल = '(http: // | https: //)'; $ अनुमति = '[-ए-z0- 9] {1,63}'; $ Regex = "^" $ प्रोटोकॉल // में प्रोटोकॉल शामिल होना चाहिए ('। $ अनुमति है।' \ ')।' सबसे अधिक 63 वर्ण '[ए-जेड]' वाले 1/1 या कई उप डोमेन '{2,6}'; // एक टीएलडी के बाद अगर (एरेगी ($ regex, $ url1) == सच) सच हो; दूसरा झूठी वापसी; } यदि (isURL ($ site1) == सच है) mysql_query ("प्रस्तुत मूल्यों में शामिल करें (शून्य, '$ uid', '$ title', '$ cleanurl', '$ displayurl', null)"); Else गूंज "& lt; p class = \" topicu \ "& gt; एक वैध यूआरएल नहीं है। & Lt; / p & gt; \ n"; } अन्य {show_loginform (); } अगर (! इलॉगिडइन ()) (यदि (एसेट ($ _ POST ['cmdlogin'])) {यदि (चेक-लैगिन ($ _ POST ['उपयोगकर्ता नाम'], $ _POST ['पासवर्ड'])) {show_userbox (); } Else {गूंज "गलत लॉगिन जानकारी!"; show_loginform (); }} अन्य {show_loginform (); }} और {show_userbox (); } Need_once "footer.php"; ? & Gt;  

यह मेरे लिए अच्छा लग रहा है, लेकिन कई बिंदुओं पर पारित यूआरएल का मान इको $ cleanurl = mysql_real_escape_string ($ cleanurl) बनाने का प्रयास करें

$ cleanurl = mysql_real_escape_string (ट्रिम करें) ($ क्लीनरल));


Comments

Popular posts from this blog

windows - Heroku throws SQLITE3 Read only exception -

lex - Building a lexical Analyzer in Java -

python - rename keys in a dictionary -