Avatar billede haren Nybegynder
20. januar 2005 - 14:32 Der er 23 kommentarer og
1 løsning

ifsætning false

Kan man gøre sådan her i en if sætning?

    if(!empty($_SESSION['brugernavn']) || !empty($_SESSION['brugernavn'])) {
sandt
} else {
falsk
}
Avatar billede erikjacobsen Ekspert
20. januar 2005 - 14:33 #1
Ja, men hvorfor spørge 2 gang på den samme ting ??
Avatar billede haren Nybegynder
20. januar 2005 - 14:34 #2
Fejl der skal selvfølgelig stå kodeord i den anden,
ok smid venligst et svar.. :)
Avatar billede erikjacobsen Ekspert
20. januar 2005 - 14:35 #3
Ok, og det vil du teste for er at der skal stå noget i dem begge to, for ellers er det en fejl? Korrekt?
Avatar billede haren Nybegynder
20. januar 2005 - 14:37 #4
Helt korrekt! :D
Avatar billede haren Nybegynder
20. januar 2005 - 14:38 #5
Jeg var bare itvivl hvordan man testede med ! og samtidig ||
Avatar billede erikjacobsen Ekspert
20. januar 2005 - 14:39 #6
Så skal du nok lave den lidt om. Enten:

  if(!empty($_SESSION['brugernavn']) && !empty($_SESSION['pw'])) {
      // ok, vi kører
  } else {
      // Tilbage til start
  }

eller

  if(empty($_SESSION['brugernavn']) || !empty($_SESSION['pw'])) {
      // Tilbage til start
  } else {
      // Ok, vi kører
  }
Avatar billede erikjacobsen Ekspert
20. januar 2005 - 14:40 #7
Den sidste skal være (glemte at fjerne et !)

  if(empty($_SESSION['brugernavn']) || empty($_SESSION['pw'])) {
      // Tilbage til start
  } else {
      // Ok, vi kører
  }
Avatar billede haren Nybegynder
20. januar 2005 - 14:42 #8
Er det da dumt at gøre det omvendt?
Avatar billede haren Nybegynder
20. januar 2005 - 14:44 #9
Jeg ville gerne sige;

Hvis $_SESSION['brugernavn'] ikke er tom, eller hvis $_SESSION['kodeord'] ikke er tom. Udfør >Denne kommando< - og hvis den ene er tom, gør nævnte kommando..
Avatar billede erikjacobsen Ekspert
20. januar 2005 - 14:47 #10
"omvendt"? - du skal bare gøre det rigtigt ;)
Men svaret er gratis i dag: svar selv, accepter eget svar.
Avatar billede haren Nybegynder
20. januar 2005 - 14:48 #11
if(!empty($_SESSION['brugernavn']) && !empty($_SESSION['pw'])) {
      // ok, vi kører
  } else {
      // Tilbage til start
  }

Hvad så hvis pw er fyldt ud, men brugernavn er ikke.
Det var derfor jeg ville bruge: ||
Avatar billede erikjacobsen Ekspert
20. januar 2005 - 14:49 #12
jo, men du siger jo at begge skal være udfyldt for at gå videre?
Avatar billede haren Nybegynder
20. januar 2005 - 14:51 #13
Du har sikkert ret (igen) - men jeg har kun 8 måneders erfaring med php, derfor er jeg blevet meget forvirret.. :S

Det eneste jeg vil er at jeg vil tjekke om brugernavn ikke er tom, hvis den er det skal der ske det samme, som hvis pw ikke er tom, eller hvis de begge er tomme.
Avatar billede haren Nybegynder
20. januar 2005 - 14:52 #14
I den aller sidste skal der selvfølgelig stå:

Det eneste jeg vil er at jeg vil tjekke om brugernavn ikke er tom, hvis den er det skal der ske det samme, som hvis pw ikke er tom, eller hvis de begge ikke er tomme.
Avatar billede erikjacobsen Ekspert
20. januar 2005 - 14:59 #15
Jeg er ikke sikker på jeg forstår. Skal vi ikke udfylde en tipskupon. Der er handling A og handling B.


Bruger tom og pw tom: handling ??
Bruger udfyldt og pw tom: handling ??
Bruger tom og pw udfyldt: handling ??
Bruger udfyldt og pw udfyldt: handling ??
Avatar billede haren Nybegynder
20. januar 2005 - 15:05 #16
Bruger tom og pw tom: Handling 1
Bruger udfyldt og pw tom: Handling 1
Bruger tom og pw udfyldt: Handling 1
Bruger udfyldt og pw udfyldt: Handling 2

Kan dette gøres med en if sætning, a la den jeg spurgte om virkede.. ?

(Det bruges i et login system, hvor jeg tjekker om sessions'ne er tomme, i stedet for bare at fyre dem ind i en mysql_query(), bare for at "spare" resurser.. )
Avatar billede erikjacobsen Ekspert
20. januar 2005 - 15:07 #17
if(!empty($_SESSION['brugernavn']) && !empty($_SESSION['pw'])) {
      // handling 2
  } else {
      // handling 1
  }

Det er nu fint nok at fortælle brugeren at der mangler noget, i stedet for bare
at fortælle at det ikke er rigtigt, så, ja, du skal teste på om der er noget i
felterne inden du spørger i databasen.
Avatar billede haren Nybegynder
20. januar 2005 - 15:09 #18
(Min manglende erfaring gør at jeg må stille et bispørgsmål)

Jeg troede at:

if(!empty($_SESSION['brugernavn']) && !empty($_SESSION['pw'])) {
      // handling 2
  } else {
      // handling 1
  }

Virker når det er begge, og ikke hvis det bare er hver for sig..
Avatar billede haren Nybegynder
20. januar 2005 - 15:10 #19
Der skulle selvfølgelig stå:

Ikke virker når det er begge, og ikke hvis det bare er hver for sig..
Avatar billede haren Nybegynder
20. januar 2005 - 15:11 #20
Det går ikke så godt, jeg tror på dig.

- og beder dig ærbødigst at tage i mod point.
Avatar billede erikjacobsen Ekspert
20. januar 2005 - 15:11 #21
Der står at den første skal være udfyldt samtidig med at den anden skal være udfyldt førend handling 2 udføres.
Avatar billede erikjacobsen Ekspert
20. januar 2005 - 15:12 #22
Men svaret er gratis i dag: svar selv, accepter eget svar.
Avatar billede haren Nybegynder
20. januar 2005 - 15:17 #23
Mange tak, jeg har nu testet det og det virker lige som det skal..
Avatar billede haren Nybegynder
20. januar 2005 - 15:18 #24
MANGE TAK!!
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester