Kenneth Dammyr Skrevet 1. mars 2007 Del Skrevet 1. mars 2007 Hei Har laget et login-script til et publiseringsystem jeg jobber med. Veldig enkle saker egentlig. Under ligger kjernen i koden. Men "header" vil søren ikke fungere. Jeg skjønner ikke hvorfor //Utfør sjekk if ($sqlbrukernavn == $brukernavn && md5($passord) == $sqlpassord) { session_start(); $_SESSION['auth'] = 1; setcookie("brukernavn", $brukernavn, time()+(84600*30)); setcookie("fultnavn", $sqlnavn, time()+(84600*30)); header("velkommen.php"); } else { echo "Systemet klarte ikke å logge deg inn.<br />Enten er du ikke registert, eller så skrev du feil passord/brukernavn."; } På forhånd takk for hjelp! Lenke til kommentar
Ueland Skrevet 1. mars 2007 Del Skrevet 1. mars 2007 Du må si hva nettleseren skal gjøre i header kommandoen, ikke bare sende et filnavn. Header("Location: filnavn.php"); videresender brukeren til filnavn.php Lenke til kommentar
Kenneth Dammyr Skrevet 1. mars 2007 Forfatter Del Skrevet 1. mars 2007 Jeg har skrevet det slik før, og prøvde nå, det funker fortsatt ikke. Finnes det elementer som kanskje kan forstyrre header-kommandoen, slik at den ikke fungerer? Lenke til kommentar
Anders Moen Skrevet 1. mars 2007 Del Skrevet 1. mars 2007 Hm, nå er det vanskelig å se hvor du har plassért koden din på sida di (i hvertfall for meg, hehe), men header skal være over dokumenttypen, skal den ikke? Lenke til kommentar
Kenneth Dammyr Skrevet 1. mars 2007 Forfatter Del Skrevet 1. mars 2007 Hjelper dette? <html> <head> <link href="style.css" rel="stylesheet" type="text/css"> <title>Ventus</title> </head> <body> <form action="".$PHP_SELF."" method="post"> <table align="left" border="0" cellspacing="0" cellpadding="3"> <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 colspan="2" align="right"><input type="submit" name="submit" value="Logg inn"></td></tr> </table> </form> <?php if (isset($_POST['submit'])) { //Forbered jobber include "configfilsomjegikkesierhvorer.php"; mysql_connect("$dbhost", "$dbuser", "$dbpass") or die(mysql_error()); mysql_select_db("$database") or die(mysql_error()); $brukernavn = $_POST['brukernavn']; $passord = $_POST['passord']; //Hent data fra database $result = mysql_query("SELECT * FROM ventus_bruker WHERE brukernavn='$brukernavn'") or die(mysql_error()); $row = mysql_fetch_array( $result ); $sqlbrukernavn = $row['brukernavn']; $sqlpassord = $row['passord']; $sqlnavn = $row['fultnavn']; //Utfør sjekk if ($sqlbrukernavn == $brukernavn && md5($passord) == $sqlpassord) { session_start(); $_SESSION['auth'] = 1; setcookie("brukernavn", $brukernavn, time()+(84600*30)); setcookie("fultnavn", $sqlnavn, time()+(84600*30)); header("Location: news.php"); echo "hoho"; } else { echo "Systemet klarte ikke å logge deg inn.<br />Enten er du ikke registert, eller så skrev du feil passord/brukernavn."; } } ?> </body> </html> Lenke til kommentar
Anders Moen Skrevet 1. mars 2007 Del Skrevet 1. mars 2007 Hm, jeg tror ikke header's skal fungere i body og sånn. Leste på designhjelp.com(tror jeg?), at headers bare skal være over doctypen/<html> Lenke til kommentar
Kenneth Dammyr Skrevet 1. mars 2007 Forfatter Del Skrevet 1. mars 2007 Ekstremt godt poeng Da funka det, takk! Lenke til kommentar
Ueland Skrevet 1. mars 2007 Del Skrevet 1. mars 2007 Headers skal være absolutt først av alt, ingenting skal skrives ut før header benyttes. Lenke til kommentar
Runar0 Skrevet 1. mars 2007 Del Skrevet 1. mars 2007 Eventuelt så bruker du en output buffer i starten av dokumentet, kan kan du sende headers kortid som helst i skripet. http://www.php.net/manual/en/function.ob-start.php Lenke til kommentar
Peter Skrevet 1. mars 2007 Del Skrevet 1. mars 2007 Det er egentlig sjelden man _ikke_ vil bruke output buffering. Om ikke annet, så kan det øke hastigheten på skriptet ditt med 15-20% om jeg ikke husker helt feil. Output buffering burde også brukes når man genererer bilder for å få størrelsen på bildet og kunne sende Content-Length-headeren. Eneste tiden jeg kommer på i farten der output buffering er negativt er under debugging dersom skriptet ditt henger noe sted, da er flush() kjekkere. 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å