spike Skrevet 30. oktober 2003 Del Skrevet 30. oktober 2003 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
Torbjørn Skrevet 30. oktober 2003 Del Skrevet 30. oktober 2003 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
MadMe Skrevet 30. oktober 2003 Del Skrevet 30. oktober 2003 Hva er egentlig forskjellen mellom: if(isset($variabel)){ blabla } og if($variabel){ blabla } ? Lenke til kommentar
Torbjørn Skrevet 30. oktober 2003 Del Skrevet 30. oktober 2003 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
spike Skrevet 30. oktober 2003 Forfatter Del Skrevet 30. oktober 2003 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
Torbjørn Skrevet 30. oktober 2003 Del Skrevet 30. oktober 2003 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
spike Skrevet 30. oktober 2003 Forfatter Del Skrevet 30. oktober 2003 så vis variabelen $cookie_data ikke finnes(på lesningsfilen) så er det isset som finner ut av det ? å vis den ikke finnes så returnerer den feilmelling ? Lenke til kommentar
Torbjørn Skrevet 30. oktober 2003 Del Skrevet 30. oktober 2003 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
pgdx Skrevet 31. oktober 2003 Del Skrevet 31. oktober 2003 if (!isset($cookie_data)) uden ! hva gjør ! med isset? eller variabelen i det hele tatt ? ! betyr "hvis cookie_data IKKE er satt" gjør ditt eller datt... Lenke til kommentar
Gilbert Skrevet 31. oktober 2003 Del Skrevet 31. oktober 2003 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
Torbjørn Skrevet 31. oktober 2003 Del Skrevet 31. oktober 2003 if(!isset($id){ echo "du er dust!"; } Lenke til kommentar
Gilbert Skrevet 31. oktober 2003 Del Skrevet 31. oktober 2003 if(!isset($id){ echo "du er dust!"; } joa, har skjønt det. men hvis man skriver inn adressen index.php?action=artikkel&id= så vil jo ikke !isset($id) fungere, for $id finnes jo... men den er tom. og det er deeet jeg vil frem til. Lenke til kommentar
Torbjørn Skrevet 31. oktober 2003 Del Skrevet 31. oktober 2003 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!"; } Lenke til kommentar
Gilbert Skrevet 31. oktober 2003 Del Skrevet 31. oktober 2003 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() Lenke til kommentar
kilogram Skrevet 31. oktober 2003 Del Skrevet 31. oktober 2003 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
Gilbert Skrevet 31. oktober 2003 Del Skrevet 31. oktober 2003 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... Lenke til kommentar
Torbjørn Skrevet 1. november 2003 Del Skrevet 1. november 2003 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
kilogram Skrevet 1. november 2003 Del Skrevet 1. november 2003 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... 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
BlueEAGLE Skrevet 2. november 2003 Del Skrevet 2. 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. Lenke til kommentar
Torbjørn Skrevet 2. november 2003 Del Skrevet 2. november 2003 blueeagle: hvorfor ikke bare: if($_GET['VisMer']){ // do my shit; } ? 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å