PHP ja get

Nyt viiraa taas varmaan päästä, mutta mikä mättää seuraavassa:

if( !isset( $_GET['a'] ) && !isset( $_GET['b'] ) )
{
TEKEE JOTAIN
}

Mun mielestä ton ei pitäs mennä lohkoon sisälle jos JOKO muuttuja a tai b tulee URL:n mukana. Nyt kuitenkin se kiinnostuu vaan tosta parametristä $_GET['a']. Eli on aivan sama onko b olemassa tai ei.

Haluaisin tietenkin, että lohkoon ei mennä jos jompikumpi noista on olemassa. Nyt AINOASTAAN 'a' määrää sen mennäänkö sisään vai ei.

Onko tossa siis joku kirjoitusvirhe mitä mun väsyneet silmät ei huomaa vai onko siinä ihan looginen moka?

Kiitos tuhannesti sille joka tähän vastaa!
4531
Äänestä

Muut lukivat myös

Vastaukset 4

Vanhimmat

Hyvinhän toi toiminee.

xxx.php?a=2
xxx.php?b=2
xxx.php?a=2&b=2

Noilla ei suoriteta tota koodinpätkää. Ihan arvauksena, ettet olisi unohtanut & merkkiä muuttujien välistä?

Koitappas

echo "";
print_r($_GET);

Niin näät mitä arvoja GET taulukos on.

Äänestä
  • toi toimii mulla oikein tapauksissa:
    xxx.php?a=2
    xxx.php?a=2&b=2

    MUTTA se menee lohkoon sisään tapauksessa
    xxx.php?b=2

    Vaikka näinhän ei pitäs olla.

    En ymmärrä mistä toi voi johtua.

    Äänestä

Pistä ton $_GET[a] ja $_GET[b] arvot muuttujaan ja kokeile...

Eli silloinhan if lausekin menee tavallaan uusiksi->


$a = $_GET[a];
$b = $_GET[b];
if ($a!="" && $b!="") {
...jotakin koodii..
}

Äänestä

tuohan toimii nyt niin, että se ei toteuta annettua tehtävää, jos vaik jompikumpi on tyhjä.

if( !isset( $_GET['a'] ) && !isset( $_GET['b'] ) ) {
TEKEE JOTAIN;
}

tuo &&-merkintä tarkoittaa samaa kuin and, eli ja.

se siis vaatii että molemmat muuttujat ovat tyhjiä, tai se toteuttaa tehtävän.

laita siis mieluummin vaikka

if(!isset($a) {
   if(!isset($b)) {
      echo "pöö";
}
}

Äänestä

Kommentoi aloitusta


maija82 kirjoitti:

Nyt viiraa taas varmaan päästä, mutta mikä mättää seuraavassa:

if( !isset( $_GET['a'] ) && !isset( $_GET['b'] ) )
{
TEKEE JOTAIN
}

Mun mielestä ton ei pitäs mennä lohkoon sisälle jos JOKO muuttuja a tai b tulee URL:n mukana. Nyt kuitenkin se kiinnostuu vaan tosta parametristä $_GET['a']. Eli on aivan sama onko b olemassa tai ei.

Haluaisin tietenkin, että lohkoon ei mennä jos jompikumpi noista on olemassa. Nyt AINOASTAAN 'a' määrää sen mennäänkö sisään vai ei.

Onko tossa siis joku kirjoitusvirhe mitä mun väsyneet silmät ei huomaa vai onko siinä ihan looginen moka?

Kiitos tuhannesti sille joka tähän vastaa!

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu