/ 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
Betingelse den ene eller den anden?
Fra : Martin Ploug


Dato : 22-05-05 11:14

Hej


Jeg sidder og arbejder med en formular, hvor jeg vil
have, at der skal komme fejlmeddelelser hvis nedenstående
betingelser ikke er opfyldt.

Der skal være indtastet et navn og enten et telefonnummer ELLER
et mobilnr. Dvs. betingelserne er opfyldt, hvis der er indtasatet et navn og
et
telefonnummer ELLER et navn og et mobilnr.

Jeg har indtil videre skrevet sådan:

if (!$navn)

{
echo "<table border='0' align='center'><tr><td>";
echo "<span class='brodtekst'>Indtast venligst dit navn.</span><br><a
href='#'>Tilbage</a></td></tr></table>";
exit;
}

if (!$telefon) // Her har jeg forsøgt at skrive if (!$telefon ||
!$mobil) men så kommer der fejl, hvis en af dem står tom, er det fordi jeg
skal skrive en anden operator?

{
echo "<table border='0' align='center'><tr><td>";
echo "<span class='brodtekst'>Indtast venligst telefonnumer.</span><br><a
href='#'>Tilbage</a></td></tr></table>";
exit;
}

På forhånd tak.

Med venlig hilsen
Martin



 
 
Jacob Atzen (22-05-2005)
Kommentar
Fra : Jacob Atzen


Dato : 22-05-05 12:42

On 2005-05-22, Martin Ploug <mploug@mail.tele.dk> wrote:
> Der skal være indtastet et navn og enten et telefonnummer ELLER et
> mobilnr. Dvs. betingelserne er opfyldt, hvis der er indtasatet et navn
> og et telefonnummer ELLER et navn og et mobilnr.

Det du søger kan findes på:
<http://dk.php.net/manual/en/language.operators.logical.php>

--
Med venlig hilsen
- Jacob Atzen

Martin Ploug (22-05-2005)
Kommentar
Fra : Martin Ploug


Dato : 22-05-05 13:50

> Det du søger kan findes på:
> <http://dk.php.net/manual/en/language.operators.logical.php>

Hej Jacob

Tak for det.
Nu tror jeg, at jeg fik det til at virke.
Det skal vist være && i stedet for ||

Nu ser det sådan ud:

if (!$navn)

{
echo "<table border='0' align='center'><tr><td>";
echo "<span class='brodtekst'>Indtast venligst dit navn.</span><br><a
class='underlink' href='#'>Tilbage</a></td></tr></table>";
exit;
}

if (!$telefon && !$mobil) // && i stedet for || og det er måske logisk nok,
når man tænker over det.

{
echo "<table border='0' align='center'><tr><td>";
echo "<span class='brodtekst'>Indtast venligst telefonnummer eller
mobilnr.</span><br><a class='underlink'
href='#'>Tilbage</a></td></tr></table>";
exit;
}

Hilsen Martin



Thomas Lindgaard (22-05-2005)
Kommentar
Fra : Thomas Lindgaard


Dato : 22-05-05 22:43

On Sun, 22 May 2005 14:50:29 +0200, Martin Ploug wrote:

> if (!$telefon && !$mobil)

Er det rigtigt?

Hvis du vil have ENTEN navn + telefonnummer ELLER navn + mobil, dvs. ikke
navn + telefonnummer + mobil, så sikrer ovenstående betingelse dig da
ikke mod, at brugeren udfylder både telefon og mobil...

Så vidt jeg kan se, skal du have fat i xor (exclusive or) - den sikrer
dig, at den ene MEN IKKE BEGGE er sande. Altså:

if ( $telefon xor $mobil )
{
// Enten er $telefon sand eller $mobil sand men ikke begge
}

Dvs. det du nok er interesseret i er nok det modsatte:

if ( !($telefon xor $mobil) )
{
// Fortæl brugeren at han skal udfylde een og kun een
// da han enten har udfyldt ingen eller begge
}

Håber at ovenstående er rigtigt :)

--
Mvh.
/Thomas (der vist skal til at bruge xor fremover - det er da smart)

PS.
Man kan forresten også skrive

if ( $telefon xor !$mobil )

og

if ( !$telefon xor $mobil )

Det giver samme resultater - der er nok en, der lige kan hoste op med de
korrekte regler for omskrivning af logikken.

Martin Ploug (27-05-2005)
Kommentar
Fra : Martin Ploug


Dato : 27-05-05 18:33

> if (!$telefon && !$mobil)

>Er det rigtigt?

>Hvis du vil have ENTEN navn + telefonnummer ELLER navn + mobil, dvs. ikke
>navn + telefonnummer + mobil, så sikrer ovenstående betingelse dig da
>ikke mod, at brugeren udfylder både telefon og mobil...

Ja, jeg har skrevet if (!$navn) før if (!$telefon && !$mobil) og det ser ud
til at virke
fint. Men tak for dit indlæg.

- Martin





Thomas Lindgaard (30-05-2005)
Kommentar
Fra : Thomas Lindgaard


Dato : 30-05-05 20:48

On Fri, 27 May 2005 19:33:09 +0200, Martin Ploug wrote:

> Ja, jeg har skrevet if (!$navn) før if (!$telefon && !$mobil) og det ser ud
> til at virke
> fint. Men tak for dit indlæg.

Hum... i min bog har du ikke sikret dig imod, at du får BÅDE mobil OG
telefon.

Du har med første if-sætning sikret dig, at du i hvert fald får et
navn, men din anden if-sætning sikrer dig _ikke_ mod, at brugeren
udfylder begge numre... den sikrer kun at begge ikke er tomme!

--
Mvh.
/Thomas


Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408929
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste