Avatar billede tanzaweb Nybegynder
22. september 2004 - 10:03 Der er 8 kommentarer og
1 løsning

Cannot add header information

Hej

Jeg får følgende besked:

Warning: Cannot add header information - headers already sent by (output started at /usr/web/xxxx/yyyyyyyyyy.DK/head.php:6) in /usr/web/xxxx/yyyyyyyyyy.DK/marked/registrate.php on line 191

og den ser således ud med en header location:

$message="Du er blevet registreret med succes.. Du vil modtage en email bekræftelse med dit brugernavn og password.";
$m = urlencode ($message);
header ("Location: index.php?good_message=$m");
exit;
} else {
$message="Du kunne ikke registreres  pga. systemfejl. Venligst kontakt webmaster for at få det rettet.";
$m = urlencode ($message);
Linje 191: header ("Location: registrate.php?sub=error&error_message=$m");
exit;

og sådan ser starten af min side ud:

        include_once ("../head.php"); ?>

<?php if (!isset($sub)){
include_once ("includes/registration_javascript.inc");
?>
Avatar billede detox Nybegynder
22. september 2004 - 10:06 #1
Du har output i head.php (linje 6), så kan du ikke bruge header().
Avatar billede tanzaweb Nybegynder
22. september 2004 - 10:13 #2
Hvad skal jeg så bruge, da jeg bare skal redirekte til en anden side
Avatar billede tanzaweb Nybegynder
22. september 2004 - 10:15 #3
det er include_once ("includes/registration_javascript.inc");
som står i linje 6, det er javascript som jeg bruger til validering
Avatar billede detox Nybegynder
22. september 2004 - 10:22 #4
Har du da output i: 'registration_javascript.inc'? Du må sørge for der ikke er noget output inden du bruger header(). Bare et mellemrum et sted er nok.
Avatar billede tanzaweb Nybegynder
22. september 2004 - 10:36 #5
Toppen af siden ser således ud nu:

<?php include_once ("includes/registration_javascript.inc");
$title = "Privat dagpleje i Svenstrup - Godthab";
       
        include_once ("../head.php"); ?>

<?php if (!isset($sub)){
?>
        <table width="100%">

og mit javascript ser således ud, og jeg kan ikke umiddelsbart se en tom linje.

<script type="text/javascript" language="Javascript">
<!-- // # Script 5.8 -->
<!-- // Begin to hide script contents from old browsers.
function CheckData() {
    if (document.form.username.value.length <= 0) {
        alert ("Enter a username.");
        document.form.username.value = "*** Username";
        document.form.username.focus();
        var problem = true;   
    }
    if (document.form.first_name.value.length <= 0) {
        alert ("Enter your first name.");
        document.form.first_name.value = "*** First Name";
        document.form.first_name.focus();
        var problem = true;   
    }
    if (document.form.last_name.value.length <= 0) {
        alert ("Enter your last name.");
        document.form.last_name.value = "*** Last Name";
        document.form.last_name.focus();
        var problem = true;   
    }
    if (document.form.email.value.length <= 0) {
        alert ("Enter your email address.");
        document.form.email.value = "*** Email Address";
        document.form.email.focus();
        var problem = true;   
    }
    if (document.form.password.value.length < 8) {
        alert ("Enter a password at least 8 characters long.");
        var problem = true;   
    }
    if (document.form.password.value != document.form.password2.value) {
        alert ("Your confirmed password does not match the entered password.");
        var problem = true;   
    }
    if (document.form.vej_navn.value <= 0) {
        alert ("Indtast venligst din adresse.");
        document.form.vej_navn.value = "*** VejNavn";
        document.form.vej_navn.focus();
        var problem = true;   
    }
    if (document.form.post_nr.value < 4) {
        alert ("Indtast venligst dit postnummer.");
        document.form.post_nr.value = "*** postnr";
        document.form.post_nr.focus();
        var problem = true;   
    }
    if (document.form.by_Navn.value <= 0) {
        alert ("Indtast venligst bynavn.");
        document.form.by_Navn.value = "*** By Navn";
        document.form.by_Navn.focus();
        var problem = true;   
    }
    if (document.form.phone_num.value <= 7) {
        alert ("Indtast venligst dit Tlf nummer.");
        document.form.phone_num.value = "*** Tlf nummer";
        document.form.phone_num.focus();
        var problem = true;   
    }
    if (document.form.birthday.value <= 6) {
        alert ("Indtast venligst din fødselsdato.");
        document.form.birthday.value = "*** Eks. 130568";
        document.form.birthday.focus();
        var problem = true;   
    }

    if (problem == true) {
        return false;
    } else {
        return true;
    }
}
//-->
</script>
Avatar billede detox Nybegynder
22. september 2004 - 10:47 #6
Problemet ligger iflg. fejlmeldingen i: 'head.php'
Avatar billede tanzaweb Nybegynder
22. september 2004 - 10:57 #7
okay her ser headeren således ud:

<?php
$page = $_SERVER['PHP_SELF'];
$path ="http://www.xxxxxxxx.dk/"; ?>
<html>
    <head>
    <title><?php echo $title; ?></title>
    <META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
    <meta name="description" content="passning af born fra ? til 3 ar">
    <meta name="keywords" content="privat, dagpleje, dagplejer, dagplejere, privatdagpleje, privatdagplejer, privatdagplejere, privat dagpleje">
    <link href="/css/style.css" type=text/css rel=stylesheet>
   
    <script language="JavaScript" type="text/JavaScript">
<!--
function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_showHideLayers() { //v6.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    obj.visibility=v; }
}
//-->
</script>
    </head>
<body text="#000000" bgColor="#0099cc" leftMargin="0" topMargin="0" marginheight="0" marginwidth="0">
Avatar billede detox Nybegynder
22. september 2004 - 11:09 #8
Ja, du kan ikke sende:

<html>
    <head>
    <title><?php echo $title; ?></title>
bla, bla, osv...
</head>

og derefter bruge header().
Sagen er den at hvis du redirecter til en anden side, har du ikke brug for output på siden, da den alligevel ikke bliver set. Så du må omstrukturere scriptet, så du ikke includer: 'head.php' når du bruger header().
Altså fx:

<?php
if ( betingelse ) {
  $title = "Privat dagpleje i Svenstrup - Godthab";
  include_once ("../head.php"); ?>
  noget kode...
} else {
  noget kode...
  header("Location: index.php?good_message=$m");
}
Avatar billede tanzaweb Nybegynder
24. maj 2005 - 15:29 #9
har løst den på anden måde.
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