lassejl Skrevet 6. april 2008 Del Skrevet 6. april 2008 (endret) Hallo. Jeg har laget en login side, hvor man taster brukernavn og passord for å logge på. Tingen er at jeg ikke får til å redirecte brukeren direkte inn på systemet. Man må liksom først trykke login, deretter klikke på en link for å komme inn på systemet. Prøvd header, men får bare headers already been sent out. Noen som har noe tips om hvordan jeg kan løse dette? Endret 6. april 2008 av lassejl Lenke til kommentar
Gjest Slettet+142 Skrevet 6. april 2008 Del Skrevet 6. april 2008 Enten hiver du inn ob_start(); før noe som helst output skjer, eller så kan du prøve deg på echo '<meta http-equiv="refresh" content="0; url=/index.php" />'; Lenke til kommentar
nree Skrevet 6. april 2008 Del Skrevet 6. april 2008 Sett inn en ob_start() i toppen du Den gjør at hele siden blir generert på serveren før den sendes ut til brukeren. Hvis du inkluderer alle undersidene ut fra index; bør du definere hvilke undersider som ob_start() skal brukes på (siden ob_start gjør at serveren må generere siden før den blir sendt ut og ikke sender ut underveis blir det en flaskehals) Lenke til kommentar
lassejl Skrevet 6. april 2008 Forfatter Del Skrevet 6. april 2008 Hmm... leste litt på php.net, men skjønte ikke helt hva ob_start gjorde. Koden min er som følger: På toppen av siden: <?php session_start(); $id = $_GET['id']; if ($_POST['sub']) { $_SESSION['pass'] = $_POST['pass']; $_SESSION['user'] = $_POST['user']; } if ($id == "login") { header('Location:http://lassejl.com/ljlcms/index2.php'); } ?> Skjemaet: <form method="post" action="index.php?id=login"> User:<br /> <input type="text" name="user" /> <br /> Password:<br /> <input type="password" name="pass" /> <br /> <input type="submit" name="sub" value="Login" /> </form> <?php if ($id == "logOut") { unset($_SESSION['user'],$_SESSION['pass']); echo "You are now logged out."; } else { echo "Type username and password to log in."; } Tingen er at jeg får redirectet til siden slik som jeg har fikset nå, men da vil ikke sessions bli satt og jeg blir da ikke logget inn. Hvordan kan da ob_start hjelpe meg? Lenke til kommentar
nree Skrevet 6. april 2008 Del Skrevet 6. april 2008 Header er instrukser som blir sendt til nettleseren i begynnelsen av dokumentet. Når det blir lagt til andre ting før header(); får du feil siden headeren allerede har blitt sendt til nettleseren. ob_start() går gjennom filen og setter alle header(); som måtte bli aktivert til toppen av dokumentet slik at det er noe av det første som blir sendt til nettleseren. Jeg kan ikke se hvordan det skal kunne hjelpe deg med det scriptet du har postet her, siden du nå sier at du blir sendt videre, men problemet er at scriptet ikke oppfatter at du er logget inn. Når du skriver inn brukernavn og passord virker det som at session ikke blir satt eller du har feil i scriptet som sjekker om session er satt. Lenke til kommentar
lassejl Skrevet 6. april 2008 Forfatter Del Skrevet 6. april 2008 Hehe, problemet var at jeg ikke hadde www i header redirecten. Når jeg satt på det funket det fint. Takker for hjelp anyway. Lenke til kommentar
TheClown Skrevet 8. april 2008 Del Skrevet 8. april 2008 Ser at du har skrevet [LØST] på denne, men noe som er mye enklere er å bruke et javascript Lenke til kommentar
nree Skrevet 9. april 2008 Del Skrevet 9. april 2008 Så lenge emnet er postet i PHP er det naturlig å skrive svaret i PHP og ikke Javascript Lenke til kommentar
TheClown Skrevet 9. april 2008 Del Skrevet 9. april 2008 Joda, det er en selvfølge. Men å echo'e et enkelt javascript er hakket enklere enn header samt ob_start. Lenke til kommentar
Gjest Slettet+142 Skrevet 9. april 2008 Del Skrevet 9. april 2008 Joda, det er en selvfølge. Men å echo'e et enkelt javascript er hakket enklere enn header samt ob_start. Men hva da om bruker har deaktivert JavaScript? Lenke til kommentar
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å