Svendsen Skrevet 22. desember 2003 Del Skrevet 22. desember 2003 får denne beskjeden når jeg legger inn nyheter Warning: Cannot modify header information - headers already sent by (output started at /hsphere/local/home/stianweb/stianweb.com/admin/meny.htm:11) in /hsphere/local/home/stianweb/stianweb.com/admin/addnews.htm on line 6 linje 6: <?php session_start(); if($bruker=="") { //include('login.htm'); Header("Location: login.htm"); } else { // SQL database Variables linje seks er Header linja under dette kommer seff sql setningen Noe som kan hjelpe? På forhånd tusen takk Lenke til kommentar
sven-o Skrevet 22. desember 2003 Del Skrevet 22. desember 2003 session_start() sender en header, og da kan du ikke sende en på nytt. Finn på no lurt og omgå problemet. Lenke til kommentar
Svendsen Skrevet 23. desember 2003 Forfatter Del Skrevet 23. desember 2003 (endret) HAr prøvd å om gå litt her men nå sliter jeg etter å ha lagt inn alt i tekstbokser og den skal validere mot addnews.php så bare hopper den til login.htm fila: <?php session_start(); if($bruker=="") { //include('login.htm'); Header("Location: login.htm"); } else { ?> <table width="750" border="1" align="center" cellpadding="0" cellspacing="0" bordercolor="000000"> <tr> <td width="100" align="center" valign="top"> <? include("meny.htm") ?> <td width="650" align="left" valign="top"> <?php // SQL database Variables $hostname="***"; $user="****"; $pass="****"; $dbase="****"; $connection = mysql_connect("$hostname" , "$user" , "$pass"); $db = mysql_select_db($dbase , $connection); //legge inn nyhet $q="INSERT into news (id,head,teaser,dato) VALUES ('','$head','$teaser',now())"; $result= mysql_query($q, $connection) or die ("Could not execute query : $q." . mysql_error()); if ($result) { echo "Nyheten er lagt inn!<br>"; } ?> </td> </tr> </table> <?php } ?> går jeg for mye inn og ut? Endret 23. desember 2003 av Svendsen Lenke til kommentar
FuLu Skrevet 23. desember 2003 Del Skrevet 23. desember 2003 En regel som jeg har satt for meg selv er: logikk/håndtering av data/login osv først den visuelle delen, generering av tabeller/lister osv til slutt Du hopper her litt inn og ut ja, og virker som du bruker register_globals=on ? $bruker kommer fra session? At du legger til nyhet der du gjør synes jeg ikke passer, bedre å holde orden på det først, utenfor den visuelle delen. Faktisk foretrekker jeg at html kode er utenfor php koden, kjent som templates Ser jeg nærmere etter, så mangler du en exit(); etter header(); Dette for å utføre redirection din med engang. Ellers er det ikke mye annet jeg kan se, er kanskje en cookie som ikke blir satt med riktig session id eller at cookie ikke blir satt. Kanskje det er noe feil med siden som kaller på addnews.php'en. Kanskje sjekken på $bruker == "" ikke fungerer som det skal. PS: bruker ikke PHP sin egen session sak, siden jeg har opplevd en del bugs, endte opp med å lage en mysql basert session sak. Kommer vel til å legge den opp i den faste tråden på forumet etterhvert som jeg har finpusset på den litt Lenke til kommentar
Svendsen Skrevet 23. desember 2003 Forfatter Del Skrevet 23. desember 2003 Det som er litt rart er at jeg har fått en annen variant til å funke før, men så slutta den å virke pga mitt første problem i tråden hadde to celler i en tabbel. Der jeg brukte $_GET til å bestem ut fra url og include reine koder... men det stoppa å virke Hvis noen har en god tut eller beskrivelse på : login med session mot MySQL ( alt er det) legge inn ting og slette og edit så ja takk Lenke til kommentar
Torbjørn Skrevet 24. desember 2003 Del Skrevet 24. desember 2003 Du må vite at HTTP headers er en del av enhver http session (når du åpner en hvilken som helst link, f.eks et php skript, så er det en http session - og nei, dette er ikke innholdet i <head> taggen) HTTP fungerer slik at det først sendes headers, deretter innholdet av fila/skriptet/whatever. *ALLE* headers må ut før innhold kan sendes. Hvis ikke, vil headers bare vises på siden som en hvilken som helst annen tekst. PHP luller brukeren inn i en falsk virkelighet der headers ikke finnes, men det gjør de så absolutt. I PHP håndteres de automatisk. Den skjønner at det trengs headers før innholdet (som regel html) skrives ut. Problemet her, er at det har blitt skrevet ut innhold (nok med en "usynlig" linjeskift) og da er det for sent med headers. Hvis du prøver å starte sessions etter at innhold er skrevet ut, vil du få denne feilen. Den innlysende løsningen er å flytte session_start til øverst i skriptet. Den slappe latmannsløsningen er å kjøre en ob_start() øverst i skriptet. Lenke til kommentar
BlueEAGLE Skrevet 24. desember 2003 Del Skrevet 24. desember 2003 feil melding ved innlegg i DB, men ikke mysql feil Hmm... Feil melding sier du?? Hvilken melding hadde du regnet med å få da?? 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å