Dryper Skrevet 2. april 2008 Skrevet 2. april 2008 (endret) Hei. jeg får ikke til å legge verken Cookies eller Session til i scriptene mine. på login scriptet mitt så bruker cookies får jeg opp Warning: Cannot modify header information - headers already sent by (output started at C:\server\www\www\index.php:8) in C:\server\www\www\_validate.php on line 30 Warning: Cannot modify header information - headers already sent by (output started at C:\server\www\www\index.php:8) in C:\server\www\www\_validate.php on line 31 Warning: Cannot modify header information - headers already sent by (output started at C:\server\www\www\index.php:8) in C:\server\www\www\_validate.php on line 35 .. og nesten det samme med sessions.. Linje 30:setcookie("cookieusername", $name,time()+86400); Linje 31:setcookie("cookiepassword", $password,time()+86400); Linje 35:setcookie("userid", $row[id],time()+86400); Hvorfor får jeg opp disse? Takker for svar og når jeg bruker sessions 19: session_register("bruker"); 20: session_register("pass"); Takker for svar her også jeg Hilsen Dryper Endret 2. april 2008 av Dryper
Runar0 Skrevet 2. april 2008 Skrevet 2. april 2008 Eit lite søk både her på forumet og på nettet generelt ville nok fortalt det ka som er galt rimelig fort ettersom at dette er eit ganske vanlig spørsmål Feilen kommer at at du sender output før du prøver å sette kaker (session bruker kaker). Den late løsningen er å legge til ob_start() i starten av det første skriptet som blir utført og da er problemet løst. Den mer 'korrekte' metoden blir å finne ut kor du sender output og kanskje omstrukturer slik at du blir ferdig med all output før du kommer til login skripetet. Det er og selfølgelig mulig at du ikkje sender output med vilje, eit space før <?php eller lagring med BOM i UTF-8 kan vere grunnen til dette, søk i forumet så finst det nok ein løsning. * Beklager vist dette ble litt rotete, har litt dårlig tid
Ernie Skrevet 2. april 2008 Skrevet 2. april 2008 Som feilmeldingen tilsier har du nok litt output i linje 8 i index.php. Når man først sender litt output blir også headere satt/sendt (naturlig nok), og da kan man ikke lengre sende ytterligere headere.
Dryper Skrevet 2. april 2008 Forfatter Skrevet 2. april 2008 Som feilmeldingen tilsier har du nok litt output i linje 8 i index.php. Når man først sender litt output blir også headere satt/sendt (naturlig nok), og da kan man ikke lengre sende ytterligere headere. Jeg er ikke helt med på hvordan dette fungerer. har søkt en del nå men får det ikke til å funke :S Index scriptet mitt ser slik ut: <html> <head> <link rel="stylesheet" href="css/standard.css" type="text/css" media="screen" /> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> <title>Sniken Auksjon</title> </head> <? include "config.php"; ?> <div class="window"> <div class="header"><img src="images/header_logo.jpg" width='1200' /></div> <div class="menu"> <? include "menu/menu.php"; ?> </div> <div class="mainTitle"> Globalmafia.sytes.net </div> <div class="mainText"> <? $id = $_GET['id']; if ($id == "home"){ include("nyheter.php"); } // Main Tab else if ($id == "forum"){ include("forum.php"); } else if ($id == "about"){ include("about.php"); } //User interaction TAB else if ($id == "login"){ include("login.php"); } else if ($id == "registrer"){ include("registrer.php"); } else if ($id == "registrert"){ include("registrert.php"); } else if ($id == "membersarea"){ include("membersarea.php"); } //PROSJECT TAB else if ($id == "aboutprojects.php"){ include("aboutprojects.php"); } //Support Tab else if ($id == "knowlegde"){ include("support/knowlegde.php"); } else if ($id == "documentation"){ include("support/documentation.php"); } //OTHER else if ($id == "logedin"){ include("logedin.php"); } else { include ("nyheter.php"); } ?> </div> </div> </html> og login scriptet ser slik ut: <?php include ("config.php"); $bruker = mysql_real_escape_string($_POST['Brukernavn']); $pass = mysql_real_escape_string($_POST['Passord']); $status = $_SESSION['bruker']; if (!$con){ die ('Kunne ikke koble til databasen. Feil:</br>' . mysql_error()); } $sel = mysql_query("SELECT * FROM brukere WHERE Brukernavn = '$bruker' AND Passord = '$pass'"); $omrett =mysql_num_rows($sel); if ($omrett == 1) { mysql_query("UPDATE brukere SET Status = 'Innlogget' WHERE Brukernavn = '$bruker' "); session_register("bruker"); session_register("pass"); echo "Du er nå logget inn."; } else { echo "Brukernavnet eller passordet du skrev inn er feil."; } ?> hva er det da jeg må gjøre.. har prøvd med det ob_start() greiene men fikk det ikke til å funke..
Runar0 Skrevet 2. april 2008 Skrevet 2. april 2008 (endret) Feilen er som eg nemnte i den første posten min at du sender informasjon til webleseren _før_ du setter header informasjon (header(), sessions eller cookies) for å fikse dette på enklest mulig måte så kan du legge til <?php ob_start(); ?> heilt i toppen av index.php. Det denne funksjonen gjør er å starte ein buffer som samler opp all tekst du sender til weblesere og sender det til brukeren i det programmet ditt er ferdig. Endret 2. april 2008 av Runar0
Dryper Skrevet 2. april 2008 Forfatter Skrevet 2. april 2008 Feilen er som eg nemnte i den første posten min at du sender informasjon til webleseren _før_ du setter header informasjon (header(), sessions eller cookies) for å fikse dette på enklest mulig måte så kan du legge til <?php ob_start(); ?> heilt i toppen av index.php. Det denne funksjonen gjør er å starte ein buffer som samler opp all tekst du sender til weblesere og sender det til brukeren i det programmet ditt er ferdig. Funka det Nå. hvordan setter jeg en Tråd til "Løst"
Wackamole Skrevet 2. april 2008 Skrevet 2. april 2008 Redigerer førsteposten, så kan du redigere trådtittelen til 'Løst'
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å