PHP Self Processing Pages

PHP Self Processing Pages – हालांकि हमें हमेंशा MVC Pattern को Follow करना चाहिए व किसी भी Web Application के Model, ViewController यानी Actual Database या File System Stored Data Files, HTML Structure व PHP Pages को अलग-अलग रखना चाहिए, ताकि अपने Web Application को Create, Develop, Debug, Manage, Maintain, Modify, UpgradeMaintain करना आसान रहे, लेकिन फिर भी कभी-कभी हमारी जरूरत बहुत सीमित होती है।

इसलिए एक सीमित जरूरत को पूरा करने के लिए हमें अलग-अलग Web Pages बनाने की जरूरत नहीं होती है, बल्कि हम एक ही Web Page द्वारा अपनी Client Side Message Query Create करने व उस Created Query को Server Side में Process करने के Codes को एक ही Web Page में लिख सकते हैं। यानी हमारा एक ही Web Page ViewController दोनों का काम कर सकता है। इस तरीके से Web Page Create करने की प्रक्रिया को हम निम्न उदाहरण द्वारा बेहतर तरीके से समझ सकते हैं, जिसमें हम हमारे पिछले Program को ही Modify कर रहे हैं:

<?php
	$title = "Self Processing Page";
	include_once('header.php');
?>

    <h1>Addition</h1>
    <form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="get">
        <label>First Value: </label><input name="firstValue" type="text">
        <label>Second Value: </label><input name="secondValue" type="text">
        <input name="submit" type="submit" value="Total">
    </form>
    
<?php
	if(isset($_GET['firstValue']) && isset($_GET['secondValue'])){
		$firstValue = $_REQUEST['firstValue'];
		$secondValue = $_REQUEST['secondValue'];
		$total = $firstValue + $secondValue;
?>
    <h3>Addition of 
<?php 
		echo $firstValue ." and " . $secondValue . ': '. $total ;
	}
?>
    </h3>

<?php include_once('footer.php'); ?>

इस उदाहरण में बहुत सारी ऐसी बातें हैं, जिन्हें समझना PHP को HTML के साथ Best तरीके से Use करने के लिए बहुत ही जरूरी हैं। सबसे पहली समझने वाली बात ये है कि हम किस तरह से HTML च PHP Codes को एक दूसरे में Embed कर सकते हैं।

हालांकि PHP Codes, HTML Codes के बीच Directly Embed होते हैं, लेकिन HTML Codes, PHP Codes के बीच Directly Enclose नहीं हो सकते। इसलिए उपरोक्त Code में हम देख सकते हैं, कि जहां भी हमें HTML Codes को PHP Codes के बीच Embed करना होता है, यानी HTML Codes को Conditionally Display करना होता है, वहां हमें HTML Code को PHP Code से अलग Specify करना पडता है। लेकिन फिर भी इस तरह से Specify करना होता है, जैसे कि वे HTML Codes, PHP Codes के बीच Enclosed हों। यानी

<?php
	if(isset($_GET['firstValue']) && isset($_GET['secondValue'])){
		$firstValue = $_REQUEST['firstValue'];
		$secondValue = $_REQUEST['secondValue'];
		$total = $firstValue + $secondValue;
?>

इस PHP Code में हमने एक if Statement Use किया है। हालांकि इस Code में हमने if Statement के Curly Brace को Open तो किया है, लेकिन Close नहीं किया। क्योंकि इस PHP Code के बीच हमें निम्नानुसार एक HTML Code भी चाहिएः

<h3>Addition of

इस HTML Code को हमें PHP Code के if Statement Block के बीच Expand करना है, इसलिए इस Code के Just अगली Line में हमने निम्न PHP Code लिखा है, जिसमे पहले Open किए गए if Statement के Closing Curly Braces को Specify किया गया है।

<?php 
		echo $firstValue ." and " . $secondValue . ': '. $total ;
	}
?>

इस प्रकार से यदि हम इस Code को थोडा समझने के हिसाब से Normalize करें, तो हम इस Code को निम्नानुसार भी लिख सकते हैं:

<?php
	if(isset($_GET['firstValue']) && isset($_GET['secondValue'])){
		$firstValue = $_REQUEST['firstValue'];
		$secondValue = $_REQUEST['secondValue'];
		$total = $firstValue + $secondValue;

	echo "<h3>Addition of " . $firstValue ." and " . $secondValue . ': '. $total ."</h3>";
	}
