BlueEAGLE Skrevet 9. november 2003 Del Skrevet 9. november 2003 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. Lenke til kommentar
Torbjørn Skrevet 9. november 2003 Del Skrevet 9. november 2003 Så sleng på "else { }" da og skriv feilmeldingen der. Jeg tror vi snakker forbi hverandre, men det er bare tull og først sjekke isset() og deretter !isempty() når en ikke-satt variabel, akkurat som en tom variabel ("" eller 0) evaluerers til false. Lenke til kommentar
BlueEAGLE Skrevet 9. november 2003 Del Skrevet 9. november 2003 Men feilmeldingen terminerer også scriptet. Lenke til kommentar
Torbjørn Skrevet 9. november 2003 Del Skrevet 9. november 2003 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
pgdx Skrevet 9. november 2003 Del Skrevet 9. november 2003 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
kilogram Skrevet 9. november 2003 Del Skrevet 9. november 2003 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
Torbjørn Skrevet 9. november 2003 Del Skrevet 9. november 2003 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
BlueEAGLE Skrevet 9. november 2003 Del Skrevet 9. november 2003 Jeg har ikke snakket om if ((isset($var)&&(!empty($var))) men derimot if ((isset($_GET['var'])&&(!empty($$_GET['var']))). Dette fordi at "index not found" vil oppstå hvis du prøver if($_GET['var']) og var ikke er i URLen. Lenke til kommentar
Torbjørn Skrevet 9. november 2003 Del Skrevet 9. november 2003 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
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå