jokkakim Skrevet 17. august 2006 Skrevet 17. august 2006 Har et problem, på en side som er included på siden min har jeg en header ("Location: index.php?side=loggetinn"); Den funker dårlig når siden blir included, men funker når jeg åpner siden vanlig. finnes det en metode å få det til å funke på en included side? =)
Lurifaksen Skrevet 17. august 2006 Skrevet 17. august 2006 Det skjer vel fordi header må være før noe "output" f.eks. echo/print. Når du inkluderer filen, har muligens scriptet allerede skrevet ut noe? Test å inkludert filen helt øverst i scriptet, så fungerer det nok.
jokkakim Skrevet 17. august 2006 Forfatter Skrevet 17. august 2006 (endret) Skjønte ikke helt hva du mente, den funker jo om jeg går direkte inn på siden, så det skal vel ikke ha noe å si? uanset her er hele scriptet som blir included: <?php session_start(); if($_SESSION['brukernavn'] && $_SESSION['passord']) { include("loggetinn.php"); } elseif (isset($_POST['sporring'])) { if (empty($_POST['brukernavn']) || empty($_POST['passord'])) { echo "Brukernavn og passord må fylles ut"; } else { $brukernavn = "Ymze"; $MD5_passord = "*********************************"; $brukerdata = $_POST['brukernavn']; $passord = md5($_POST['passord']); if ($passord == "$MD5_passord" && $brukerdata == "$brukernavn") { session_start(); $_SESSION['innlogget'] = 1; $_SESSION['brukernavn'] = $brukernavn; $_SESSION['passord'] = $MD5_passord; header("Location: ../index.php?side=loggetinn"); } else{ echo "Feil brukernavn eller passord! Sjekk at Caps Lock ikke er aktivert og prøv igjen."; } } } else { ?> <h3>Log in:</h3> <table> <form name="sporring" method="post" action="" enctype="multipart/form-data"> <tr><td>Brukernavn:</td><td><input type="text" name="brukernavn"></td></tr> <tr><td>Passord:</td><td><input type="password" name="passord"></td></tr> <tr><td><input type="submit" name="sporring" value="Logg inn"></td></tr> </table> </form> <?php } ?> Endret 19. august 2006 av jokkakim
jokkakim Skrevet 19. august 2006 Forfatter Skrevet 19. august 2006 Ingen som vet? var ikke bare headeren som var problem, hele login scriptet funker ikke når det er included... Men funker fint når jeg går direkte inn på siden :\
gozzer Skrevet 19. august 2006 Skrevet 19. august 2006 Som Lurifaksen skrev, må alle headere sendes før annen output printes. Dvs, Header() må stå ovenfor din først echo/print eller rett og slett ren html som sendes utenfor <?php ?>. Eks. feil: <?php echo "velkommen til min flotte side"; Header("Location: www.vg.no"); ?> Eks. riktig: <?php Header("Location: www.vg.no"); echo "velkommen skal du være, selv om denne teksten aldri vil synes"; ?> Poenget er at med en gang data er skrevet til filen, er det for sent å sende headere.
Martin A. Skrevet 19. august 2006 Skrevet 19. august 2006 Da man man jo bruke meta-tag. <meta http-equiv=refresh content='2;url=https://www.diskusjon.no/' />
jokkakim Skrevet 19. august 2006 Forfatter Skrevet 19. august 2006 ok, fikk ikke helt til den siste der.. men ingen av de hjelper så lenge selve login scriptet ikke fungerer. Lager et nytt Emne om loginscriptet tenker jeg. =)
skolegutten Skrevet 24. august 2006 Skrevet 24. august 2006 Hvis du putter ob_start() i toppen av sida di (den som inkluderer), er det mulig å sende headers også etter output.
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå