Php সব পেতে পরামিতি পেতে. বাহ্যিক ভেরিয়েবল (PHP-এর বাইরের ভেরিয়েবল)। POST পদ্ধতি ব্যবহার করে PHP-তে ভেরিয়েবল পাস করা

একটি PHP POST অনুরোধ সম্পাদন করার প্রথম পদ্ধতি হল file_get_contents ব্যবহার করা। দ্বিতীয় পদ্ধতি অন্যান্য ফাংশন একটি দম্পতি সঙ্গে সমন্বয় fread ব্যবহার করবে. উভয় বিকল্পই প্রয়োজনীয় অনুরোধ শিরোনাম ক্ষেত্র পূরণ করতে stream_context_create ফাংশন ব্যবহার করে।

কোড ব্যাখ্যা

$sPD ভেরিয়েবলে স্থানান্তর করা ডেটা রয়েছে। এটি HTTP অনুরোধ স্ট্রিং বিন্যাসে হতে হবে, তাই কিছু বিশেষ অক্ষর এনকোড করা আবশ্যক।

file_get_contents ফাংশন এবং fread ফাংশন উভয়েই আমাদের দুটি নতুন প্যারামিটার আছে। প্রথমটি হল use_include_path। যেহেতু আমরা একটি HTTP অনুরোধ করছি, এটি উভয় উদাহরণেই মিথ্যা হবে। একটি স্থানীয় সম্পদ পড়ার জন্য সত্যে সেট করা হলে, ফাংশনটি অন্তর্ভুক্ত_পথ এ ফাইলটি সন্ধান করবে।

দ্বিতীয় প্যারামিটারটি হল প্রসঙ্গ, যা stream_context_create এর রিটার্ন মান দিয়ে তৈরি করা হয়, যা $aHTTP অ্যারের মান নেয়।

POST অনুরোধ করতে file_get_contents ব্যবহার করে

PHP-তে file_get_contents ব্যবহার করে একটি POST অনুরোধ পাঠাতে, আপনাকে stream_context_create ব্যবহার করতে হবে ম্যানুয়ালি হেডার ক্ষেত্রগুলি পূরণ করতে এবং কোন "র্যাপার" ব্যবহার করতে হবে তা উল্লেখ করতে হবে - এই ক্ষেত্রে HTTP:

$sURL = "http://brugbart.com/Examples/http-post.php"; // পোস্ট URL $sPD = "নাম=জ্যাকব&বেঞ্চ=150"; // পোস্ট ডেটা $aHTTP = অ্যারে("http" => // র‍্যাপার যা ব্যবহার করা হবে অ্যারে("পদ্ধতি" => "পোস্ট", // অনুরোধের পদ্ধতি // অনুরোধ শিরোনামগুলি "হেডার" => "সামগ্রী" নীচে সেট করা আছে - প্রকার: application/x-www-form-urlencoded", "content" => $sPD)); $context = stream_context_create($aHTTP); $contents = file_get_contents($sURL, false, $context); echo $contents;

পোস্ট অনুরোধ করতে fread ব্যবহার করে

আপনি POST অনুরোধ করতে fread ফাংশন ব্যবহার করতে পারেন। নিম্নলিখিত উদাহরণটি প্রয়োজনীয় HTTP অনুরোধ শিরোনাম রচনা করতে stream_context_create ব্যবহার করে:

$sURL = "http://brugbart.com/Examples/http-post.php"; // পোস্ট URL $sPD = "নাম=জ্যাকব&বেঞ্চ=150"; // পোস্ট ডেটা $aHTTP = অ্যারে("http" => // র‍্যাপার যা ব্যবহার করা হবে অ্যারে("পদ্ধতি" => "পোস্ট", // অনুরোধের পদ্ধতি // অনুরোধ শিরোনামগুলি "হেডার" => "সামগ্রী" নীচে সেট করা আছে - প্রকার: application/x-www-form-urlencoded", "content" => $sPD)); $context = stream_context_create($aHTTP); $handle = fopen($sURL, "r", false, $context); $contents = ""; যখন (!feof($handle)) ( $contents .= fread($handle, 8192); ) fclose($handle); echo $contents;

