Avatar billede smeier Nybegynder
27. september 2004 - 11:54 Der er 9 kommentarer og
1 løsning

Problem med "header already sent" ved brug af cookie.

Har et problem med
Warning: Cannot modify header information - headers already sent by (output started at /hsphere/local/home/smeierdk/smeier.dk/spillestederdk/admin/top.php:3) in /hsphere/local/home/smeierdk/smeier.dk/spillestederdk/admin/db_logentry.php on line 28
Har dette problem med op til flere sider. Om ikke andet ikke andet vil jeg gerne høre om en anden mulighed for at sende folk videre.
Min top.php består kun af en menu uden brug af php.
og min loginarray.php er for at tjecke om man har logget ind.

Her er siden til:
<?php
include("loginarray.php");
tjekigen();

include("top.php");
?>
<?
include("db_password.inc");
mysql_connect($hostname, $user, $password);
mysql_select_db("$db");

if (isset($_POST['Submit']) && $_POST['Submit'] == 'Submit') {
  // Format the data
  $date = date("YmdHis"); // Remember, date is an integer type
    $teaser = $_POST['teaser'];
    $blogtext = $_POST['blogtext'];
    $overskrift = $_POST['overskrift'];
    $link = $_POST['link'];
 
  // insert values
$query = "INSERT INTO mylog (ID, date, teaser, blogtext, overskrift, link)
VALUES(NULL, $date, '$teaser', '$blogtext', '$overskrift', '$link')";
    $result = mysql_query($query);
      if (mysql_affected_rows() == 1) {
    header("Location: db_logedit.php");      <-----linje 28
  } else {
    error_log(mysql_error());
    echo "<P>Something went wrong.</P>";
  }
}
  else{
  // Show the form
    $php_self = $_SERVER['PHP_SELF']; 
$form_str = <<< EOFORMSTR
<HTML>
<HEAD>
</HEAD>
<body bgcolor="#ACACAC">
<FORM ACTION="$php_self" METHOD="POST">
Overskrift: <input name="overskrift" type="text" value="overskrift" size="25"><br>
Link: <input name="link" type="text" value="link" size="20">
<P>Teaser:<BR>
<TEXTAREA NAME="teaser" COLS=75 ROWS=2
WRAP="VIRTUAL"></TEXTAREA></P>
<P>Text:<BR>
<TEXTAREA NAME="blogtext" COLS=75 ROWS=20
WRAP="VIRTUAL"></TEXTAREA></P>
<P><INPUT TYPE="SUBMIT" NAME="Submit" VALUE="Submit"></P>
</FORM>
</BODY>
</HTML>
EOFORMSTR;
    echo $form_str;
  }
?>
Avatar billede hmortensen Nybegynder
27. september 2004 - 12:02 #1
Du må ikke udskrive noget på skærmen, før der sendes en header.

Løsning: Send dataen til en anden fil, og lav tjekket der, og send bruger hen til den rigtige side bagefter
Avatar billede dcheng Novice
27. september 2004 - 12:10 #2
echo "<META HTTP-EQUIV=Refresh CONTENT="0; URL=db_logedit.php\">";
Avatar billede smeier Nybegynder
27. september 2004 - 12:11 #3
Du mener at jeg kun skal have min form på denne side og først indsætte i db'en på den næste...
Hmm. kan php virkelig ikke lave det lettere?
Avatar billede dcheng Novice
27. september 2004 - 12:11 #4
og det der skal fjernes:

header("Location: db_logedit.php");
Avatar billede smeier Nybegynder
27. september 2004 - 12:14 #5
-->dcheng

skal ""'erne virkelig stå som de står. Den siger parse error.
Avatar billede hmortensen Nybegynder
27. september 2004 - 12:15 #6
Jeg deler altid min form og min databehandling op. Så kan folk heller ikke trykke F5/opdater, og så den sender samme data igen
Avatar billede dcheng Novice
27. september 2004 - 12:15 #7
sorry manglede et \
echo "<META HTTP-EQUIV=Refresh CONTENT=\"0; URL=db_logedit.php\">";
Avatar billede smeier Nybegynder
27. september 2004 - 12:15 #8
der manglede en \ efter content=

echo "<META HTTP-EQUIV=Refresh CONTENT=\"0; URL=db_logedit.php\">";
Avatar billede smeier Nybegynder
27. september 2004 - 12:16 #9
tror vi fandt den samtidigt men ellers tak for hjælpen ;)
Avatar billede dcheng Novice
27. september 2004 - 12:16 #10
Velbekomme
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