miss-g Seniormester
12. marts 2018 - 23:07 Der er 14 kommentarer og
1 løsning

Warning: Cannot modify header information

Så har jeg brug for hjælp igen.

Min hjemmeside kommer med fejl:

Warning: Cannot modify header information - headers already sent by (output started at /var/www/syord.dk/public_html/adm/index.php:2) in /var/www/syord.dk/webassist/mysqli/authentication.php on line 206

I filen authentication.php linje 206 står:
header("location: " . $this->addQuerystring($url));

Og her hele kodedelen:
    public function redirect($url) {
      if ($url) {
        header("location: " . $this->addQuerystring($url));
        die();
      }
    }
------------------------------
What to do??
arne_v Ekspert
12. marts 2018 - 23:20 #1
Fejlen betyder at du forsoeger at redirecte til en anden side efter at du er startet paa at outputte nuvaerende side. Det kan man ikke.
miss-g Seniormester
12. marts 2018 - 23:30 #2
Ok, jeg tester om min user authorization virker. Det er korrekt at jeg bare indtaster en adresse og springer log ind siden over. Den burde vel hoppe hen til log ind siden, som jeg har bedt den om?
miss-g Seniormester
12. marts 2018 - 23:34 #3
Denne bliver indlæst først:
<?php require_once('../../webassist/mysqli/authentication.php'); ?>

Og dette bagefter:

<?php
if ("" == "") {
  $RestrictAccess = new WA_MySQLi_Auth();
  $RestrictAccess->Action = "restrict";
  $RestrictAccess->Name = "admin";
  $RestricAccessRedirect = "logind.php";
  if (function_exists("rel2abs")) $RestricAccessRedirect = $RestricAccessRedirect?rel2abs($RestricAccessRedirect,dirname(__FILE__)):"";
  $RestrictAccess->FailRedirect = $RestricAccessRedirect;
  $RestrictAccess->execute();
}
?>
miss-g Seniormester
12. marts 2018 - 23:45 #4
Jeg kan lige tilføje, at det virker efter hensigten på testserveren (Wamp/PHP 7), men altså ikke på webhotellet, som også kører PHP 7. ??
acore Ekspert
13. marts 2018 - 09:00 #5
Det kan skyldes, at der ved en fejl har sneget sig en blanbk linie ind i din kode inden

<php?

Derved outputtes en blank linie og du kan ikke redirecte.
miss-g Seniormester
13. marts 2018 - 13:47 #6
Tak acore. Der er ingen blank linje.

Kan det være noget med uft-8 / phpMysql eller ?  Det er jo underligt, at det virker på localhost, men ikke på webhotellet?
acore Ekspert
13. marts 2018 - 13:55 #7
Er filerne gemt i ANSI? Er de i UTF-8 kan den såkaldte BOM give problemer.
arne_v Ekspert
13. marts 2018 - 15:26 #8
For at koden er korrekt saa maa der ikke outputtes saa meget som en enkelt byte inden header.

I praksis kan der godt caches noget output, hvilket kan tillade en lille smule output inden header.

Den cache maengde kan godt vare forskellig mellem din hjemme Windows PHP og dit web hotel Linux PHP.

Jeg mener at det er php.ini output_buffering som styrer det.
miss-g Seniormester
13. marts 2018 - 16:18 #9
Jeg kan nok ikke rette noget cache på webhotellet....

Jeg tænker, at jeg kan leve med "fejlen" - den er åbenbart ikke lige til at løse. Det vigtige er, at folk udefra ikke kan tilgå siden - om den spærrer på en ene eller anden måde, går nok.
acore Ekspert
13. marts 2018 - 17:49 #10
Den fejl kan findes! Om du så orker det, er en anden snak.

Du skal lede efter blanke linier, mellemrum, eller lignende, som står før <php?

