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





Computerworld
Interneteksperternes mareridt er gået i opfyldelse: EU godkender omstridt direktiv, der "ødelægger internettet for altid"
EU's lovgivende udvalg har godkendt nye copyright-regler, som indeholder to kontroversielle paragraffer. Eksperter advarer imod, at artikel 11 og 13 kan ødelægge internettet for altid. Reglerne mangler stadig at blive endeligt vedtaget.
CIO
Henrik Jeberg om at arbejde i Silicon Valley: "Er du dygtig nok får du tilbud der får en til at falde ned af stolen."
Henrik Jeberg bor i San Francisco og er direktør i Hampleton Partners, der rådgiver om opkøb med særligt fokus på teknologi. Hør ham fortælle om forskellen på Danmark og Silicon Valley - og om nogle af de vilde forhold der hersker i verdens ubestridte tech-hovedstad.
Job & Karriere
KMD opsagde tryghedsaftaler med medarbejderne få måneder før 300 medarbejdere blev outsourcet til IBM
KMD har i løbet af foråret opsagt to såkaldte tryghedsaftaler med en del af selskabets medarbejdere. Når aftalerne stopper ved udgangen af 2018, er de pågældende medarbejdere ikke længere berettiget til særlig godtgørelse. Det kan få konsekvenser, hvis IBM som forventet skærer i antallet af de 300 KMD-medarbejdere, som selskabet overtager.
White paper
11 skridt, der sikrer dig det bedste udbytte af dit CRM-projekt
Dette whitepaper identificerer 11 skridt, som enhver organisation bør gennemgå i forbindelse med CRM-implementering.