Switch!

Tiek skatīts 1 ieraksts (no 59 kopumā)
  • Autors
    Ieraksti
  • #149998
    Ernijs_E
    Participant

    Uzstādot mājas lapā kloķi, respektīvi šāds kods:

    Code:


    switch ($_REQUEST[’lang’]) {
    case ‘lat’:
    include_once(’lang/lat.php’);
    break;
    case ‘eng’:
    include_once(’lang/eng.php’);
    break;
    default:
    include_once(’lang/eng.php’);
    break;
    }


    P.S. Protams kodam priekšā ir . 🙂

    Š is skripts man ir index.php failā, bet ieejot lapā, index.php man rāda, ka nav definēts default, jeb

    Quote:

    Notice: Undefined index: lang in /var/www/html/test/index.php on line 2

    Kur ir kļūda, kā to labot?

    #217908
    ob1
    Participant

    Problēmu tas neatrisinās, bet “case ‘eng'” šajā kodā ir absolūti lieks. Principā, to kodu varētu nosaukt par spamu… a par spamu draud kriminālatbildība, vai nē?

    #217909
    Crow
    Participant

    Cik nu man tās saprašanas no pasākuma, tev papriekšu jāpārbauda, vai _REQUEST vispār ir definēts.

    if (isset($_REQUEST))

    {

    // tavs “svič & keis” kods šeit

    }

    #217910
    Ernijs_E
    Participant

    Kā pērējiem šķiet?

    ob1 kā lieks? 😀

    Tad nedarbojas vispār 😛

    #217911
    drono
    Participant

    Nu bet tas Request tāds tiešām eksistē?

    Adreses lodziņā parādās kaut kāds index.php?lang=eng

    To $_REQUEST arī varbūt var konkretizēt. Ja valodas datus padod caur adreses lodziņu, tad izmanto $_GET, ja padod caur

    , tad $_POST[;

    Var izmantot arī šitādu piemēru.

    $lang=isset($_GET) ? $_GET : “eng”;

    un tālāk tad switch($lang){…}

    #217912
    ob1
    Participant

    ->Ernijs_E

    hmm, nu php nekad neesmu rakstījis… valodu nezinu… bet “case ‘eng’: ” dara to pašu, ko “default: “… tad kāda jēga no “case ‘eng’: “?

    Vai arī tie php developeri ir izdomājuši uberstulbu sintaksi?

    #217913
    Foxsk8
    Participant

    Reāli ernija piemēra tas Eng case nav vajadzīgs.

    Reāli laikam puikam nav sajēgas kā case rukā.

    https://www.tizag.com/phpT/switch.php

    #217914
    Andress
    Participant

    Code:

    if ($_REQUEST[’lang’]) {
    switch ($_REQUEST[’lang’]) {
    case ‘lat’:
    include_once(’lang/lat.php’);
    break;

    case ‘eng’:
    include_once(’lang/eng.php’);
    break;
    }
    } else {

    include_once(’lang/eng.php’);
    }

    Iesaku aizvietot request ar get/post kas nu tev nu tur ir pie tam neaizmirsti to savu request parbaudit pret visadu kretinisku datu ievadi… Pie tam notice vispar nav janjem veraa, izmet pa logu savu error reportingu (zemaki kaki par e_warning neko nenozimee, tas ir tikai taa, zinashanai) :>

    Emmm un vai es jau mineju, ka shadi valodas parsledz tikai dulburi, mhh? :> Tu ko gatavojies katraa requestaa galaa kabinaat valodas req? :>

    Sheit aktiveejas manaa parakstaa esosjaisjjj gadijums-

    /aizdedzina erniju/

    Edit: zinasjanaijjj undefined index nozimee to ka nav atrasts array index, ta ka $_REQUEST by default ir array, tad index te ir ‘default’ ieksh $_REQUESTdefault[/color]‘] :> skaidrsj?

    #217915
    rATRIJS
    Participant

    Jā – tam “eng” keisam tur nav īpaša vajadzība būt, bet tas, manuprāt, nav nekas slikts, ka viņš tur ir. Š ajā piemērā viņš, varbūt arī, ir patiešām lieks, taču ja keisi ir daudz, tad, manuprāt, definēt visus ir tikai pareizi. Tas padara kodu uzskatāmāku un ērtāk maināmu, ja, piemēram, vajag nomainīt noklusēto darbību.

    #217916
    ob1
    Participant

    Andress, tu uzrakstīji to pašu marasmu, tikai vēl perversākā veidā… kur zāli ņem, izskatās laba…

    #217917
    rATRIJS
    Participant

    Ä€ un vēl kas – include_once() izmantošanu, šajā gadījumā, labāk ir aizstāt ar include()

    #217918
    Andress
    Participant

    ob1 wrote:

    Andress, tu uzrakstīji to pašu marasmu, tikai vēl perversākā veidā… kur zāli ņem, izskatās laba…

    Koa? 😀 Kur ir marasms? Excelents loghical flow – ja ir ir uzstadiits request vars, sledzam iekšā switchu, ja nav, ņemam defaulto valodu. nu bik var palaabot, ja ir tikai 2 valodas

    Code:


    if($_REQUEST[’lang’] && $_REQUEST[’lang’] == ‘lat’){
    include(’lang/lat.php’);
    }else{
    include(’lang/eng.php’);
    }

    Bet neviens jau neteica ka var bez switcha (tb vajag vinjam) 😀

    #217919
    ob1
    Participant

    if($_REQUEST && $_REQUEST == ‘lat’)

    hmm, vai ar:

    if($_REQUEST == ‘lat’)

    nepietiktu?

    #217920
    Andress
    Participant

    ob1 wrote:

    if($_REQUEST && $_REQUEST == ‘lat’)

    hmm, vai ar:

    if($_REQUEST == ‘lat’)

    nepietiktu?

    Defaultā valoda ‘eng’ arī taču jaiekļauj ja nav norādīts ka lang ir lat 🙂 un lai nerastos notice kas šam ta nepietiek ir japarbauda vai request arrayaa eksistee mainigais ar tadu keyu (lang)

    #217921
    ob1
    Participant

    pag, ja nav ‘lat’, tad izpildīsies “else” vai ne? Vai arī php sintakse ir savādāka?

    #217922
    Andress
    Participant

    ob1 wrote:

    pag, ja nav ‘lat’, tad izpildīsies “else” vai ne? Vai arī php sintakse ir savādāka?

    jaa, ja nav lat ta izpildisies else, bet vispirms japarbauda vai lat eksistee, jo cik atceros neparbaudot producees e_onotice bridinajumu. laikam. 😀 neesmu testejis 😀 nu var jau ari wnk if($_REQUEST == ‘lat’){include }else{blah blah blaah}

    #217923
    ob1
    Participant

    beidzot, Andress, tikai nevis “var jau”, bet “required”.

    🙂

    #217924
    Andress
    Participant

    ob1 wrote:

    beidzot, Andress, tikai nevis “var jau”, bet “required”.

    🙂

    nevis “required” bet “var jau”, ar manu fraami tas butu shaadi

    Code:


    $lang = clean(check(format($_REQUEST[’lang’])));
    if(reg_set($lang) && $lang != false && $lang === ‘lat’){
    do blah blah….
    }

    Viss atkarigs kas jaadara… Nevar ta vienkarshi palugt sanjemto izpildit, doma kas notiks ja

    Code:

    $_REQUEST[’lang’] = “$_SESSION[’id’]){echo $db_password;}elseif….”;


    etc ? 🙂

    #217925
    ob1
    Participant

    ok, Andress, php nepārvaldu… samudīji nepajokam… es jau tikai par tīru semantiku – bez spama. Bet patīkami diskutēt par valodu kuru nerubī, vai ne?

    🙂

    #217926
    Andress
    Participant

    ob1 wrote:

    ok, Andress, php nepārvaldu… samudīji nepajokam… es jau tikai par tīru semantiku – bez spama. Bet patīkami diskutēt par valodu kuru nerubī, vai ne?

    🙂

    Es diemžēl rubiju 😀 reizēm liekas par daudz ^^

    (Brīžos kad pa pohām mēģinu desas biezumu maizei aprēķināt ar tam izveidotu app) ^^

Tiek skatīts 1 ieraksts (no 59 kopumā)
  • Jums ir jāpieslēdzas sistēmai, lai varētu komentēt šo tēmu.
Jaunākais portālā