PHP variable parsing problem :?

GT9

Well-known member
  • Jun 22, 2013
    1,564
    167
    63
    [email protected]
    මචන්ලා අදත් මට වෙනද වගේම ලෙකු php කේස් එකක්...:rofl::D:P අද ප්‍රශ්නේ.. php variable value parsing problem එකක් ගැන.

    මෙන්න මේක තමයි අවුල... :sorry: මට ඕන php variable කීපයකට dynamically values asign කරන්න.. හැබැයි මේක මට නිකන් පිස්සු වගේ.. මෙදේට හේතුව මගේ script එක ලියපු විදියට.. ඒ මුලු script එකම වෙනස් කරන්නත් බෑ.. :eek::baffled:

    මට ඕන මෙන්න මේකයි මචන්ලා...

    මෙන්න මේ ආකාරයේ.. function එකක් තියෙනවා..

    function print($firstName, $lastName){
    echo $firstName.$lastName;
    }

    දැන් අපිට පුලුවන්නේ.. මේවිදියට ඉහත function එකේ parameters වලට values asign කරන්න...

    print('Malaka','Silva');

    දැන් ඉතින් ඔය ඉහත විදියට parameters දීල function එක call කරාම අවුලක් නැතිව වැඩේ වෙනවනේ.. එතනට එනකම් මට ගැටලුවක් නෑ... නමුත් මගේ script එකේ structure එකේ තියෙන මඥ්ඥං බව නිසා.. මට මේවගේ පිස්සු වැඩක් කරන්න ඕන වෙලා තියෙනවා...

    මගේ තියෙනවා.. Index.php file එකක්..ඒක මේවගේ..

    <?php
    require 'basic_functions.php'; // this file has print function
    // print title position
    // print header position
    print('Malaka','Silva');


    if (empty($_GET['page'])) {
    echo "defualt root index page ";
    } else{

    $page = $_GET['page'];

    switch ($page)
    {
    case "red":
    echo "Your favorite color is red!";
    print('Janaka','Saliya');
    break;
    case "blue":
    echo "Your favorite color is blue!";
    print('Ranuka','Silva');
    break;
    case "green":
    echo "Your favorite color is green!";
    break;
    default:
    echo "Your favorite color is neither red, blue, or green!";
    } // end switch selection block
    }


    // other elements calling
    // other elements calling

    ?>


    ඔය ඉහත් index php file එකට මචන් require මගින්.. print function එක තියෙන basic_functons.php කියන file එක call කරල තියෙන්නේ... ඔය ඉහත.. index file එකේ..
    // print header position එකට යටින් තියෙනවනේ.. මේ වගේ statement එකක්...print('Malaka','Silva'); මෙන්න මෙතන තමයි මචන්.. මට හැම පේජ් එකේදිම මේ function එක වැඩ කරන්න ඕනේ..

    නමුත් බලන්න. මම ඔය switch selection block එකේත්.. ඔය විදියට print() function එක විවිද parameters දාල කෝල් කරා තියෙනවා.. එතකොට.. ඒඒ page index එකේදී..

    උදා-

    example.com/?page=red
    example.com/?page=blue

    අර print(); function එක වැඩ කරනවා.. නමුත් මට ඕන ඒ ඒ තැන් වල වැඩ නොකර.. අර ඉහත // print header position මෙන්න මේ තැනට පහලින් තියෙන තැන වැඩකරන්න..

    මට ඕන.. ඒ ඒ switch statement එකේදී විවිද parameters මේ print() එකට දෙන්න.. හැබැයි ඒවා ඒ තැන්වලම වැඩ නොකර අර ඉහත තැනදී විතරක් වැඩ කරන්න තමයි.. ඕන...

    මම දන්නවා.. function එකක් call කරාම ඒ ස්තානයේ තමයි වැඩ කරන්නේ කියලා...:baffled: මට ඕන. මේවිදියට නැතත් වෙන විදියකට වරි ‍මේ දේ කරගන්න..

    මචන් මේ ප්‍රශ්නෙදි නම් මම මාර විදියට වැටිල ඉන්නේ... මේකට උදව්වක් කරන්.. මට පුලුවන් විදියට මම ප්‍රශ්ණය පැහැදිලි කරා.. ඔයාලට තේරුනා කියලා හිතනවා...:yes::P:D

    ඔයාල මේක localhost එකේ test කරන්න.. මම සරල උදාහරණයක් හැදුව.. මේක download කරගෙන මට ‍මේදේකරන හැටි කියල දෙන්න... :P

    ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    Update!!! Sample script attached :D


    ඔය සරල උදාහරණයේ.. මචන් එක එක page index එකේදී.. එක එක <title></title> හැදේවී.. නමුත්.. ඒවා හැදෙන්නේ... <Body></body> එක ඇතුලේ.. මට ඕනේ.. ඒව <Head></head> එක ඇතුලේ හැදෙන්.. හැම පේජ් එකේම එකම තැනදී.. ඒකියන්නේ...<head></head> ටැග් ඇතුලේ යම් නිෂ්චිත ස්ථානයක.. මේක බලාගන්න.. page source code එක බලන්න..

    මම දන්නවා.. function එකක call කරන තැන තැන තමයි.. ආදාල කෝඩ් එක generate වෙන්නේ... ඒක තමයි‍ මේ අවුල... වෙනවිදියට හරි කමක් නෑ මේ දේකරන විදියට මට කියලා දෙන්න ලොකු උදව්වක්....

     
    Last edited:

    GT9

    Well-known member
  • Jun 22, 2013
    1,564
    167
    63
    [email protected]
    poddak kiyapan,mekath print('Malaka','Silva'); hama page ekema print wenna oneda?

    නෑ මචන් ඇත්තටම මට ඕන.. print('Malaka','Silva'); තියෙන තැන එක් එක් page index එකේදී මේ function එක වැඩ කරන්න.. ඇත්තටම.. print('Malaka','Silva'); දැම්මේ තේරුම් ගන්න පහසුවෙන්.. එතන්ට තමයි values asign කරන්න ඕන... මේ වගේ... print($firstName,$lastName); :D
     

    Xeroxeen

    Member
    May 20, 2013
    1,935
    73
    0
    ~Logical Address~
    නෑ මචන් ඇත්තටම මට ඕන.. print('Malaka','Silva'); තියෙන තැන එක් එක් page index එකේදී මේ function එක වැඩ කරන්න.. ඇත්තටම.. print('Malaka','Silva'); දැම්මේ තේරුම් ගන්න පහසුවෙන්.. එතන්ට තමයි values asign කරන්න ඕන... මේ වගේ... print($firstName,$lastName); :D

    e kiyanne hama page ekema me function eka default thiyanawada?
     

    GT9

    Well-known member
  • Jun 22, 2013
    1,564
    167
    63
    [email protected]
    e kiyanne hama page ekema me function eka default thiyanawada?

    ඔව්.. නමුත් ඒඒ පේජ් එකට දෙන්න ඕන වෙනස් values

    eg:-

    example.com/?page=red මේ පේජ් එකේදී නම... මාලක සිල්වා.. කියල හිතමු...
    example.com/?page=blue මේ ‍පේජ් එකේදී.. සංක දිනෙත්.. කියල හිතමු..

    ඔය විදියට හැම පේජ් එකටම විවිද දත්ත ස්වධීනව දෙන්න පුලුවන් වෙන්න ඕන.. හැබැයි ඒ දත්ත පෙන්නන්න ඕනේ... Index.php පේජ් එකේ යම් නිශ්චිත ස්ථානයක... නැතුව function එක කෝල් කරන තැන නෙමේ..

    උදාහරණයක් විදියට..

    වෙබ් පේජ් එකක.. <title></title> එක හැම තිස්සේම.. <head></head> එක ඇතුලේ තියෙන්න ඕන නිසා.. මම දැන් කරල තියෙන විදියෙන් වෙන්නේ.. name print function එක වැඩ කරනවා.. නමුත් සයිට් එකේ මැද.. source code එක බැලුවම ඒක තේරෙනවා. ඒවගේම.. layout එකත් අවුල් යනව.. :D:yes:
     

    SaNDun

    Well-known member
  • May 4, 2006
    12,677
    811
    113
    In La Srinka
    oka ithin ochchara hithanna deyakda ban.. saralawa hithapan.

    oya page eke switch part eka header ekata kalin karapan. print function ekeathuledi print karanne nathuwa ekedi print karanna ona value eka return karaganin function eken. eka variable ekakata assign karala ubata print wenna ona thanedi print karala dapan.

    oka mekema kiyalath ubata hithaganna bari nam oya php file eke thiyena ewa methana post karanna. ehema barinam pm ekak dapan. ;)
     

    rooshan2008

    Well-known member
  • Apr 16, 2008
    5,896
    1,271
    113
    CALL 0x754EA
    oka ithin ochchara hithanna deyakda ban.. saralawa hithapan.

    oya page eke switch part eka header ekata kalin karapan. print function ekeathuledi print karanne nathuwa ekedi print karanna ona value eka return karaganin function eken. eka variable ekakata assign karala ubata print wenna ona thanedi print karala dapan.


    oka mekema kiyalath ubata hithaganna bari nam oya php file eke thiyena ewa methana post karanna. ehema barinam pm ekak dapan. ;)

    :yes::yes:
     

    GT9

    Well-known member
  • Jun 22, 2013
    1,564
    167
    63
    [email protected]

    තෑන්ක්ස් අයියා.. :P

    oka ithin ochchara hithanna deyakda ban.. saralawa hithapan.

    oya page eke switch part eka header ekata kalin karapan. print function ekeathuledi print karanne nathuwa ekedi print karanna ona value eka return karaganin function eken. eka variable ekakata assign karala ubata print wenna ona thanedi print karala dapan.

    oka mekema kiyalath ubata hithaganna bari nam oya php file eke thiyena ewa methana post karanna. ehema barinam pm ekak dapan. ;)

    තෑන්ක්ස් මචන්.. මම මේ සරල උදාරණයක් හදනව. ඒක මම දාන්නම්... ඔයාලට Localhost එකේ ටෙස්ට් කරල බලන්න පුලුවන් විදියට..:D
     

    GT9

    Well-known member
  • Jun 22, 2013
    1,564
    167
    63
    [email protected]
    මට අවශ්‍ය දේ සරල පැහැදිලි කරල හදපු සරල script එකක් මගේ ත්‍රෙඩ් එකේ Update එකක් විදියට දැම්ම.. මෙම ත්‍රෙඩ් එකේ මුල් පිටුවේ.. මම දාපු ත්‍රෙඩ් එකේ පහල බලන්න.... ඒක download කරල ටෙස් කරල.. මට ඕන දේ වෙන විදියට වෙනස් කරල දෙන්න පුලුවන්ද? :D
     

    SaNDun

    Well-known member
  • May 4, 2006
    12,677
    811
    113
    In La Srinka
    meka eka eka widiyata karanna puluwan machan. me eka widiyak.


    index.php

    PHP:
    <?php
    require 'basic_functions.php';
    $pg_title="";
    $body_content="";
    
    if (empty($_GET['page'])) {
        $body_content="defualt root index page ";
        $pg_title=printName('Malaka','Silva');
    } else{
        
        $page = $_GET['page']; 
        
        switch ($page)
        {
            case "red":
                $body_content= "Your favorite color is red!";
                $pg_title=printName('Sanka','Dineth');
                break;
            case "blue":
                $body_content= "Your favorite color is blue!";
                $pg_title=printName('Iraj','Viraj');
                break;
            case "green":
                $body_content= "Your favorite color is green!";
                $pg_title=printName('Nadun','Sandun');
                break;
            default:
                $body_content= "Your favorite color is neither red, blue, or green!";
                $pg_title=printName('Kamal','Nimal');
        } // end switch selection block
    }
    ?>
    <html>
    <head>
    <?php echo $pg_title; ?>
    </head>
    <body>
    <?php echo $body_content; ?>
    </body>
    </html>
    basic_functions.php

    PHP:
    <?php
    // name print function
    
    function printName($firstName, $lastName){
     return "<title>".$firstName." ".$lastName. "</title>";
    }
    
    ?>
     
    • Like
    Reactions: GT9

    GT9

    Well-known member
  • Jun 22, 2013
    1,564
    167
    63
    [email protected]
    meka eka eka widiyata karanna puluwan machan. me eka widiyak.


    index.php

    PHP:
    <?php
    require 'basic_functions.php';
    $pg_title="";
    $body_content="";
    
    if (empty($_GET['page'])) {
        $body_content="defualt root index page ";
        $pg_title=printName('Malaka','Silva');
    } else{
        
        $page = $_GET['page']; 
        
        switch ($page)
        {
            case "red":
                $body_content= "Your favorite color is red!";
                $pg_title=printName('Sanka','Dineth');
                break;
            case "blue":
                $body_content= "Your favorite color is blue!";
                $pg_title=printName('Iraj','Viraj');
                break;
            case "green":
                $body_content= "Your favorite color is green!";
                $pg_title=printName('Nadun','Sandun');
                break;
            default:
                $body_content= "Your favorite color is neither red, blue, or green!";
                $pg_title=printName('Kamal','Nimal');
        } // end switch selection block
    }
    ?>
    <html>
    <head>
    <?php echo $pg_title; ?>
    </head>
    <body>
    <?php echo $body_content; ?>
    </body>
    </html>
    basic_functions.php

    PHP:
    <?php
    // name print function
    
    function printName($firstName, $lastName){
     return "<title>".$firstName." ".$lastName. "</title>";
    }
    
    ?>

    මචන් වැඩේ 99% ගොඩ මචන්.. තව පොඩී අවුලක් තියෙනවා මචන්.. ඒක පේන්නේ... page source එක බැලුවම.. <title></title> එක මචන් මට print වෙන්න ඕනේ.. <head></head> ටැග් ඇතුලේ... ඒ වගේම. <html> ටැග් එකත් වැඩ කරනන්න ඕ‍න.. මේ ටිකත් හදල දෙනවද.. මමහිතන්නේ.. සුලු වෙනස් කමක් කරන්න ඇත්‍තේ...

    පට්ට අහ්... ලොකු උදව්වක් කරෙ.. මම මේකට මැරෙන්නේ. ඊයේ හවස ඉඳන්..:D:yes: