27. september 2004 - 13:28
Der er
30 kommentarer og 1 løsning
Header og location
den skifter ikke side når jeg logger ind... den skriver intet andet end at loginformen forsvinder og så skriver den enten admin eller client alt efter hvad secstatus er... så den kommer ind i if sætningen men skifter ikke til siden index3.php hjælp venligst :D if($row["secstatus"] == "admin") { echo "admin"; $to = "../index3.php?cmd=admin"; } else { echo "client"; $to = "../index3.php"; } header('Location: '. $to);
Annonceindlæg fra Cognizant
Agentic AI kræver mere end teknologi
De fleste virksomheder har efterhånden bevist, at AI virker.
Pilotprojekter leverer resultater. Medarbejdere bruger generative AI-værktøjer. Nye use cases dukker op på tværs af organisationen.
27. september 2004 - 13:36
#1
fjern dine echo kald, du må ikke udskrive noget til skærmen før et header kald
27. september 2004 - 13:38
#2
de er kun sat ind for at se om man kom ind i if sætningen da det ikke virkede uden... så det har ingen effekt :D
27. september 2004 - 13:42
#3
du burde få en fejl med den kode der. noget i retning af: Warning: Cannot modify header information - headers already sent by....
27. september 2004 - 13:43
#4
jeg får ingen fejl... men har haft den fejl før... hvad betyder den ?
27. september 2004 - 13:46
#5
At du sender noget til skærmen før en header, derfor du også skal fjerne dine echo kald. Jeg har lige pastet din kode ind, og der er ingen syntax fejl, og det virker her. Har du noget andet kode på siden ?
27. september 2004 - 13:48
#6
komplet kode: (den er dog included af index.php) <?php include_once("db.inc"); if($_SESSION["login"] == true) { if($_SESSION["secstatus"] == "admin") { $to = "../index3.php?cmd=admin"; } else { $to = "../index3?cmd=client.php"; } header('Location: '. $to); } elseif(isset($_POST["login"])) { $brugernavn = $_POST["brugernavn"]; $password = $_POST["password"]; $sql = "select * from users where navn = \"$brugernavn\" and password=\"$password\" "; $result = db_query($sql); if ( $row = mysql_fetch_array($result)) { $_SESSION["login"] = true; $_SESSION["brugernavn"] = $brugernavn; $_SESSION["secstatus"] = $row["secstatus"]; if($row["secstatus"] == "admin") { $to = "../index3.php?cmd=admin"; } else { $to = "../index3?cmd=client.php"; } header('Location: '. $to); } else { ?> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td align="center"> Forkert brugernavn eller password </td> </tr> </table> <?php } } else { ?> <form name="loginform" method="POST"> <table cellpadding="0" cellspacing="5" border="0"> <tr> <td> <input name="brugernavn" class="input" type="text"><br> <input name="password" class="input" type="password"> </td> </tr> <tr> <td align="right"> <input name="login" class="button" type="submit" value="Login"> </td> </tr> </table> </form> <?php } ?>
27. september 2004 - 13:53
#7
Prøv lige og lav: header('Location: '. $to); om til: echo $to; Så kan du se om variablen blir sat
27. september 2004 - 13:54
#8
den bliver sat :D :/
27. september 2004 - 13:57
#9
hmm, det lyder underligt... prøv at lave stien om til absolut sti: $to = "/mappe/index3.php?cmd=admin";
27. september 2004 - 13:57
#10
komplet kode: (den er dog included af index.php) <-- hvis der er noget i index.php så er der også output før header... sååå... er der noget i index.php før du includer?
27. september 2004 - 14:00
#11
jamen hvad er klasificeret som output... er normal html kode det ? er en session_start(); det ? ellers er der intet i index.php andet en includen og index3.php er i en mappe højere end login.php som koden ovenfra er fra. (dvs login.php ligger i en inc mappe)
27. september 2004 - 14:01
#12
er der ikke andre måder jeg kan skifte side på ?
27. september 2004 - 14:01
#13
<html> er fx output
27. september 2004 - 14:01
#14
<doctype bla bla> er output
27. september 2004 - 14:01
#15
alt hvad der kan ses i vis kilde så at sige
27. september 2004 - 14:02
#16
html er også output til skærmen, og det må der ikke være før headeren
27. september 2004 - 14:02
#17
hmm så kan man jo ikke skifte side :/ !?
27. september 2004 - 14:03
#18
Jo, du sender dataen til en ny side, hvor du laver dine tjek, sætter session, og så sender du brugeren hen hvor du vil
27. september 2004 - 14:04
#19
Det virker jo også dumt at sende et output til brugeren, når siden alligevel skifter
27. september 2004 - 14:07
#20
jeg skal ikke sende noget output... det var får at tjekke om if sætningen virkede ! så jeg sender intet output... jeg har en side delt op i tables og vil bare have min login form til at ligge i en td men det siger du er umuligt når man skal skifte side og det ikke skal komme frem i samme td !!!
27. september 2004 - 14:08
#21
jo, du sender jo output i form af html i index.php!!!!!
27. september 2004 - 14:08
#22
include skal jo forstås som ren tekstuel indsættelse
27. september 2004 - 14:08
#23
rene, kan du ikke ta over ? min tålmodig er meget lille i dag ;)
27. september 2004 - 14:11
#24
tjoh, men jeg sidder her kun kort, fordi jeg lige tager en slapper... ellers plejer jeg pænt at holde mig fra eksperten :-).
27. september 2004 - 14:13
#25
z1n: er du ved at være med på, hvad der menes med output?
27. september 2004 - 14:16
#26
ahhh 1000 tak der... virker nu... flytte alt fra login.php til index.php så intet kommer før header... nu fatter jeg det :D thx :D
27. september 2004 - 14:16
#27
smid svar begge 2 så i kan deles
27. september 2004 - 14:16
#28
fino
27. september 2004 - 14:17
#29
gratis herfra. Point kan jeg ikke bruge til så meget.
27. september 2004 - 14:28
#30
hindu lig et svar ;D
27. september 2004 - 14:29
#31
Godt du fik det til at virke...
Vi tilbyder markedets bedste kurser inden for webudvikling