Avatar billede zetn Nybegynder
02. januar 2005 - 11:52 Der er 17 kommentarer

If sætning

Heysa, er ny til php, og skal bruge hjælp til en if sætning..

Hvis $edit = done skal den udskrive en hvis tekst, nogen der kan hjælpe?

/jacob
Avatar billede erikjacobsen Ekspert
02. januar 2005 - 11:54 #1
if ($edit=='done') {
  print "Øllebrød";
}
Avatar billede zetn Nybegynder
02. januar 2005 - 11:56 #2
Takker, smid et svar.
Avatar billede erikjacobsen Ekspert
02. januar 2005 - 11:59 #3
Nej tak, svar selv, accepter eget svar. Jeg samler slet ikke på point.
Avatar billede zetn Nybegynder
02. januar 2005 - 12:00 #4
Har egentlig lige et spm. mere (du skal nok lige få point hvis det er)

Jeg har et login system, men mangler lige den "Check" sætning der tjekker om der er en sessionen user_id har en værdi
Avatar billede erikjacobsen Ekspert
02. januar 2005 - 12:04 #5
if (isset($_SESSION['user_id']) && $_SESSION['user_id']!="") {
  ...du er ikke logget ind
}

måske....
Avatar billede erikjacobsen Ekspert
02. januar 2005 - 12:05 #6
omvendt: checker at du er logget ind ;))
Avatar billede elskermad.dk Nybegynder
02. januar 2005 - 12:05 #7
... nogen speciel grund til at du ikke bruger empty() erikjacobsen? (kunne være man kunne lære noget nyt! :)
Avatar billede erikjacobsen Ekspert
02. januar 2005 - 12:11 #8
Ja, selvfølgelig. Det jeg skriver i 12:04:02 er *ikke* det samme som

if (!empty($_SESSION['user_id'])) {
  ...du er ikke logget ind
}

læs selv dokumentationen ;)  Sommetider er det det samme, men ikke altid .... ;))
Avatar billede erikjacobsen Ekspert
02. januar 2005 - 12:35 #9
http://test.n0p.com/eksperten/576265/empty.php

Tryk på knappen og forklar mig forskellen ;)
Avatar billede zetn Nybegynder
03. januar 2005 - 13:30 #10
Kan ikke rigtig få den til at virke, den skriver ikke noget.

bruger fx

if (isset($_SESSION['userid']) && $_SESSION['userid']!="") {
Print"  ...du er ikke logget ind";   
}

jeg bruger denne her til at tjekke:

$result = mysql_query("SELECT * FROM `users` WHERE `username`='" . $username . "' AND `pwd`='" . $password . "'") or die(mysql_error());    
$row = mysql_fetch_array($result);
$_SESSION[username] = $row[username];
$_SESSION[userid] = $row[user_id];
header("Location: admin.php");
Avatar billede erikjacobsen Ekspert
03. januar 2005 - 13:45 #11
Så er det vel fordi du er logget ind ;) 
Se kommentar 02/01-2005 12:05:43
Avatar billede zetn Nybegynder
03. januar 2005 - 14:16 #12
Nej det er det ikke. Det er det samme hvis jeg går direkte ind på siden.
Avatar billede erikjacobsen Ekspert
03. januar 2005 - 14:20 #13
Der kan være flere ting galt.
    Hvor kommer $username og $password fra, og er de korrekte?
    Du bruger en IIS, der ikke kan sætte en cookie og redirecte på samme tid.
    Du siger ikke session_start()
Avatar billede zetn Nybegynder
26. januar 2005 - 15:47 #14
Hej, undskyld den lange svar tid, har ikke været hjemme.

Hvor skal session_start() være, er det hvor jeg tjekker om man er logget ind, eller det hvor jeg laver sessionen?
Avatar billede zetn Nybegynder
26. januar 2005 - 15:55 #15
For du lige kan se det hele, så her tjekker den om username og password er korrekte (det virker, da hvis jeg skriver forkert, logger den mig ikke ind)

if($do == 'login') {
$result = mysql_query("SELECT * FROM `users` WHERE `username`='" . $username . "' AND `pwd`='" . $password . "'") or die(mysql_error());
if(mysql_num_rows($result) == '0')

header("Location: index.php?do=error");

else {
$result = mysql_query("SELECT * FROM `users` WHERE `username`='" . $username . "' AND `pwd`='" . $password . "'") or die(mysql_error());    
$row = mysql_fetch_array($result);
$_SESSION[username] = $row[username];
$_SESSION[userid] = $row[user_id];
header("Location: admin.php");
exit;
}
}

Her er så den tjek jeg har på min side:

if (isset($_SESSION['userid']) && $_SESSION['userid']!="") {
Print"...du er ikke logget ind";
Avatar billede erikjacobsen Ekspert
26. januar 2005 - 20:09 #16
Kører du PHP på en windows server?
Din session_start skal stå som det allerførste

<? session_start(); ?>
Avatar billede zetn Nybegynder
27. januar 2005 - 10:50 #17
Har egentlig fået det til at virke, mit problem er bare at når jeg er logget ind skriver den meddelelsen, men jeg skal vende om på if sætningen, hvilket jeg ikke lige ved hvordan man gør`?
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