PHP দিয়ে GET অনুরোধ করা

আমরা এখন HTTP এবং HTTPS এর মাধ্যমে ইন্টারনেট থেকে সামগ্রী ডাউনলোড করতে fread এবং file_get_contents ব্যবহার করার উপর ফোকাস করব। এই নিবন্ধে বর্ণিত পদ্ধতিগুলি ব্যবহার করতে, আপনাকে অবশ্যই fopen wrappers বিকল্পটি সক্রিয় করতে হবে। এটি করার জন্য, আপনাকে php.ini ফাইলে allow_url_fopen প্যারামিটারটি চালু করতে হবে।

PHP-তে POST এবং GET অনুরোধগুলি সম্পাদন করা ওয়েবসাইটগুলিতে লগ ইন করতে, ওয়েব পৃষ্ঠার বিষয়বস্তু পুনরুদ্ধার করতে বা অ্যাপ্লিকেশনগুলির নতুন সংস্করণগুলি পরীক্ষা করতে ব্যবহৃত হয়। কিভাবে সহজ HTTP অনুরোধ করা যায় তা আমরা কভার করব।

ইন্টারনেটে ফাইল ডাউনলোড বা গ্রহণ করতে ফ্রেড ব্যবহার করা

মনে রাখবেন যে ওয়েব পেজ রিডিং প্যাকেটের অ্যাক্সেসযোগ্য অংশে সীমাবদ্ধ। সুতরাং ফাইলের শেষ না হওয়া পর্যন্ত আপনাকে stream_get_contents ফাংশনটি ব্যবহার করতে হবে (file_get_contents এর অনুরূপ) অথবা ছোট খণ্ডে বিষয়বস্তু পড়ার জন্য কিছুক্ষণ লুপ ব্যবহার করতে হবে:

একটি PHP POST অনুরোধ প্রক্রিয়াকরণের ক্ষেত্রে, ফ্রেড ফাংশনের শেষ আর্গুমেন্টটি ফ্র্যাগমেন্ট আকারের সমান। একটি নিয়ম হিসাবে, এটি 8192 (8*1024) এর বেশি হওয়া উচিত নয়।

পেতে থেকে (9)

একটি URL ক্যোয়ারী স্ট্রিং থেকে পরামিতি পেতে একটি "কম কোড" উপায় কি এই মত ফর্ম্যাট করা হয়?

www.mysite.com/category/subcategory?myqueryhash

আউটপুট হওয়া উচিত: myqueryhash

আমি এটি সম্পর্কে জানি:

www.mysite.com/category/subcategory?q=myquery

উত্তর

এই কোড এবং স্বরলিপি আমার নয়. ইভান কে একটি ব্যবহারকারী-সংজ্ঞায়িত ফাংশন সহ একই নামের একটি বহু-মূল্যবান কাজ সমাধান করে;) থেকে নেওয়া হয়েছে:

উপরের উদাহরণ আউটপুট:

হ্যালো হ্যানেস!

আপনি যদি সমগ্র ক্যোয়ারী স্ট্রিং পেতে চান:

$_SERVER["QUERY_STRING"]

এছাড়াও, আপনি যদি ক্যোয়ারী স্ট্রিং সহ বর্তমান ফাইলের নাম খুঁজছেন তবে আপনার কেবল নিম্নলিখিতগুলি প্রয়োজন

বেসনাম($_SERVER["REQUEST_URI"])

এটি আপনাকে নিম্নলিখিত উদাহরণের মতো তথ্য দেবে

file.php? arg1 = মান এবং arg2 = মান

এবং আপনার যদি /folder/folder2/file.php?arg1=val&arg2=val এর মত রুট থেকে শুরু করে ফাইলটির সম্পূর্ণ পথের প্রয়োজন হয় তবে শুধু basename() ফাংশনটি সরিয়ে দিন এবং শুধু ওভারলে ব্যবহার করুন।

$_SERVER["REQUEST_URI"]

ধন্যবাদ @ কে। Shahzad আপনি যখন কোনো পুনর্লিখন সংযোজন ছাড়াই ক্যোয়ারী স্ট্রিং পুনরায় লিখতে চান তখন এটি সাহায্য করে। ধরা যাক আপনি পুনরায় লিখবেন /test/? index.php এ X = y? Q = test & x = y এবং আপনি কোয়েরি স্ট্রিং পেতে চান।

ফাংশন get_query_string())( $arr = explode("?",$_SERVER["REQUEST_URI"]); if (count($arr) == 2)( return ""; )else( return "?".end( $ arr)।"
"; ) ) $query_string = get_query_string();

এটি করার জন্য পিএইচপি উপায় হল parse_url ফাংশন ব্যবহার করা, যা একটি URL পার্স করে এবং এর উপাদানগুলি প্রদান করে। ক্যোয়ারী স্ট্রিং সহ।

$url = "www.mysite.com/category/subcategory?myqueryhash"; echo parse_url($url, PHP_URL_QUERY); # আউটপুট "myqueryhash"

REFERRER ক্যোয়ারী স্ট্রিং এর কিছু অংশ পুনরুদ্ধার করার জন্য এখানে আমার ফাংশন।

যদি কলিং পৃষ্ঠার ইতিমধ্যেই নিজস্ব একটি ক্যোয়ারী স্ট্রিং থাকে এবং আপনাকে সেই পৃষ্ঠায় ফিরে যেতে হবে এবং এই $_GET বর্ণগুলির মধ্যে কিছু পাঠাতে চান, সমস্ত নয় (যেমন পৃষ্ঠা নম্বর)৷

উদাহরণ: রেফারার ক্যোয়ারী স্ট্রিংটি ছিল?foo=1&bar=2&baz=3 কলিং refererQueryString("foo" , "baz") ফেরত foo=1&baz=3" :

ফাংশন refererQueryString(/* var args */) ( // কোন রেফারার না থাকলে খালি স্ট্রিং ফেরত দিন বা রেফারারে $_GET ভার্স না থাকলে: যদি (!isset($_SERVER["HTTP_REFERER"]) || খালি($_SERVER["HTTP_REFERER") " "]) || empty(parse_url($_SERVER["HTTP_REFERER"], PHP_URL_QUERY))) ( ফেরত ""; ) // রেফারারের URL ক্যোয়ারী পান (কিছু কিছু যেমন "threadID=7&page=8") $refererQueryString = parse_url ( urldecode($_SERVER["HTTP_REFERER"]), PHP_URL_QUERY); // আপনি কোন মানগুলি বের করতে চান? (আপনি ভেরিয়েবল হিসাবে তাদের নাম পাস করেছেন।) $args = func_get_args(); // "" স্ট্রিং আউট পান রেফারারের URL এর: $pairs = explode("&",$refererQueryString); //স্ট্রিং আপনি পরে ফিরে আসবেন: $return = ""; //পুনরুদ্ধার করা স্ট্রিংগুলি বিশ্লেষণ করুন এবং আগ্রহের বিষয়গুলি দেখুন: foreach ($pairs $pair হিসাবে ) ( $keyVal = explode("=",$pair); $key = &$keyVal; $val = urlencode($keyVal); //যদি আপনি arg হিসাবে নাম পাস করেন, তাহলে স্ট্রিং ফেরাতে বর্তমান জোড়া সংযুক্ত করুন : if( in_array($key,$args)) ( $return .= "&." $key ."=" .$val; ) ) //এখানে আপনার প্রত্যাবর্তিত "key=value" জোড়া "& এর সাথে একত্রে আটকানো আছে ": রিটার্ন ltrim($return,"&"); ) //যদি আপনার রেফারার হয় "page.php?foo=1&bar=2&baz=3" // এবং আপনি শিরোনাম() "page.php?foo=1&baz=3" এ ফিরে যেতে চান //(কোনও "বার নেই", শুধুমাত্র foo এবং baz), তারপর প্রয়োগ করুন: header("Location: page.php?".refererQueryString("foo","baz"));

মাইক্রোসফ্ট সাপোর্ট বলে: "ইন্টারনেট এক্সপ্লোরারে সর্বাধিক ইউআরএল দৈর্ঘ্য 2083 অক্ষর।"

IE দীর্ঘদিন ধরে ইউআরএল নিয়ে সমস্যায় পড়েছে। ফায়ারফক্স >4k অক্ষরের সাথে ভাল কাজ করছে বলে মনে হচ্ছে।

বেশিরভাগ অংশের জন্য ওয়েব প্রোগ্রামিং হল ব্যবহারকারীর দ্বারা প্রবেশ করা বিভিন্ন ডেটা প্রক্রিয়াকরণ - যেমন, HTML ফর্মগুলি প্রক্রিয়াকরণ।
সম্ভবত PHP এর মত অন্য কোন ভাষা নেই যা আপনার জন্য প্রক্রিয়াকরণ এবং পার্স করার কাজটিকে এত সহজ করে তুলবে, যেমন ভেরিয়েবল যা এসেছে (ব্যবহারকারীর ব্রাউজার থেকে)। আসল বিষয়টি হল যে সমস্ত প্রয়োজনীয় ক্ষমতাগুলি পিএইচপি ভাষায় তৈরি করা হয়েছে, তাই আপনাকে HTTP প্রোটোকলের বৈশিষ্ট্যগুলি সম্পর্কে চিন্তা করতে হবে না এবং কীভাবে পোস্ট ফর্মগুলি পাঠাতে এবং গ্রহণ করতে হয় বা এমনকি ফাইলগুলি ডাউনলোড করতে হয় সে সম্পর্কেও ভাবতে হবে না৷ PHP বিকাশকারীদের আছে সবকিছুর জন্য প্রদান করা হয়।

এখানে আমরা HTTP প্রোটোকলের প্রক্রিয়া সম্পর্কে বিস্তারিতভাবে আলোচনা করব না, যা ব্রাউজার থেকে সার্ভারে এবং পিছনে ডেটা সরবরাহের জন্য দায়ী; একটি বিশেষ বিভাগ এই PHP এবং HTTP-তে উত্সর্গীকৃত। HTML ফর্মগুলির সাথে কাজ করার নীতিগুলিও গভীরভাবে আলোচনা করা হয়েছে।

এখন আমরা এই মেকানিজমগুলিকে শুধুমাত্র একটি প্রয়োগিত দৃষ্টিকোণ থেকে বিবেচনা করব, তাত্ত্বিক অনুসন্ধান না করে।

ব্যবহারকারীদের কাছ থেকে ডেটা পাওয়ার জন্য, আমাদের তাদের সাথে ইন্টারেক্টিভ মিথস্ক্রিয়া প্রয়োজন।

এখন আসুন একটি স্ক্রিপ্ট লেখার চেষ্টা করি যা পরামিতি এবং আউটপুট হিসাবে একটি ব্যবহারকারীর নাম নেয়:

"হ্যালো, !".

প্রথমে, আসুন একটি স্ক্রিপ্টে একটি নাম পাস করার সবচেয়ে সহজ উপায়টি দেখি - সরাসরি URL-এ টাইপ করার পরে? - উদাহরণস্বরূপ, ফরম্যাটে name=name। এখানে একটি উদাহরণ:

http://localhost/script.php?name=name

আমাদের স্ক্রিপ্টের নাম প্যারামিটার চিনতে হবে। অর্থাৎ, সহজভাবে বলতে গেলে, স্ক্রিপ্ট (স্ক্রিপ্ট) অবশ্যই নাম পরিবর্তনশীল আকারে নামের প্যারামিটারটি গ্রহণ করবে এবং তারপর ব্যবহারকারীর ব্রাউজারে "হ্যালো,!" স্ট্রিংটি প্রদর্শন করবে। আপনি এই ভাবে এটি করতে পারেন:

আমরা একটি স্ক্রিপ্ট লিখি যা নামের প্যারামিটারটি নেয় এবং ফলাফলটি ব্যবহারকারীর ব্রাউজারে প্রদর্শন করে এবং তারপরে এটিকে script.php নামের অধীনে সংরক্ষণ করে:

আমাদের উদাহরণে, আমরা নাম প্যারামিটার "প্রাপ্ত" করতে পূর্বনির্ধারিত পরিবর্তনশীল $_GET["name"] ব্যবহার করেছি। এখন, একটি GET অনুরোধের মাধ্যমে পরামিতি name=Sasha পাস করে, আমরা নিম্নলিখিত ফলাফল পাব:

হ্যালো সাশা!

এখন ব্রাউজার ক্যোয়ারী স্ট্রিং থেকে নয়, একটি HTML ফর্মের মাধ্যমে নামের প্যারামিটারটি পাস করার চেষ্টা করা যাক। আমরা নিম্নলিখিত বিষয়বস্তু সহ একটি HTML নথি তৈরি করি:


নাম:

এখন এই HTML ডকুমেন্টটিকে আমাদের টেস্ট সার্ভারে (localhost) send.html নামে একই ডিরেক্টরিতে সংরক্ষণ করা যাক যেখানে আমরা ইতিমধ্যে script.php স্ক্রিপ্টটি সংরক্ষণ করেছি।

এখন আমরা ব্রাউজারে HTML নথি চালু করি:

http://localhost/send.html

ক্ষেত্রের নাম লিখুন এবং "GO!" বোতাম টিপুন। একটি GET অনুরোধের মাধ্যমে ফর্মটি আমাদের স্ক্রিপ্ট script.php-এ নামের প্যারামিটারটি পাস করবে। আপনি যদি সবকিছু সঠিকভাবে করেন এবং আপনার ওয়েব সার্ভার স্বাভাবিকভাবে কাজ করে, তাহলে আপনি ফর্ম ফিল্ডে যে নামটি লিখেছেন তা দেখতে পাবেন! ব্রাউজারের ঠিকানা বারে আপনি পাথ এবং নামের প্যারামিটারটি দেখতে পাবেন।

এখন আমাদের বুঝতে হবে কিভাবে আমরা অনেক প্যারামিটার পাস করতে পারি, অন্তত দুটি দিয়ে শুরু করতে।

সুতরাং, নিম্নলিখিত আউটপুট করার জন্য আমাদের স্ক্রিপ্টের প্রয়োজন:

"হ্যালো! আপনি বুড়ো!"

অর্থাৎ, আমাদের স্ক্রিপ্টে 2টি পরামিতি পাস করতে হবে: নাম এবং বয়স।

এখন আমরা একটি script.php লিখব যা দুটি পরামিতি নেয়: নাম এবং বয়স, সেইসাথে একটি ফর্ম সহ একটি HTML ডকুমেন্ট যা আমাদের নতুন স্ক্রিপ্টে এই দুটি প্যারামিটার পাস করবে:

এবং এখানে এইচটিএমএল ডকুমেন্ট send.html, যার সাহায্যে আমরা আমাদের স্ক্রিপ্টে নাম এবং বয়সের প্যারামিটার পাস করব:



আপনার নাম প্রবেশ করুন:

বয়স লিখুন:



এখন আমাদের স্ক্রিপ্ট নাম এবং বয়স দুটি প্যারামিটার নেয় এবং ফলাফলটি ব্রাউজারে ফর্ম্যাটে প্রদর্শন করে: "হ্যালো,! আপনি কি পুরানো!"

স্ক্রিপ্টে প্যারামিটারগুলি পাস করার পরে ব্রাউজার অ্যাড্রেস বারে মনোযোগ দিন, এটি এমন কিছু দেখাবে (সিরিলিক URL এনকোডিং ছাড়া):

http://localhost/script.php?name=Sasha&age=23

আপনার দোভাষী সেটিংসের উপর নির্ভর করে, আপনার HTML ফর্মগুলি থেকে ডেটা অ্যাক্সেস করার বিভিন্ন উপায় রয়েছে৷ এখানে কিছু উদাহরণঃ:

// ফর্মে, get পদ্ধতি ব্যবহার করে, আমরা একটি লুকানো ক্ষেত্রের মাধ্যমে মান 1 পাঠাই একটি অনুরোধ পাঠান

get.php ফাইল

পিএইচপি অনুরোধ পোস্ট

Php পোস্টের অনুরোধটি একটি ফর্মের মাধ্যমেও পাঠানো হয়, শুধুমাত্র ফর্ম ট্যাগের বৈশিষ্ট্যটি হবে method="post"। এবং আমরা পোস্ট $_POST["search"] অ্যারে থেকে নির্দিষ্ট ফাইলে ডেটা পাব এবং সঙ্গে সঙ্গে একটি উদাহরণ দেব।

টাস্ক: get.php ফাইলের সার্ভারে POST পদ্ধতি ব্যবহার করে index.php থেকে ডেটা পাঠান এবং এটি ফেরত পান, যদি ডেটা পাঠানোর ক্ষেত্র খালি থাকে, তাহলে খালি ক্ষেত্র সম্পর্কে একটি বার্তা প্রদর্শন করুন। index.php দিয়ে সমাধান শুরু করা যাক

অনুসন্ধান ক্যোয়ারী

অনুরোধ ক্ষেত্র পূরণ করুন

প্রবেশ করা প্রশ্ন:

অনুরোধ পাঠান

get.php ফাইল

AJAX অ্যারে পাসিং

এর AJAX ব্যবহার করে একই কাজ সম্পন্ন করা যাক. আসলে, Ajax হল জাভাস্ক্রিপ্টের সাথে সম্পর্কিত একটি প্রযুক্তি, কিন্তু সার্ভারে ডেটা স্থানান্তরের নোটের অংশ হিসাবে, আমরা এই প্রযুক্তিতেও স্পর্শ করব। অবশ্যই, Ajax একটি পৃথক নিবন্ধের জন্য একটি বিষয়। অনুরোধ প্রক্রিয়া চলাকালীন, আমরা লোডিং সূচকের একটি জিআইএফও প্রদর্শন করব। আমাদের দুটি ফাইল আছে index.php এবং get.php। Index.php ফাইল। jquery সংযোগ করতে ভুলবেন না. অনুগ্রহ করে মনে রাখবেন যে পৃষ্ঠাটি প্রথম লোড হলে gif লুকানোর জন্য, শৈলী প্রদর্শন বরাদ্দ করুন: বক্স ব্লকে কোনটি নয়

$(ডকুমেন্ট)।রেডি(ফাংশন())( //আমরা সাবমিট বোতামে একটি ইভেন্ট সংযুক্ত করি $(." জমা দিন : "GET", / / ​​আমরা যেখানে url পাস করি: "get.php", // আমরা কোন ডেটা পাস করি: (পতাকা: 1), // ইভেন্ট এজাক্স পাঠানোর আগে সেন্ড: ফাংশন())( // একটি জিআইএফ প্রদর্শন করুন $("বক্স").শো(); ), //একটি প্রতিক্রিয়া পাওয়ার পরে ইভেন্ট, //ডেটা সাফল্যের একটি অ্যারে পান: ফাংশন(ডেটা)( // gif লুকান $(." বক্স") লুকান (); var html = ""; //f- i JSON.parse json ডেটাকে একটি বস্তুতে অনুবাদ করে var dt=JSON.parse(data); for (var i = 0; i)

get.php ফাইল। আমরা ফাইলে গেট অ্যারে থেকে ডেটা পাই এবং অ্যারেটিকে php থেকে জাভাস্ক্রিপ্টে পাস করি। একটি অ্যারেকে php থেকে js-এ পাস করতে, এটিকে json ফরম্যাটে রূপান্তর করতে হবে। এটি করার জন্য, আমরা php ফাংশন json_encode ব্যবহার করি। রিকোড করার পরে, json php এর মাধ্যমে পাঠানো হয়, বিশেষ করে ইকো কল করে।

আমার কাছে একটি ক্যোয়ারী স্ট্রিং এবং অবস্থান নামক একটি প্যারামিটার সহ একটি URL গঠন রয়েছে।

http://computerhelpwanted.com/jobs/?occupation=administrator&position=network+administrator

আমার কাছে ফর্ম সিলেক্ট নেম পজিশন সহ একটি ফর্ম সিলেক্ট ড্রপডাউন আছে।

পেশা প্রশাসক নির্বাচন করুন অবস্থান নেটওয়ার্ক প্রশাসক নির্বাচন করুন

যখন ব্যবহারকারী একটি নির্বাচন করে, তখন এটি প্যারামিটারের মানগুলিকে অ্যাকশন অ্যাট্রিবিউটে পাঠায় যার সাথে ক্যোয়ারী স্ট্রিং-এ ব্যবহার করার জন্য প্যারামিটার হিসেবে সিলেক্ট name="position"।

আমার প্রশ্ন হল কিভাবে আমি ক্যোয়ারী স্ট্রিং মান থেকে আলাদাভাবে ফর্ম নির্বাচন মানগুলি অ্যাক্সেস করব?

আমি একটি ক্যোয়ারী স্ট্রিং প্যারামিটার থেকে একটি মান কল করার জন্য _GET পদ্ধতি ব্যবহার করছি।

$position = isset($_GET["অবস্থান"])? ($_GET["অবস্থান"]): "";

স্পষ্টতই এটি URL গঠন থেকে এর মান পায়, ফর্ম উপাদান নয়। অথবা হয়ত এটা, নিশ্চিত না. কিন্তু এটি পরীক্ষা করে, আমি এই উপসংহারে পৌঁছেছি যে এটি URL দ্বারা এবং ফর্ম দ্বারা নয়।

আমার পিএইচপি-তে তুলনা করার সময় আমি কীভাবে ফর্মের নির্বাচিত মান অ্যাক্সেস করতে পারি?

হালনাগাদ

হেডারে উল্লেখ করা ক্যানোনিকাল URL নিয়ে আমার সমস্যা আছে।

এভাবেই হওয়া উচিত

শুধুমাত্র পার্থক্য হল - এবং + ক্যোয়ারী স্ট্রিং-এ।

আমার সব ক্যোয়ারী স্ট্রিং + আছে না. অনেকের আছে -. কিন্তু আমি উভয় ইউআরএলেই বিষয়বস্তু দেখাচ্ছি, তাতে একটি - বা + থাকুক না কেন। যেভাবেই হোক, উভয় ইউআরএলই একই পৃষ্ঠার বিষয়বস্তু পায়।

কিন্তু যেহেতু ক্যানোনিকালটি ইউআরআই থেকে গতিশীলভাবে তৈরি করা হয়েছে এবং ফর্ম উপাদানের মান থেকে নয়, তাই উভয় বিষয়বস্তুর পৃষ্ঠায় 2টি ভিন্ন ক্যানোনিকাল অক্ষর রয়েছে।

_Get('value') ব্যবহার করে ফর্ম উপাদানের পরিবর্তে ক্যোয়ারী স্ট্রিং থেকে মান পুনরুদ্ধার করে। আমি এটা জানি কারণ ফর্ম এলিমেন্ট ভ্যালুতে নেটওয়ার্ক অ্যাডমিনিস্ট্রেটরের মধ্যে একটি স্পেস আছে যা urlencoded হয়ে যায় যখন ফর্মটি network+administrator হিসেবে জমা হয়। তাই যদি আমি ফর্ম এলিমেন্ট ভ্যালুর সাথে তুলনা করতে পারি তাহলে আমি সঠিক ক্যানোনিকাল সেট করতে পারি।