Gå til innhold

Isset. hva er det ?


Anbefalte innlegg

Jeg har lest i manualen men forstår ikke så veldig mye av det. bruker selv disse kodene uten å forstå dem helt:

if (isset($cookie_data))  { 
  $cookie_info = explode("&", $cookie_dat);

og

<?php 
$time = time(); 
if (isset($cookie_data)) { 
 setcookie ("cookie_data", "", $time - 3600); 
} 
?> 

 

jeg bruker dem men aner ikke helt hva isset gjør? og hva gjør "explode" er ganske nybegynner så hadde vert greit om dere forklarte litt lett(for nybegynnere)

takk

Lenke til kommentar
Videoannonse
Annonse

Manualen:

http://www.php.net/manual/en/function.isset.php

Returns TRUE if var exists; FALSE otherwise.

 

vet ikke om jeg kan si det bedre på norsk?

 

 

Manualen:

http://www.php.net/manual/en/function.explode.php

Returns an array of strings, each of which is a substring of string formed by splitting it on boundaries formed by the string separator .

 

mao, splitte en string opp i små-stringer, rundt en separator. eks:

explode(":","A:B:C") = array("A","B","C")

Lenke til kommentar

hvis $variabelen inneholder 0 eller "" (tom string), så blir resultatet av ditt eksempel forskjellig.

 

man sjekker f.eks ofte forekomsten av automatisk satte variable, f.eks $_SERVER variable, og da gjerne resultater fra HTTP-variable, fra <form>

 

da vil man vite om variabelen finnes, uavhengig om den har innehold eller ikke.

Lenke til kommentar

jeg har følgt et eksempel på et script.

når jeg setter en cookie så skriver jeg dette

 

if (!isset($cookie_data))  

 

men når jeg leser den så blir det slik:

 

if (isset($cookie_data))  

 

uden ! hva gjør ! med isset? eller variabelen i det hele tatt ?

Lenke til kommentar

den betyr "not", dvs "ikke".

 

så resultatet blir det motsatte. kan tenke meg at den kun vil sette en cookie hvis du ikke allerede har en. for hvis du har en fra før, da bruker systemet sikkert den?

 

den siste sjekker kun innholdet i cookien hvis den finnes kan jeg tenke meg.

 

dette er ganske basic stuff (php funksjoner og operatorer), jeg vil tro du ville ja stor glede av en av de mange php tutorialene som finnes der ute

Lenke til kommentar

gjør noen php tutorials så du lærer hva php kan og ikke kan gjøre og hvordan det fungerer.

 

en variabel finnes ikke i en fil, en variabel er mer som en peker til data. som ligger i minnet for den saks skyld

 

isset returnerer ikke feilmeldinger. den returnerer enten sann eller usann, dette bruker if setningen til å bestemme hva den skal gjøre.

 

dette er helt helt basic stuff, du burde virkelig gjøre et par tutorials og deretter komme tilbake med konkrete spørsmål.

Lenke til kommentar
hvis $variabelen inneholder 0 eller "" (tom string), så blir resultatet av ditt eksempel forskjellig.

 

man sjekker f.eks ofte forekomsten av automatisk satte variable, f.eks $_SERVER variable, og da gjerne resultater fra HTTP-variable, fra <form>

 

da vil man vite om variabelen finnes, uavhengig om den har innehold eller ikke.

hm... men hvis jeg har en index.php?action=artikkel&id=9232, og vil ha en sak som gjør at if $id = tom variabel, echo variabelen er ikke satt? slik at dersom id= ikke er satt kommer det en melding om det?

Lenke til kommentar
jeg ville anebefale, for en variabel som din $id:

 

if(!is_numeric($id)){
 echo "hvis du sier jeg er dust, da er det deg som er dust!";
}

Det vil jo ikke ha noen effekt. Hvis variabelen er tom, vil ikke is_numeric fungere. Har funnet noe jeg tror funker; empty()

 

 

:woot:

Lenke til kommentar

isset() sjekker ganske enkelt om ein variabel ikkje er satt. Den returnerer FALSE om den variabelen aldri har vorte satt, TRUE dersom den har vorte satt. Dersom du setter eit utropstegn foran, snur du desse sannhetsverdiane, slik at den returnerer TRUE dersom variabelen finns.

 

empty() gjer omtrent det motsette av isset(); den sjekkar om variabelen er tom, og returnerer TRUE om den er det. Husk at ein talverdi av 0, eller ein tom streng, betyr at variabelen er tom. Også her kan du snu resultatet av svaret ved å setje eit utropsteikn foran.

 

Det er små subtile forskjellar på dei to funksjonane, men stort sett har det ikkje noko å seie kva av dei to du bruker (husk at empty() er omtrent lik !isset(), og motsett).

 

Håper dette hjalp litt på... :-)

Lenke til kommentar

empty() gjer omtrent det motsette av isset(); den sjekkar om variabelen er tom, og returnerer TRUE om den er det. Husk at ein talverdi av 0, eller ein tom streng, betyr at variabelen er tom. Også her kan du snu resultatet av svaret ved å setje eit utropsteikn foran.

...og nettopp her kommer det vesentlige inn. Hvis $id= så finnes id, og dermed vil scriptet mitt utføre en handling som sørger for at hele listen skrives til siden. men hvis derimot $id=1 så vil kun id nr. 1 skrives til siden.

Det er små subtile forskjellar på dei to funksjonane

... er vel absolutt gjenstand for debatt... kommer vel ann på situasjonen. har ihvertfall funnet frem til det jeg var ute etter, så da trekker jeg meg ut av tråden...

 

:D

Lenke til kommentar

hva er det du vil da?

 

hvorfor funker ikke is_numeric? den sjekker om du har et tall (bare siffer) i $id variabelen, og det er vel det du vil? for da henter du fram et eller annet med den angitte id?

 

jeg ville likevel brukt isset(), og hvis den er satt, ie har en hvilken som helst verdi, kan du siden sjekke om oppføring med det id-nummeret finnes. hvis ikke, skriver du ut med store røde bokstaver at han må la være å tulle med systemet ditt!

Lenke til kommentar

Det er små subtile forskjellar på dei to funksjonane

... er vel absolutt gjenstand for debatt... kommer vel ann på situasjonen. har ihvertfall funnet frem til det jeg var ute etter, så da trekker jeg meg ut av tråden... :D

Det er heilt klart eit emne for debatt, men for nybyrjarar er det stort sett liten forskjell kva av dei to som vert brukt, berre ein huskar at dei er sånn omtrent det motsette av kvarandre. Det er i få tilfeller at ein vil ha stort behov for å gjere forskjell på ein tom variabel og ein ikkje-eksisterande variabel, i dei fleste tilfeller vil begge "wreak havoc" om ikkje-eksisterande eller tomme variablar kjem på feil plass i systemet. ;)

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.

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...