Hvad står der i adm/index.php? Det synes at være i den problemnet starter.
miss-g Seniormester
13. marts 2018 - 18:35 #11
Min index.php ser sådan ud i toppen

<?php require_once('../../Connections/conn.php'); ?>
<!---------------------------------------------------------------------------------------------->
<?php require_once('../../webassist/mysqli/authentication.php'); //adgangskontrol 1 ?>
<?php include ("../../private_html/adgang.php") //adgangskontrol 2 ;?>
<!---------------------------------------------------------------------------------------------->
<?php include ("includes/inc_header.php");?>
<!---------------------------------------------------------------------------------------------->
<?php require_once('../../webassist/mysqli/rsobj.php'); ?>
<?php
$rs_ord = new WA_MySQLi_RS("rs_ord",$conn,0);
$rs_ord->setQuery("SELECT * FROM ordliste");
$rs_ord->execute();
?>
miss-g Seniormester
13. marts 2018 - 19:40 #12
Gad vide om jeg ikke skal starte forfra. Filen authentication.php, som tilsyneladende indeholder fejl, bliver autogenereret af en extension i Dreamweaver. Hvis jeg sletter den og prøver forfra....
miss-g Seniormester
13. marts 2018 - 20:00 #13
LØST
Så er det opklaret:

Hvis jeg sætter en kommentarlinje <!------------------------------------> før
<?php require_once('../../webassist/mysqli/authentication.php'); // adgang 1?>
så kommer fejlen. Den er nu fjernet, og det virker efter hensigten.

Tak for input allesammen :-)
acore Ekspert
13. marts 2018 - 20:01 #14
Fejlen opstår i authentication.php, men kun fordi der er "output" inden.

Og det virker jo lokalt.

Så næppe en løsning.

Du kunne overveje, at rette index filen fra #11, så der kun er én <php? og én ?>.

Men de er absolut et vildskud - foreslået på baggrund af, at der i fejlen skrives, at der er output i linie 2 - som er

<!---------------------------------------------------------------------------------------------->

og som burde være harmløs
acore Ekspert
13. marts 2018 - 20:03 #15
Tror tanken er, at du skal markere "LØST" til den eller de poster, der har hjulpet dig med at løse dit problem. Så hvis du mener, at du selv har løst problemet, har du gjort det rigtigt.
Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links

Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester





Premium
C2IT opkøber dansk it-konsulenthus: Tidligere Sentia-boss med ledende roller i begge selskaber har forhandlet prisen
Interview: Michael Meister er del af ledelsen i både C2IT og Softhuset, som lægges sammen. Den tidligere Sentia-direktør har forhandlet prisen og varetaget Softhusets interesser i forhandlingerne, men fortsætter i C2IT efter handlen.
Computerworld
Her er de tre nye iPhones: Apple har netop præsenteret to frække topmodeller samt en helt ny "folketelefon"
Apple har netop løftet sløret for tre nye iPhones. Den ene af dem er måske det tætteste Apple kommer på en folketelefon
CIO
Machine learning og kunstig intelligens med Jesper Steen Møller "Der er rigtigt meget teknik som for nogen ser nærmest magisk ud"
Tech fra Toppen: Hvornår det giver mening at bruge machine learning - og hvordan du kommer bedst muligt i gang? Få svaret i den seneste udgave af Computerworlds podcast "Tech fra toppen" med datalog Jesper Steen Møller.
Job & Karriere
Her er syv job-annoncer der overrasker med helt usædvanlige overskrifter
Der er mange ledige it-job i øjeblikket. It-jobbank har her fundet syv spændende stillinger, der har det til fælles, at annoncen har en utraditionel overskrift.
White paper
Mobility - her er de aktuelle udfordringer
Hvad med sikkerheden? Mobility-bølgen fejer igennem danske virksomheder, og der er masser af muligheder og faldgruber. Sikkerheden halter, men det kan der gøres noget ved. Produceret af Computerworld.dk i oktober 2014.