Avatar billede epo_blackdevil Nybegynder
14. august 2003 - 09:07 Der er 25 kommentarer og
3 løsninger

Warning: Cannot modify header information

hvorfor dukker dette op?

Warning: Cannot modify header information - headers already sent by (output started at /data/www/queze.dk/link/links.php:3) in /data/www/queze.dk/link/global.inc.php on line 509

jeg har en php fil som smider et linksystem ind på en af mine sider. når man så trykker på et link dukker den ovenstående besked op.

har allerede head kode på min side, men den phpfil bliver inkluderet har sin egen headfil vhor dette står i:

<head>
<style type="text/css">
.standard {color: black; font-family: verdana, arial, helvetica, sans-serif; font-size: 9 pt}
.small {color: black; font-family: verdana, arial, helvetica, sans-serif; font-size: 7 pt}
</style>
</head>

hvad skal ændres?

skriv hvis i skal bruge mere info
Avatar billede jara06 Nybegynder
14. august 2003 - 09:12 #1
Hvis du bruger header funktionerne i php, må du ikke outputte noget som helst html FØR det. Et enkelt mellemrum er faktisk nok...

Du kan lægge de to klasser op i dit eget stylesheet, eller flytte <style> tagget til din egen header fil, og så slette indholdet i den header der... :)
Avatar billede Spotgun Seniormester
14. august 2003 - 09:12 #2
Du kan ikke ha' to headers på en side, derfor fejlen.

Du bli'r derfor nødt til at samle begge header-informationer i en head-blok.
Avatar billede epo_blackdevil Nybegynder
14. august 2003 - 09:17 #3
har forsøt at samle header info i begge filer. altså så alt kode først er i den ene og så derefter i den anden.
men der er stadig samme fejl
Avatar billede jara06 Nybegynder
14. august 2003 - 09:18 #4
kan vi se koden til filen og evt en url ?
Avatar billede epo_blackdevil Nybegynder
14. august 2003 - 09:45 #5
fil med design:

her er alt head koden samlet.


<html>
<head>
<title>%title%</title>
<STYLE type=text/css>A:link {text-decoration: none;}A:visited {text-decoration: none;}A:hover {text-decoration: underline;}.notes {border: solid; border-width: 1px; padding: 2px}</STYLE><style>input, textarea {background-color: transparent;}</style>
<style type="text/css">
.standard {color: black; font-family: verdana, arial, helvetica, sans-serif; font-size: 9 pt}
.small {color: black; font-family: verdana, arial, helvetica, sans-serif; font-size: 7 pt}
</style>
</head>
<body bgcolor="white" text="black" link="black" vlink="black" alink="black" background="images/bg.jpg">
<table align="center" border="1" cellspacing="0" width="80%" bordercolor="white" bordercolordark="white" bordercolorlight="#336699" bgcolor="white">
<tr>
<td width="80%" colspan="2" bordercolor="white" bordercolordark="white" bordercolorlight="#336699">
<div align="left">
<table border="0" width="100%">
<tr>
<?
include('http://www.queze.dk/include/top_logo.php');
?>
</tr>
</table>
</div>
</td>
</tr>
<tr>
<td width="106" valign="top" background="http://www.queze.dk/images/side_image_left_sidemenu.jpg">
<?
include('http://www.queze.dk/include/menu2.php');
?>
</td>
<td width="100%" valign="top">
<table border="0" cellpadding="10" width="100%" height="100%">
<tr>
<td width="100%" valign="top">


<?php

include("global.inc.php");



$admin = is_admin();
$return = numlinks_array(); // Build array of number of links in each category
$numlinks = $return[0];
$numlinkstree = $return[1];

if ((!$cat) && (!$go) && (!$action))
    $cat = 0;

if (isset($go))
{
    jump_to($go);
}

if ($action == "login")
{
    if ($username)
        login($username, $password);
}

if ($action == "loginform")
{
    echo html_header("$sitename - Links Login");
    echo ss_template('login_form.tmpl');
    echo html_footer();
    exit;
}

if ($action == "logout")
{
    logout();
}

if ($action == "rate")
{
    do_rating($id, $score);
}

if ($action == "build")
{
    build_numlinks();
    echo html_header('Build Complete');
    echo ss_template('links_built.tmpl');
    echo html_footer();
    exit;
}

if ($action == "addlink")
{
    add_link($link_name, $link_url, $link_desc, $link_cat, $link_recommended);
}

if ($action == "addcat")
{
    add_cat($lcat_name, $lcat_header, $lcat_cat, $lcat_ranking);
}

if ($action == "delcat")
{
    del_cat($id);
}

if ($action == "reclink")
{
    rec_link($cat);
}

if ($action == "dellink")
{
    delete_link($id);
}

if ($action == "editlink")
{
    edit_link($id);
}
if ($action == "validate")
{
    validate_list();
}

if ($action == "vallink")
{
    val_link($id);
}

if ($action == "search")
{
    show_searchpage();
}
if ($action == "reject_link")
{
    reject_link($id);
}
if ($action == "newlinks")
{
    new_links($days);
}
if ($action == "popular")
{
    popular_links();
}
if ($action == "rated")
{
    top_rated();
}
if ($action == "editcat")
{
    edit_cat($id);
    exit;
}

if ($search)
{
    search_results($search);
}

// if all else fails then show normal page

if (!ereg("^[0-9]+$", $cat))
    $cat = 0;
$breadcrumbshtml = do_breadcrumbs($cat);
$html = cats_table($cat);
echo html_header("$sitename - Links");
if ($cat == 0)
    $cat = '0';
echo ss_template('category_header.tmpl', array('%breadcrumbs%' => $breadcrumbshtml, '%catid%' => $cat));
echo get_catheader($cat);
echo cats_table($cat);
$linkshtml = show_links($cat);
if ($linkshtml)
{
    echo $linkshtml;
}
else
{
    echo ss_template('category_nolinks.tmpl');
}
if ($admin)
{
    echo admin_options($cat);
}
echo html_footer();
exit;

?>



</td>
</tr>
</table>
</td>
</tr>
</table>
<?
include('http://www.queze.dk/include/sp_bund.php');
?>
</body>
</html>
</script>

i en config fil bliver 2 filer inkluderet.

har tømt dem for kode da de kun indeholdte en ramme
Avatar billede jara06 Nybegynder
14. august 2003 - 10:17 #6
spørgsmål:
Hvad gør disse funktioner ?
build_numlinks
html_header
ss_template

kunne forestille mig html_header måske outputter nogle headers, og så vil det ikke du.
Du kunne godt lægge informationerne fra <body> (bgcolor="white" text="black" link="black" vlink="black" alink="black" background="images/bg.jpg") op i stylesheetet under body { }

Anyway, har jeg ryddet op i din header her:


<html>
<head>
    <title> %title% </title>

    <style type="text/css">

        a:link {
            text-decoration: none;
        }
       
        a:visited {
            text-decoration: none;
        }
       
        a:hover {
            text-decoration: underline;
        }
       
        .notes {
            border: solid; /* du kan bruge border: 1px solid black;  f.eks. */
            border-width: 1px;
            padding: 2px;
        }
       
        input, textarea {
            background-color: transparent;
        }
       
        .standard {
            color: black;
            font-family: verdana, arial, helvetica, sans-serif;
            font-size: 9pt;
        }
       
        .small {
            color: black;
            font-family: verdana, arial, helvetica, sans-serif;
            font-size: 7pt;
        }

    </style>
</head>
Avatar billede epo_blackdevil Nybegynder
14. august 2003 - 10:46 #7
jara06 du må ikke spørge mig, har hentet dette fra hotscript.com har ikke selv styr på det med php.

hvis i vil have koden fra global.inc.php kan i få det. men den er på 500 et eller andet linir
Avatar billede epo_blackdevil Nybegynder
14. august 2003 - 10:49 #8
jara06 foressten takker for at dy ryddede lidt op i koden :-)

her er et link til siden det ligger på nu: http://www.queze.dk/link/links.php
Avatar billede jara06 Nybegynder
14. august 2003 - 11:33 #9
http://www.queze.dk/link/links.php?go=3
er det her du mener ? for jeg kan ikke finde den fejl andre steder ...
Avatar billede jara06 Nybegynder
14. august 2003 - 11:34 #10
du kan evt kopiere den global fil til et andet navn på din server, og så kalde .phps tilsidst (med s). Det står for source, og så vil php vise sourcen (kilden) istedet for at parse scriptsne :)
Avatar billede epo_blackdevil Nybegynder
14. august 2003 - 12:00 #11
jara06 havde lige ændret lidt på det, havde fjernet det fra mit desgin, så virkede det hele igen. nu ligger det sammen med mit design, prøvat gå ind i sjove billeder og tryk så på et billede.

der kommer et nyt vindue op (som burde være tomt, men mit design er med) men de ropstår den fejl, hvorfor smider den mit design med der?.

prøver det med s
Avatar billede detox Nybegynder
14. august 2003 - 12:39 #12
Hvad står der på linie 508-510 i global.inc.php?
Avatar billede epo_blackdevil Nybegynder
14. august 2003 - 12:42 #13
der står:

    $result2 = @mysql_query("UPDATE sslinks SET link_hits = '$hits' WHERE link_id = '$id'");
    header("Location: $url");
    exit;

de 2 øverste linier er en line
Avatar billede epo_blackdevil Nybegynder
14. august 2003 - 12:43 #14
nå, det endte som en linie da det blev postet :-/
Avatar billede detox Nybegynder
14. august 2003 - 13:19 #15
header("Location: $url");
er dit problem, da du har sendt en header i toppen af scriptet.
Avatar billede jara06 Nybegynder
14. august 2003 - 13:21 #16
Du kan ikke bruger header() der. Det skal være FØR noget som helst output.

et grimt forsøg, vil være at bruge et lille javascript istedet for header .. :D
Erstat linien med header (nok linie 509) med dette lille stykke:


echo " <script type=\"text/javascript\"> \n";
echo "  location=\"". $url ."\" \n";
echo " </script> \n";
Avatar billede detox Nybegynder
14. august 2003 - 13:35 #17
Ja, det kunne måske være en løsning.
Avatar billede epo_blackdevil Nybegynder
14. august 2003 - 13:52 #18
jara06 jepper nu virker det med billederne. hep hey
men der er desværre stadig samme fejl når jeg vil logge ind som admin.

prøv at gå ind i Admin logind

temp username= admin
temp password = queze

når man så vil logge ind dukker samme fejl op igen dog på andre linier. på de liner står der:

    setcookie("Links_Cookie_User", $username, time() + 3600);
    setcookie("Links_Cookie_Pass", $password, time() + 3600);
    header("Location: links.php");

her virker det desværre ikke at skifte  header("Location: links.php"); ud med echo " <script type=\"text/javascript\"> \n";
echo "  location=\"". $url ."\" \n";
echo " </script> \n";

men igen mange tak for hjælpen indtil videre.
Avatar billede detox Nybegynder
14. august 2003 - 14:08 #19
Nej, i så fald skal det nok være:

echo " <script type=\"text/javascript\"> \n";
echo "  location=\"links.php\" \n";
echo " </script> \n";
Avatar billede epo_blackdevil Nybegynder
14. august 2003 - 14:17 #20
detox nu kommer der ingen fejl længere :-) desværre dukker admin panelet ikke op i bunden af siden :-(
Avatar billede Slettet bruger
14. august 2003 - 14:37 #21
Du kan før noget andet sætte: ob_start(); ind
Avatar billede Slettet bruger
14. august 2003 - 14:38 #22
På den måde, "glemmer" php fejlen og lader scriptet køre videre.
Det skal ind i dit normale design, og altså ikke bare i i starten af dit link system.
Avatar billede fangel Nybegynder
14. august 2003 - 17:07 #23
denne artikel omhandler det også:

http://showsource.dk/artikler/vis_artikel.php?id=1054732856

indrømmet - den er ikke så lang, så si til hvis du har nogle kommentare, så kan jeg ændre den

Morten
Avatar billede jara06 Nybegynder
14. august 2003 - 22:38 #24
ja, ob (output buffering) vil hjælpe .. i hvert fald med de cookies der
Avatar billede epo_blackdevil Nybegynder
15. august 2003 - 07:56 #25
hvor skal ob_start(); sættes ind?
Avatar billede epo_blackdevil Nybegynder
15. august 2003 - 08:20 #26
hep hey, sår virker det :-)

oki hvis detox og jara06 vil smide et svar så i kan få jeres points. cypermann ha smidt et svar ind!
Avatar billede jara06 Nybegynder
15. august 2003 - 08:33 #27
yesyes :)
Avatar billede detox Nybegynder
15. august 2003 - 08:54 #28
C",)
Avatar billede 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. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

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

IT-JOB

Capgemini Danmark A/S

AI Data Architect

Jyske Bank

AI-udvikler

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Cyberdivisionen søger IT-supporter til lokal IT Korsør

Forsvarsministeriets Materiel- og Indkøbsstyrelse

IT-Sikkerhedsrådgiver til Cyberdivisionen i Hvidovre