PHP में सत्र और फॉर्म
मान लीजिए कि हमारे पास दो PHP फाइलें हैं। आइए
फाइल test1.php में एक फॉर्म रखें, जो
उपयोगकर्ता से दो नंबर पूछती है:
<form method="GET">
<input name="num1">
<input name="num2">
<input type="submit">
</form>
इसी फाइल में फॉर्म प्रसंस्करण कोड रखें। इस कोड में हम इनपुट डेटा को सत्र में लिखेंगे:
<?php
session_start();
if (!empty($_GET)) {
$_SESSION['num1'] = $_GET['num1'];
$_SESSION['num2'] = $_GET['num2'];
}
?>
एक महत्वपूर्ण बारीकियाँ: फाइल में फॉर्म प्रसंस्करण कोड फॉर्म से पहले होना चाहिए। क्यों: क्योंकि इस कोड में हम सत्र के साथ काम कर रहे हैं, और इसका मतलब है कि इससे पहले स्क्रीन पर कोई आउटपुट नहीं होना चाहिए।
आइए अब फाइल test2.php में सत्र में सहेजे गए
नंबरों का योग ज्ञात करें:
<?php
if (!empty($_SESSION)) {
echo $_SESSION['num1'] + $_SESSION['num2'];
}
?>
यह सब किस क्रम में काम करना चाहिए? पहले उपयोगकर्ता
पेज test1.php पर जाता है, फॉर्म भरता है
और बटन दबाता है। उसके बाद वह फिर से
test1.php पर पहुंचता है, लेकिन अब भेजे गए
फॉर्म डेटा के साथ। इस मामले में, वह उस स्थिति में पहुंचता है,
जिसमें हम फॉर्म डेटा को सत्र में लिखते हैं।
फिर उपयोगकर्ता को मैन्युअल रूप से
पेज test2.php पर जाना चाहिए - और वहां वह
दर्ज किए गए नंबरों का योग देखेगा।
आप पूछ सकते हैं: इसे इतना जटिल क्यों बनाया जाए? आखिरकार
फॉर्म को सीधे पेज
test2.php पर भेजा जा सकता था। बात यह है, कि इस
मामले में सुविधा यह है, कि फॉर्म स्वयं और उसके प्रसंस्करण का कोड
एक ही पेज पर स्थित होते हैं।
बेशक, ऐसा हमेशा सुविधाजनक नहीं होता है, लेकिन कभी-कभी
आवश्यक होता है।
एक पेज पर फॉर्म की सहायता से उपयोगकर्ता से उपनाम, नाम और उम्र पूछें। इस डेटा को सत्र में लिखें। दूसरे पेज पर जाने पर इस डेटा को स्क्रीन पर प्रदर्शित करें।