HTML / HTTP स्टेटलेस है, दूसरे शब्दों में, आपने पिछले पेज पर जो किया / देखा, वह वर्तमान पेज से पूरी तरह से जुड़ा नहीं है। सिवाय अगर आप सत्र, कुकीज़ या GET / POST चर जैसे कुछ का उपयोग करते हैं। सत्र और कुकीज़ का उपयोग करना काफी आसान है, सत्र कुकीज़ की तुलना में कहीं अधिक सुरक्षित है। अधिक सुरक्षित, लेकिन पूरी तरह से सुरक्षित नहीं।
सत्र:
//On page 1
$_SESSION['varname'] = $var_value;
//On page 2
$var_value = $_SESSION['varname'];
सरणी session_start();
तक पहुंचने का प्रयास करने से पहले इन दोनों पृष्ठों पर कथन को चलाना याद रखें $_SESSION
, और इससे पहले कि ब्राउज़र में कोई आउटपुट भेजा जाए।
कुकी:
//One page 1
$_COOKIE['varname'] = $var_value;
//On page 2
$var_value = $_COOKIE['varname'];
सत्र और कुकीज़ के बीच बड़ा अंतर यह है कि चर का मूल्य सर्वर पर संग्रहीत किया जाएगा यदि आप सत्र का उपयोग कर रहे हैं, और यदि आप कुकीज़ का उपयोग कर रहे हैं तो क्लाइंट पर। मैं सत्रों के बजाय कुकीज़ का उपयोग करने के किसी भी अच्छे कारण के बारे में नहीं सोच सकता, सिवाय इसके कि यदि आप सत्रों के बीच डेटा को बनाए रखना चाहते हैं, लेकिन तब भी शायद इसे डीबी में संग्रहीत करना बेहतर है, और इसे उपयोगकर्ता नाम या आईडी के आधार पर पुनर्प्राप्त करें।
प्राप्त करें और पोस्ट करें
आप अगले पृष्ठ में लिंक में चर जोड़ सकते हैं:
<a href="page2.php?varname=<?php echo $var_value ?>">Page2</a>
यह एक GET वैरिएबल बनाएगा।
दूसरा तरीका यह है कि एक छिपे हुए क्षेत्र को एक ऐसे रूप में शामिल किया जाए जो पृष्ठ दो को प्रस्तुत करता है:
<form method="get" action="page2.php">
<input type="hidden" name="varname" value="var_value">
<input type="submit">
</form>
और फिर पेज दो पर:
//Using GET
$var_value = $_GET['varname'];
//Using POST
$var_value = $_POST['varname'];
//Using GET, POST or COOKIE.
$var_value = $_REQUEST['varname'];
post
यदि आप इसे पोस्ट के माध्यम से करना चाहते हैं तो फॉर्म के लिए विधि को बदल दें । दोनों समान रूप से असुरक्षित हैं, हालांकि जीईटी को हैक करना आसान है।
तथ्य यह है कि प्रत्येक नया अनुरोध, सत्र डेटा को छोड़कर, स्क्रिप्ट का एक बिल्कुल नया उदाहरण मुझे पकड़ा गया जब मैंने पहली बार PHP में कोडिंग शुरू की थी। एक बार जब आपको इसकी आदत हो जाती है, तो यह काफी सरल है।