Thursday, May 21, 2015

Lesson 19


ඉතින් යාලුවනේ කොහොමද ඔන්න අදත් මම ඔයාලට තවත් අලුත් php පාඩමක් අරගෙන අවා. අද මම ඔයාලට කියල දෙන්නේ php වලින් කොහොමද form එකක් handle කරන්නේ කියලයි. මේවා තමයි අපිට ඇත්තටම development වලදී ඕනේ වෙන්නේ. අපි මුලින් ම සරල දෙයින්ම පටන්ගමු.

අද මම කියල දෙන්න යන්නේ GET  සහ POST කියන method දෙක use කරලා කොහොමද form එකක තියන data view කරන්නේ කියල.


මේකට අපිට ඕනේ වෙන්ව php files දෙකක් එකක් තමයි form.php කියන file එක අනිත් එක තමයි Welcome.php කියන file එක මුලින් මේ මේ file දෙක හදාගෙන ඉවර වෙලා form.php කියන file එකේ අපේ form එක හදාගන්න ඕනේ. අපි දැන් බලමු කොහොමද එක කරන්නේ කියල.

අපි මේ කරන එක කරන්නේ POST කියන method එක use කරලයි.



<!DOCTYPE HTML>

<html>

<body>

    <form action="welcome.php" method="post">

        Name: <input type="text" name="name"><br> 
        
        E-mail: <input type="text" name="email"><br> 
        
        <input type="submit">

    </form>

</body>

</html>





මේකෙදි අපි form එකේ action එකට දීලා තියෙන්නේ අපි හදන අනිත් php file එකයි. ඒ වගේම method එක POST කියලත් දීල තියනවා. ඉතුරු ටික ඉතින් form එකේ body එක අපි name එකට textbox එකකුයි Email එකට එකට textbox එකකුයි ඒවගේම submit button එකකුත් දාල තියනවා.

  දැන් අපි බලමු අපේ Welcome.php file එකේ මොනවද තියෙන්නේ කියල.




<html>

<body>

Welcome <?php echo $_POST["name"]; ?><br>

Your email address is: <?php echo $_POST["email"]; ?>

</body>

</html>



මේකෙදි කරලා තියෙන්නේ අපි කලින් හදපු Form.php එකේ තියන name එකයි email එකයි display කරන්න හදල තියන file එකයි.


අපි name එකයි email එකයි type කරලා submit කරහම අපිට එක view කරනවා අපි මේ හදපු welcome.php file එකෙන් එක තමයි වෙන්නේ බලන්නකෝ එහෙනම් ඔයාල form.php එක run කරහම මෙන්න මේ වගේ එකක් එන්න ඕනේ එකේ ඔයාලගේ name එකයි email එකයි type කරලා submit කරහම අපිට result එක පෙන්නන්න ඕනේ මෙන්න මේ වගේ.





ඔයාල මේක submit කරහම එන්න ඕනේ මෙන්න මෙහෙම,


Welcome PHP
Your email address is: Test@Example.com


අපි දැන් එහෙනම් බලමු මේක GET method එක use කරලා.



Form_Get.php


<!DOCTYPE HTML>

<html>

<body>

    <form action="welcome_Get.php" method="get">
    
        Name: <input type="text" name="name"><br> 
        
        E-mail: <input type="text" name="email"><br> 
        
        <input type="submit">
            
    </form>

</body>

</html>





Welcome_Get.php



<html>

<body>

Welcome <?php echo $_GET["name"]; ?><br>

Your email address is: <?php echo $_GET["email"]; ?>

</body>

</html>





මේකේ Form_Get.php  එක run කරහම ඔයාලට එන form එකේ data enter කරලා submit කරලා බලන්න මෙන්න මෙහෙම එයි.


 



ඔයාල මේක submit කරහම එන්න ඕනේ මෙන්න මෙහෙම,

Welcome PHP
Your email address is: Test@Example.com



