Gå til innhold

Isset. hva er det ?


Anbefalte innlegg

Videoannonse
Annonse

jeg vet ikke hva du har programmert på sida di, men å sjekke isset() og !isempty() i samme test kanselerer hverandre, du kan like gjerne evaluere uttrykket du har, som jeg foreslår. logisk er det helt identiske tester.

 

om du trenger å sjekke om id'en faktisk finns eller ikke, må du gjøre uavhengig av dette uansett.

 

hvis du vil terminere skriptet, er det bare å legge inn "exit;"

Lenke til kommentar
blueeagle:

hvorfor ikke bare:

if($_GET['VisMer']){
 // do my shit;
}

?

Fordi hvis urlen ikke inneholder VisMer= så skal php generere en feil 'Index not found' feilmelding.

Index not found er en unødvendig feilmelding som er default i php.ini.

 

Skift

error_reporting = E_ALL & E_NOTICE

 

med

 

error_reporting = E_ERROR

 

 

Sett en ; foran de feilmeldingstypene du ikke bruker.

Lenke til kommentar
jeg vet ikke hva du har programmert på sida di, men å sjekke isset() og !isempty() i samme test kanselerer hverandre, du kan like gjerne evaluere uttrykket du har, som jeg foreslår. logisk er det helt identiske tester.

(mi utheving)

 

Dei er ikkje logisk identiske eller ekvivalente. Ein variabel kan vere satt, men tom. Då vil isset() returnere sant, medan empty() vil returnere sant, og !empty() usant. Dei er dermed ikkje logiske motsetningar av kvarandre.

Lenke til kommentar

Hvis du ser lenger oppe i tråden, ser du at vi snakker om:

 

if( isset($var) && !isempty($var) )

 

mot

 

if($var)

 

Det er også det jeg sier i meldinga du siterer meg på: du kan like gjerne evaluere uttrykket du har (underforstått: "... som å sjekke om variabelen er satt og ikke tom"). Jeg sier at dette logisk vil gi samme resultat og er ekvivalente tester.

Lenke til kommentar
Når jeg sjekker vaiabler fra url så bruker jeg alltid denne koden

<?php
if((isset($_GET['VisMer']))&&(!empty($_GET['VisMer'])))
{
  //Vis mere her! :)
}
?>

 

Dette er fordi at den da sjekker om variabelen er satt og at den ikke er tom

Hvis du bare bruker isset() så kan variabelen være tom.

Hvis du bare bruker !empty() så kan du oppleve at PHP klager på at indeksen ikke finnes fordi det ikke står Variabelnavn= i urlen i det heletatt.

Her sier du det jeg stiller meg tvilende om.

 

Jeg har ikke vært borti noen php version som klager på at en array indeks ikke finnes, jeg prøvde nettopp med min egen server, følgende kode:

 

?php
if($_GET['VisMer'])
{
 print "Ting er OK";
}
?>

 

Fungerte helt fint, svarte OK hvis den fikk en sann variabel i "...?VisMer=whatever"

I alle andre tilfeller sa den ingenting, og klaget aldri.

 

Hvis det er noen ini-setting som gjør den følsom for manglende array keys, så tar jeg dette tilbake.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...