Gå til innhold

Feil/Warning ved bruk av header(..)


Anbefalte innlegg

Skrevet

Hei

Er ny når det gjelder PHP & Mysql og har et problem med koding av en innloggingsekvens.

 

Planen er at brukerne skal logge seg inn ved hjelp av et brukernavn og passord, og når "logg inn" knappen er trykket skal brukeren bli videresendt til medlemssiden dersom brukernavn og passord er riktig. Følger et eksempel i boken PHP & Myql for dummies, hvor funksjonene header(..) er brukt til dette.

 

Problemet er at jeg får en feilmelding(Warning) som viser flg:

"Warning: Cannot modify header information - headers already sent by ...".

Har letet litt rundt om på nettet hvor jeg finner ut at denne feilmeldingen kan skyldes blant annet blanke rom før <?php og etter ?>. Dette har jeg sjekket ,og det er ikke tilfelle hos meg.

Så nå har strippet koden ned til dette:

<?php

echo"test";

header('Location: localhost/test2.php');

?>

Og da får jeg feilmeldingen(warning osv).

Men dersom jeg skriver dette:

<?php

header('Location: localhost/test2.php');

?>

Så funker det.

Virker på meg som om header funksjonen ikke takler å ha kode foran seg?

 

Hadde satt pris på om noen kunnet vist meg en løsning på problemet, eller en form for omgåelse av det. Innlogging er jo ganske vanlig sak i slike web-applikasjoner, så det må jo være en relativt grei løsning på det?

Videoannonse
Annonse
Skrevet

Ok takk for infoen.

Jeg tolker det slik at script går greit bortsett fra utskrift?

Er det forresten noen som har link til en tutorial eller lignenede hvor innlogging med viderkobling er vist?

Skrevet (endret)

Det stemmer at script går fint, og ikke utskrift, ja. For innlogging på min side, bruker jeg en normal html-form:

 

<form method="POST" action="statistikk.php">
<table border='0'>
<input type="hidden" name="execute" value="LOGGINN">
<tr><td>Passord:</td><td><input type="password" name="PASSORD" size="30"></td></tr>
</table>
<br><input type="submit" value="Send">
</form>

 

Så når brukeren trykker "Send"-knappen, vil statistikk.php bli aktivert:

 

<?php
if ($_POST["execute"] == "LOGGINN") {

if ($_POST['PASSORD']=="riktigpassord"){
echo "Du er logget inn";
}else{
echo "Feil passord!";
}

}else{
echo "Du må bruke innloggingsskjemaet!";
}
?>

 

Det kan hende dette er mindre sikkert enn andre metoder, men da sier vel folk fra ganske kjapt, skal du se :thumbup:

 

Degeim

Endret av Degeim

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...