ඒවගේම බලන්න ඔයාලගේ address bar එක ඔයාලට GET method එකේදී ඔයාල pass කරන ඔක්කොම දේවල් පෙන්නනවා. මෙන්න මේ වගේ,
 




එක නිසා form handle කරනකොට security වලින් හොද පොස්ට් method එක use කරන එකයි ගෙට් method එකේදී හැමෝටම පෙන්නනවා එතකොට hack කරන්න ලේසියි එක නිසයි අපි හැම වෙලාවේම පොස්ට් method එක use කරන්නේ.

එහෙනම් ඉතින් යාලුවනේ අදට මම මෙතනින් නතර කරනවා වැඩ ගොඩාක් සෙට් වෙලා තියෙන්නේ අයත් වෙලාවක් හම්බුනා ගමන් ඔයාලට තවත් අලුත් දෙයක් අරගෙන එන්නම් එහෙනම් මම ගියා

මතක ඇතුව කොමෙන්ටුවකුත් දාලම යන්න යාලුවනේ.....

 


Tuesday, May 12, 2015

Lesson 18


ඉතින් යාලුවනේ කොහොමද ඔන්න අදත් මම ඔයාලට තවත් අලුත් php පාඩමක් අරගෙන අවා ටිකක් පරක්කු උනාට සමාවෙන්න ඕනේ මේ තියන වැඩ ගොඩ අස්සේ අද යන්තම් ඔයාල වෙනුවෙන් පොස්ටුවක් ලියන්න වෙලාවක් හොයාගත්තා. අද මම ඔයාලට කියල දෙන්න යන්නේ php වල තියන Global Variables - Superglobals කියන ඒවා ගැන පොඩි විස්තරයක් :D මේ Global Variables - Superglobals කියන එක මුලින් ම හදුන්වල දුන්නේ PHP 4.1.0 කියන සංස්කරණය යටතේයි. අපි දැන් use කරන්නේ php 5 සංස්කරණය නිසා මේ සියල්ලම එකෙත් ඇතුලත් වෙනවා. මේවා php වල predefined variables මේවා ඔයාලට කැමති තැනක ඉදල access කරන්න පුළුවන් class එකක function එකක ඕනේ තැනක ඉදල access කරන්න පුළුවන් එක නිසා තමයි මේවට Superglobals කියල කියන්නේ.


අපි බලමු දැන් එහෙනම් php වල තියන  Global Variables මොනවද කියල,



  • $GLOBALS
  • $_SERVER  
  • $_REQUEST  
  • $_POST  
  • $_GET  
  • $_FILES 
  • $_ENV 
  • $_COOKIE  
  • $_SESSION


මම මෙතැනදි ඔයාලට කියල දෙනවා   
  •     $GLOBALS
  •     $_SERVER
  •     $_REQUEST
  •     $_POST
  •     $_GET

කියන ටික ඉතුරු ටික අපි ඉස්සරහට එන lessons වලදී බලමු.

මුලින් ම බලමු එහෙනම් $GLOBALS  කියන එක ගැන,

$GLOBALS කියල කියන්නේ php වල තියන super global එකක් මේක අපිට ඕනෙම තැනක ඉදල access කරන්න පුළුවන් functions or methods එකක ඉදල උනත් අපිට access කරන්න පුළුවන්
php වල මේ global variable store කරගන්නේ $GLOBALS[index] කියන Array එකේ. මේකේ index කියල කියන්නේ variable name එක.




<!DOCTYPE html>

<html>

<body>

<?php

$x = 80;

$y = 20;

function addition() {
    
    $GLOBALS ['z'] = $GLOBALS ['x'] + $GLOBALS ['y'];
    
}

addition ();

echo $z;

?>

</body>

</html>



මේකේ result එක විදියට එන්නේ
100 කියල
 
අපි බලමු එහෙනම් ඊළගට  $_SERVER කියන එක ගැන,
මේකෙන් කරන්නේ php වල paths, script locations, headers වල information තියාගෙන ඉන්න එකයි.




<!DOCTYPE html>

<html>

<body>

<?php

echo $_SERVER ['SERVER_NAME'];

echo "<br>";

echo $_SERVER ['HTTP_HOST'];

?>

</body>

</html>




මේකේ result එක මටනම් අවේ 

localhost
localhost



$_SERVER   කියන එක ගත්තහම එකේ elements ගොඩක් තියනවා එහෙනම් බලාගන්නකෝ ඒ මොනවද කියලා





දැන් එහෙනම් බලමු $_request කියන එක ගැන,
මේක use කරන්නේ form එකකින් data collect කරගන්න තමයි.
අපිට මේවත් ඉස්සරහට හම්බෙනවා එක නිසා බයවෙන්න දෙයක් නෑ.




<!DOCTYPE html>

<html>

<body>

    <form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
    
        Name: <input type="text" name="fname"> <input type="submit">
        
    </form>

<?php

if ($_SERVER ["REQUEST_METHOD"] == "POST") {
    
    $name = $_REQUEST ['fname'];
    
    if (empty ( $name )) {
        
        echo "Name is empty";
        
    } else {
        
        echo $name;
        
    }
    
}

?>

</body>

</html>




මේකේ එන box එකේ ඔයාලට කැමති නමක් ගහල submit කරහම ඔයාලට එක පහලින් view කරනවා මෙතැනදී වෙන්නේ අපේ request එක print කරලා පෙන්නන එකයි.


 එහෙනම් අපි දැන් බලමු $_POST එක ගැන ,
මේක use කරන්නේ html form එකක් submit කරනකොට data collect කරගන්න මේ method එකේ විශේෂත්වය තමයි අපි form එක submit කරනකොට url එකේ අපි pass කරන values පෙන්නන්නේ නැතුව යවන එකයි.



<!DOCTYPE html>

<html>

<body>

    <form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
    
        Name: <input type="text" name="fname"> <input type="submit">
        
    </form>

<?php

if ($_SERVER ["REQUEST_METHOD"] == "POST") {
    
    $name = $_POST ['fname'];
    
    if (empty ( $name )) {
        
        echo "Name is empty";
        
    } else {
        
        echo $name;
        
    }
    
}

?>

</body>

</html>





මේකේ එන box එකේ ඔයාලට කැමති නමක් ගහල submit කරහම ඔයාලට එක පහලින් view කරනවා මෙතැනදී වෙන්නේ අපේ request එක print කරලා පෙන්නන එකයි. මේකෙදි අපිට URL එකේ පෙන්නන්නේ න අපි මොනාද pass කරන්නේ කියල.


එහෙනම් අපි දැන් බලමු $_GET එක ගැන ,
මේක use කරන්නේ html form එකක් submit කරනකොට data collect කරගන්න මේ method එකේ විශේෂත්වය තමයි අපි form එක submit කරනකොට url එකේ අපි pass කරන values පෙන්නනවා.



<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="GET">

    Name:    <input type="text" name="name"> 
    
            <input type="submit" value="Submit">
        
</form>



මේකෙදි ඔයාලට බලාගන්න පුළුවන් කැමති name එකක් ගහල submit කරහම ඒ අපි ගහපු name එකේ value එක අපේ URL එකේ display කරනවා 





අපි මේ දේවල් ගැන තවත් ඉස්සරහට වැඩිපුර කතා කරනවා එක නිසා බයවෙන්නෙපා. හික් හික් ;)


එහෙනම් ඉතින්  අදට මට යන්න වෙලාව හරි අද අපි මේ කරපු දේවල් ටික කස්ටිය හොදට කරලා පුරුදුවෙන්න 

එහෙනම් ඉතින් මන්ගොහින් එන්නම් අයත් අලුත් පාඩමක් අරගෙන එනකම් හැමෝටම ජයවේවා!!! 


මතකඇතුව යාලුවනේ කොමෙන්ටුවකුත් දාලම යන්න හොදේ :D