/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
function og variabler
Fra : [x]


Dato : 06-07-04 21:49

Hey.

Jeg har lavet følgende funktion:

function mailFormCheck($subject, $name, $email, $text)

{

   if ("" != $name && "" != $email && "" != $subject && "" !=
$text)

   {

   return TRUE;

   }

   else

   {

   return FALSE;

   }

}

Den virker fint nok, men mit spørgsmål er om man ikke kan
definere en variabel til indeholde de fire variabler funktionen
undersøger. Lidt i stil med dette:

$mailFromCheckVar == $name && $email && $subject && $text

Så jeg kan nøjes med at skrive bl.a. dette:

function mailFormCheck($mailFromCheckVar)

når funktionen skal bruges ?

Inden I sviner mig til, så tag lige højde for at jeg kun har
rodet med php i 1½ - 2 dage.... og ja, jeg kunne godt RTFM, men
finder generelt manualer ganske informative men lidet
anvendelige.

På forhånd tak.

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Johan Holst Nielsen (06-07-2004)
Kommentar
Fra : Johan Holst Nielsen


Dato : 06-07-04 21:58

[x] wrote:
> Den virker fint nok, men mit spørgsmål er om man ikke kan
> definere en variabel til indeholde de fire variabler funktionen
> undersøger. Lidt i stil med dette:
>
> $mailFromCheckVar == $name && $email && $subject && $text
>
> Så jeg kan nøjes med at skrive bl.a. dette:
>
> function mailFormCheck($mailFromCheckVar)
>
> når funktionen skal bruges ?
>
> Inden I sviner mig til, så tag lige højde for at jeg kun har
> rodet med php i 1½ - 2 dage.... og ja, jeg kunne godt RTFM, men
> finder generelt manualer ganske informative men lidet
> anvendelige.

Du kunne eventuelt smide dem i et array...

function mailFormCheck($mailFormCheckVar=array()) {
foreach($mailFormCheckVar as $c) {
if($c == '') { return false; }
}
return true;
}

$mailFormCheckVar = array($name,$email,$subject,$text);
$valid = mailFormCheck($mailFormCheckVar);

mvh
Johan

[x] (06-07-2004)
Kommentar
Fra : [x]


Dato : 06-07-04 22:16

Johan Holst Nielsen wrote:

> Du kunne eventuelt smide dem i et array...

Pudsigt nok kom jeg til at tænke på muligheden med et array lige
efter jeg havde postet, typisk, ikke?

Lad mig se om jeg har forstået det korrekt.

> function mailFormCheck($mailFormCheckVar=array()) {
> foreach($mailFormCheckVar as $c) {
> if($c == '') { return false; }
> }
> return true;
> }

Du indsætter array'et i funktionen mailFormCheck. Det skal så
skrives sådan: $mailFormCheckVar=array() for at det opfattes som et
array af php/parseren ?

Herefter tildeles hvar variabel i array'et "værdien" $c. Funktionen
undersøger herefter om hver variabel i array'et har værdien $c == ''
(altså tom). Hvis alle opfylder dette, så returneres false, ellers
true.

Korrekt?

> $mailFormCheckVar = array($name,$email,$subject,$text);

Skal array'et ikke defineres inden funktionen ? Mener, vil der ikke
mangle noget hvis det defineres efter ?

Jeg mener at have læst et sted at det er "bedst" at skrive sådan
her: '' == $c, fremtfor $c == ''. Jeg kan ikke lige huske af hvilken
grund, kan det passe ?

> $valid = mailFormCheck($mailFormCheckVar);

Den linie er jeg ikke lige med på. Kan jeg få dig til at forklare ?

Tak for det hurtige svar.

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

[x] (06-07-2004)
Kommentar
Fra : [x]


Dato : 06-07-04 22:54

Efter at have kigget lidt mere på koden forstår jeg nu hvad der sker.
Jeg takker mange gange for hjælpen og det hurtige svar.

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Bertel Lund Hansen (07-07-2004)
Kommentar
Fra : Bertel Lund Hansen


Dato : 07-07-04 00:57

[x] <no@spam.dk> skrev:

>Jeg mener at have læst et sted at det er "bedst" at skrive sådan
>her: '' == $c, fremtfor $c == ''. Jeg kan ikke lige huske af hvilken
>grund, kan det passe ?

For et korrekt program er det helt ligegyldigt, men det kan
provokere at man får en fejl hvis man skriver noget forkert - en
fejl der accepteres hvis man skriver det omvendt.

Det lød forhåbentlig kryptisk? Her er et eksempel. Problemet er
at = tildeler en værdi, mens == kun tester den, og mange af os er
vant til andre sprog hvor = tester.

Rigtigt:
if ($antal==47) echo "Du ramte 47!";

Forkert:
if ($antal=47) echo "Du ramte 47!";

I 2'eren bliver $antal *tildelt* værdien 47 uanset hvad den var
før. Det er legal kode, så der rapporteres ikke om nogen fejl -
og den slags fejl er ret luskede at finde.

Også forkert:
if (47=$antal) echo "Du ramte 47!";

.... men det er ikke tilladt: Man kan ikke tildele 47 en værdi.
Derfor rapporterer systemet om fejlen.

Hvis begge elementerne er variable, hjælper omvendingen dog ikke
spor da de begge kan tildeles en værdi.

--
Bertel
http://bertel.lundhansen.dk/   FIDUSO: http://fiduso.dk/

Bertel Lund Hansen (07-07-2004)
Kommentar
Fra : Bertel Lund Hansen


Dato : 07-07-04 01:01

[x] <no@spam.dk> skrev:

>Jeg har lavet følgende funktion:

>function mailFormCheck($subject, $name, $email, $text)

Sidebemærkning:

I stedet for at teste og få den til at returnere forskelligt
efter resultatet af testen, så returner med det samme værdien af
det der ellers skulle testes. Det gælder i mange tilfælde når man
har en boolesk funktion. Eksempel:

Lang kode:
if ($udsagn=="Ja, for pokker!") return TRUE;
else return FALSE;

Kort kode:
return $udsagn=="Ja, for pokker!";

Samme kortform kan også bruges i andre testsituationer.

--
Bertel
http://bertel.lundhansen.dk/   FIDUSO: http://fiduso.dk/

[x] (07-07-2004)
Kommentar
Fra : [x]


Dato : 07-07-04 15:34

Tak til jer begge for hjælpen. Jeg mener at have fået svar på
mine spørgsmål i denne tråd og betragter den som lukket.

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408527
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste