Kan jeg skære ned på mine isset()'s og er der nogen der kan forklare præcis hvornår det er nødvendigt at bruge isset() ? (og hvornår det ikke er nødvendigt!)
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
isset() checker om en variabel eksisterer. Normalt ved du vel om dine variable eksisterer eller ej - men der kan selvfølgelig være tvivl hvis input kommer fra URL.
Din if-sætning ser fin ud. Men hvad har alt dette med E_ALL at gøre?
nogle gange kan det bidrage til gennemskueligheden, at opdele if sætninger i flere, med if (isset($a) && isset($b) && $a!=$b) { } else if ......
men generelt sagt, véd du jo præcist hvornår $a osv er sat, med mindre disse kommer som parametre. Fx anvender jeg udelukkende isset når det er tale om fx $_GET variabler, som pr default er usikre. Fremfor i hver sætning at spørge "hvis sat", kan du jo også i toppen give værdien en default, fx null - dermed véd du den er sat og behøver ikke længere spørge på om variablen eksisterer
Jeg mener stadig du skal bruge isset i toppen. Det er en rent teknisk ting, og du bør ikke lade din programmeringslogik afhænge så meget af lige det. Kan du ikke nøjes med at sætte en variabel til en tom streng, så skal du bare udvide lidt
Så kan du med dine egne variabler se hvilket af de to tilfælde, der er indtruffet. Her kan $a fx være angivet til at være tom.
Jeg ved ikke om din if-sætning er korrekt, googolplex, men den er simpelthen for lang til at nogen, mig eller dig om nogle måneder, kan se hvad meningen egentlig er.
Hvorfor er $c ikke nødvendigvis sat? Hvad indeholder den, hvis den er sat, og hvad bestemmer om og hvad den indeholder. Hvad er logikken i $a og $b? Under hvilke betingelser skal if-sætningen "udløses"?
Jeg kan ikke læse mig til om du har lavet den rigtigt. Jeg kan ikke gøre den "smart" uden at vide hvad du skal have beregnet.
Jeg kan godt bare skrive den om - men det er ikke meget fidus i.
$c = $this->mRules[$this->mFields[$counter]['password']['name']] - er muligvis sat via $this->AddRule() og vil så indeholde en regular expression.
$a = $this->mMethod[$this->mFields[$counter]['password']['name']] - indeholder navnet på et password field og vil være sat når formen submittes.
$b = $this->mMethod[$this->mFields[$counter]['confirmation']['name']] - indeholder et navnet på et bekræftigelses password (for at sikre de er ens). Den er muligvis sat, men kun hvis der benyttes to password-felter, hvilket sættes i $this->AddPassword();
Jeg har ikke så meget tid lige nu, men en måde ville måske være at definere et 'altid lovligt' regulæret udtryk, i det tilfælde der ikke er nogle regler. Du vil fx altid få et 'ja' på
ereg('.*','hvadsomhelst')
På den måde vil du altid kunne
if (!ereg($c,$a)) {...}
Når du internt bestemmer om der skal være 1 eller 2 password felter, skal du ikke lade formens felter afgøre om der er et eller 2. Det bør være
if ($a!="") { fejl... } if (derskalvære2passwords && $a!=$b) { fejl...} if (!ereg($c,$a)) { fejl...}
hvor 'derskalvære2passwords' er en aflæsning af din opsætning.
Ok, men hvorfor bruger man så delimeters i Javascript ? Jeg fik af vide, at javascript bruger POSIX-kompatibel regex ??
Synes godt om
Slettet bruger
20. februar 2004 - 00:27#16
Aner det ikke.
Uden at være sikker mener jeg dog at Javascripts regex minder mere om Perlkompatible end om de POSIX. Jeg vil dog ikke hænges op på det, da jeg ikke har beskæftiget med med Javascript.
erik: Det lyder rigtig dejligt, jeg vil nemlig helst bruge preg_match(), men det troede jeg ikke jeg kunne.
Hvordan griber jeg det bedst an, når jeg skal lave regex's der virker både serverside og clientside. Det problem er virkelig min store hovedpine ligenu !!
Findes der en bog eller lignende eller en tutorial ?
Tillader at give lars pointene, da jeg ved du ikke samler på dem :)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.