?>

अब हम उपरोक्त PHP Page की Working समझ लेते हैं। इस PHP Page में दो के स्थान पर केवल एक ही Web Page में Data ViewControlling दोनों कामों को Perform किया गया है। इसलिए Current Page को ही HTML Form के action Attribute में निम्न PHP Code द्वारा Refer किया गया हैः

<form action=”<?php echo $_SERVER[‘PHP_SELF’] ?>” method=”get”>

जब पहली बार इस Web Page को Web Browser में Load किया जाता है, तो निम्न if Statement Check करता है कि ($_GET[‘firstValue’])($_GET[‘secondValue’]) दोनों में Values Set हैं या नहीं।

if(isset($_GET[‘firstValue’]) && isset($_GET[‘secondValue’])){

यदि Values Set हैं तो ये Function True Return करता है और Values उसी स्थिति में Set हो सकती है, जबकि Form पर Placed Text Boxes में Values को Fill करके Total Button पर Click किया गया हो।

if Statement के True Return करने की स्थिति में निम्नानुसार Calculation होती है और Text Box में Input की गई Values की जोड का Result Output के रूप में Current Page में ही Create हो जाता है।

$firstValue = $_REQUEST[‘firstValue’];
$secondValue = $_REQUEST[‘secondValue’];
$total = $firstValue + $secondValue;
echo “<h3>Addition of ” . $firstValue .” and ” . $secondValue . ‘: ‘. $total .”</h3>“;

लेकिन यदि if Statement True Return नहीं करता, तो इसका मतलब ये है कि दोनों Text Boxes में Values Fill करके Total Button पर Click नहीं किया गया है। ये स्थिति तब होती है, जब Web Page को पहली बार Web Browser में Load किया जाता है।

इसलिए जब पहली बार इस Web Page को Web Browser में Load किया जाता है, तब हमें हमारा Web Page निम्नानुसार दिखाई देता हैः

PHP Self Processing Pages - Hindi

जबकि Values Fill करके जब हम Total Button पर Click करते हैं, तब हमें हमारा Result निम्नानुसार दिखाई देता हैः

PHP Self Processing Pages - Hindi

जैसाकि हम Output में देख सकते हैं कि यदि हम चाहें तो इसी Form पर अन्य Calculations को Perform करने के लिए फिर से नई Values को Text Boxes में Fill कर सकते हैं और नया Output प्राप्त करने के लिए फिर से Total Button को Click कर सकते हैं।

उपरोक्त सभी उदाहरणों में हमने GET Method को Use किया है। यदि हम चाहें तो उपरोक्त सभी उदाहरणों को POST Method के लिए भी Use कर सकते हैं। हमें बस इतना ही करना होगा कि हमने हमारे उदाहरणों में जहां-जहां GET नाम Use किया है, वहां हमें POST नाम को Modify करना होगा। जैसे यदि हम हमारे पिछले Program को ही GET के स्थान पर POST Method के लिए Modify करना चाहें, तो हमारा Program निम्नानुसार होगाः

<?php
	$title = "Self Processing Page";
	include_once('header.php');
?>

    <h1>Addition</h1>
    <form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post">
        <label>First Value: </label><input name="firstValue" type="text">
        <label>Second Value: </label><input name="secondValue" type="text">
        <input name="submit" type="submit" value="Total">
    </form>
    
<?php
	if(isset($_POST['firstValue']) && isset($_POST['secondValue'])){
		$firstValue = $_REQUEST['firstValue'];
		$secondValue = $_REQUEST['secondValue'];
		$total = $firstValue + $secondValue;
?>
    <h3>Addition of 
<?php 
		echo $firstValue ." and " . $secondValue . ': '. $total ;
	}
?>
    </h3>

<?php include_once('footer.php'); ?>
PHP Include Once - File Inclusion
PHP Get Parameters from URL - Multivalve Parameters

PHP in Hindiये Article इस वेबसाईट पर Selling हेतु उपलब्‍ध EBook PHP in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी रहा, तो निश्चित रूप से ये पुस्तक भी आपके लिए काफी उपयोगी साबित होगी। 

PHP in Hindi | Page: 647 | Format: PDF

BUY NOW GET DEMO REVIEWS