PHP ir IF: zodziu junginio tikrinimas. Kaip? Išspresta

PHP ir IF: zodziu junginio tikrinimas. Kaip? Išspresta

Sveiki,
va vis bandau ir bandau bet niekaip nepavyksta man naudojant IF php programavimo kalboje tikrinti 2 zodzius. Na pvz kaip patikrinti ar pasirinkta "Juodai Balta" ar pan.
nes paprastai naudojant if ($spalva=="Juodai Balta") jis po to veiksmu nebevygdo, kurie yra toliau už šio tikrinimo.

Ačiū

galėtum ir daugiau kodo pateikt.

Isvis veiksmu nevykdo ? ar tik pirma veiksma vykdo, o toliau esanciu nebevyko?

Bandyk:

if ($spalva=="juodai balta") { //Kodas kuris bus vykdomas}

kodas stai toks:

$spalva=$_GET[‘spalva’];
if ($spalva=="Žalia") {$enspalva=“Green”; $ruspalva="Зелeный";}
else {
if ($spalva==“Mėlyna”) {$enspalva=“Blue”; $ruspalva="синий";}
else {
if ($spalva==“Balta”) {$enspalva=“White”; $ruspalva="Белый";}
else {
if ($spalva==“Juoda”) {$enspalva=“Black”; $ruspalva="Чeрный";}
else {
if ($spalva==“Sidabrinė”) {$enspalva=“Silver”; $ruspalva="Серебрян&#1

099;й";}
else {
if ($spalva=="Raudona") {$enspalva="Red"; $ruspalva="Красный";}
else {
if ($spalva=="Vyšninė") {$enspalva="Cherry"; $ruspalva="Вишнeвый";}
else {
if ($spalva=="Pilka") {$enspalva="Grey"; $ruspalva="серое";}
else {
if ($spalva=="Šviesiai pilka") {$enspalva="Light grey"; $ruspalva="светлое серое";}
else {
if ($spalva=="Šviesiai mėlyna") {$enspalva="Light blue"; $ruspalva="светлое синий";}
else {
if ($spalva=="Šviesiai žalia") {$enspalva="Light green"; $ruspalva="светлое Зелeный";}

else {
if ($spalva=="Geltona") {$enspalva="Yellow"; $ruspalva="Золотой";}}}}}}}}

}}}

kur vienas zodis palyginime - ten veiksmai vykdomi

Cia kodo pavyzdys, kaip patikrinti kas pasirinkta:

Tik bite gali iskraipti…

<form name="form1" method="post" action="<? $PHP_SELF ?>">
<p>
<label>
<input type="radio" name="spalva" value="juoda">
Juoda</label>
<br>
<label>
<input type="radio" name="spalva" value="balta">
Balta</label>
<br>
</p>
<p>
<input name="vykdyti" type="submit" value="Tikrinti">
</p>
</form>
<?

if ($vykdyti) {

if ($spalva==“juoda”) {echo(‘O ne! Dabar naktis!’);}
else echo(‘Valio! Ir vel diena!’);

}

?>

as paryskinau vietas kuriose man nepatikrina ir nevykdo tolimesniu veiksmu. Jei tikrinimas yra if($spalva==juoda") {…} - tai vykdo,
o jeigu yra if ($spalva=="juoda balta") {…} - nevykdo

nemačiau ar kas minėjo, bet adrese tarpas žymimas %20

Nereikia taip viska sudetingai… Va perdariau:

<?php $spalva=$_GET[‘spalva’];
if ($spalva=="&#381;alia") {$enspalva=“Green”; $ruspalva="&#1047;&#1077;&#1083;e&#1085;&#1099;&#1081;";}
else if ($spalva==“M&#279;lyna”) {$enspalva=“Blue”; $ruspalva="&#1089;&#1080;&#1085;&#1080;&#1081;";}
else if ($spalva==“Balta”) {$enspalva=“White”; $ruspalva="&#1041;&#1077;&#1083;&#1099;&#1081;";}
else if ($spalva==“Juoda”) {$enspalva=“Black”; $ruspalva="&#1063;e&#1088;&#1085;&#1099;&#1081;";}
else if ($spalva==“Sidabrin&#279;”) {$enspalva=“Silver”; $ruspalva="&#1057;&#1077;&#1088;&#1077;&#1073;&#1088;&#1103;&#1085;&#1
099;&#1081;";}
else if ($spalva==“Raudona”) {$enspalva=“Red”; $ruspalva="&#1050;&#1088;&#1072;&#1089;&#1085;&#1099;&#1081;";}
else if ($spalva==“Vy&scaron;nin&#279;”) {$enspalva=“Cherry”; $ruspalva="&#1042;&#1080;&#1096;&#1085;e&#1074;&#1099;&#1081;";}
else if ($spalva==“Pilka”) {$enspalva=“Grey”; $ruspalva="&#1089;&#1077;&#1088;&#1086;&#1077;";}
else if ($spalva=="&Scaron;viesiai pilka") {$enspalva=“Light grey”; $ruspalva="&#1089;&#1074;&#1077;&#1090;&#1083;&#1086;&#1077; &#1089;&#1077;&#1088;&#1086;&#1077;";}
else if ($spalva=="&Scaron;viesiai m&#279;lyna") {$enspalva=“Light blue”; $ruspalva="&#1089;&#1074;&#1077;&#1090;&#1083;&#1086;&#1077; &#1089;&#1080;&#1085;&#1080;&#1081;";}
else if ($spalva=="&Scaron;viesiai &#382;alia") {$enspalva=“Light green”; $ruspalva="&#1089;&#1074;&#1077;&#1090;&#1083;&#1086;&#1077; &#1047;&#1077;&#1083;e&#1085;&#1099;&#1081;";}
else if ($spalva==“Geltona”) {$enspalva=“Yellow”; $ruspalva="&#1047;&#1086;&#1083;&#1086;&#1090;&#1086;&#1081;";}

?>

Ai jo… Bet isvis adrese tarpai yra nerekomenduojami… Jei spalva imi GET budu is adreso, tai geriau naudoti juodai_balta, o ne juodai balta.

Kam tiek daug if. Makalynė kažkokia. Ne paprasčiau būtų viską į switch sudėti?

as tai isvis patarciau daryti sitaip:

//ta pacia tvarka
$ltcolors = array("&#381;alia", “M&#279;lyna”, …);
$encolors = array(“Green”, “Blue”, …);
$rucolors = array("&#1047;&#1077;&#1083;e&#1085;&#1099;&#1081;", “&#1089;&#1080;&#1085;&#1080;&#1081;”, …);
$id = array_search($_GET[‘spalva’], $ltcolors);
if($id !== false){
$enspalva = $encolors[$id];
$ruspalva = $rucolors[$id];
}
else echo “Spalva nerasta”;

Nu jo… galima butu… Bet kai as nemoku tai ir nepatariau zmogui Cha cha

Beje man ir su tarpu adrese veikia…

niekas nepadeda Girtas

Isimesk sita koda i index.php:

<?php $spalva=$_GET[‘spalva’];
if ($spalva=="&#381;alia") {$enspalva=“Green”; $ruspalva="&#1047;&#1077;&#1083;e&#1085;&#1099;&#1081;";}
else if ($spalva==“M&#279;lyna”) {$enspalva=“Blue”; $ruspalva="&#1089;&#1080;&#1085;&#1080;&#1081;";}
else if ($spalva==“Balta”) {$enspalva=“White”; $ruspalva="&#1041;&#1077;&#1083;&#1099;&#1081;";}
else if ($spalva==“juodai balta”) {$enspalva=“Black”; $ruspalva="&#1063;e&#1088;&#1085;&#1099;&#1081;";}
else if ($spalva==“Sidabrin&#279;”) {$enspalva=“Silver”; $ruspalva="&#1057;&#1077;&#1088;&#1077;&#1073;&#1088;&#1103;&#1085;&#1
099;&#1081;";}
else if ($spalva==“Raudona”) {$enspalva=“Red”; $ruspalva="&#1050;&#1088;&#1072;&#1089;&#1085;&#1099;&#1081;";}
else if ($spalva==“Vy&scaron;nin&#279;”) {$enspalva=“Cherry”; $ruspalva="&#1042;&#1080;&#1096;&#1085;e&#1074;&#1099;&#1081;";}
else if ($spalva==“Pilka”) {$enspalva=“Grey”; $ruspalva="&#1089;&#1077;&#1088;&#1086;&#1077;";}
else if ($spalva=="&Scaron;viesiai pilka") {$enspalva=“Light grey”; $ruspalva="&#1089;&#1074;&#1077;&#1090;&#1083;&#1086;&#1077; &#1089;&#1077;&#1088;&#1086;&#1077;";}
else if ($spalva=="&Scaron;viesiai m&#279;lyna") {$enspalva=“Light blue”; $ruspalva="&#1089;&#1074;&#1077;&#1090;&#1083;&#1086;&#1077; &#1089;&#1080;&#1085;&#1080;&#1081;";}
else if ($spalva=="&Scaron;viesiai &#382;alia") {$enspalva=“Light green”; $ruspalva="&#1089;&#1074;&#1077;&#1090;&#1083;&#1086;&#1077; &#1047;&#1077;&#1083;e&#1085;&#1099;&#1081;";}
else if ($spalva==“Geltona”) {$enspalva=“Yellow”; $ruspalva="&#1047;&#1086;&#1083;&#1086;&#1090;&#1086;&#1081;";}
echo ($enspalva);
?>

Tada issaugok ir atidaryk adresu: tavo_svetaines_adresas/index.php?spalva=juodai balta

Ir jei ekrane pamatysi "black" tai viskas ok…

ytariu jau zinau kur problema… perduodant duomenis, url issikraipo lietuvisku raidziu kodavimas… ar negaletu taip buti?

naudojant ta pati tavo scripta ir adrese ivedus kaip pvz: &Scaron;viesiai &#382;alia neveikia Liūdnas

else if ($spalva=="&Scaron;viesiai &#382;alia") kas čia per bezobrazija? Išsiprintink $spalva prieš tikrindamas sąlyga ir manau viskas paaiškės.

bezobrazija tokia kad tai lietuvisku raidziu kodavimas jei ka… atsidaryk dreamweaver ir design mode rasyk LT raides, ir po to isijunk code mode ir pamatysi pats Girtas

Apskritai kompiuteriuose lietuvybe yra nelabai priimtinas dalykas … Nors nieks nesako kad nereikia naudoti lietuvisku raidziu…

apskritai tai jei tai saitas, ypatingai dar jei skirtas LT auditorijai, tai lietuvybė būtina, nes kitaip galima ir nukentėti…

pats naudodamas pc gali ir nenaudoti tos lietuvybės nors ir visą gyvenimą.