Sākumlapa › Forumi › Mājas lapu izstrāde › Web veidošana un problēmas › Switch!
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
Notice: Undefined index: lang in /var/www/html/test/index.php on line 2
Kur ir kļūda, kā to labot?
if (isset($_REQUEST))
{
// tavs “svič & keis” kods šeit
}
ob1 kā lieks? 😀
Tad nedarbojas vispār 😛
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
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?
Reāli laikam puikam nav sajēgas kā case rukā.
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
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
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) 😀
hmm, vai ar:
if($_REQUEST == ‘lat’)
nepietiktu?
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)
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}
🙂
beidzot, Andress, tikai nevis “var jau”, bet “required”.
🙂
nevis “required” bet “var jau”, ar manu fraami tas butu shaadi
$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
$_REQUEST[’lang’] = “$_SESSION[’id’]){echo $db_password;}elseif….”;
etc ? 🙂
🙂
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) ^^
Preses relīzes