Frågan 17 jan. 2004 00:11 #1 Får detta felmeddelande i en linkadder.
Felmess i index.php
Warning: Cannot modify header information - headers already sent by (output started at /home/swedem2/public_html/member/link/index.php:2) in /home/swedem2/public_html/member/link/index.php on line 8
Index.php kod till och med rad 10.
<body background="bg.jpg" link="ffff00" alink="ff0000" vlink="ffff00">
<?
include("data.php");
$conn = mysql_connect("$dbhost", "$dbuser", "$dbpass");
if ($_GET['add'] == "true") {
mysql_db_query($databas, "INSERT links (name, url, klicks) VALUES ('".$_POST['name']."', '".$_POST['url']."', '0')") or exit(mysql_error());
header("Location: index.php");
}
?>
Ser ej vad problemet kan vara,
Qimen Medlem sedan juni 2001 5 009 inlägg Du får inte skicka ngn data till webbläsaren före header. Så för att lösa ditt fel får du lägga koden överst på sidan. :)
Okey, testade lite olika varianter men fick samma felmess. nån som kanske kan placera om koderna?
Hela index.php
<body background="bg.jpg" link="ffff00" alink="ff0000" vlink="ffff00">
<?
include("data.php");
$conn = mysql_connect("$dbhost", "$dbuser", "$dbpass");
if ($_GET['add'] == "true") {
mysql_db_query($databas, "INSERT links (name, url, klicks) VALUES ('".$_POST['name']."', '".$_POST['url']."', '0')") or exit(mysql_error());
header("Location: index.php");
}
?>
<link rel="stylesheet" href="style.css" type="text/css">
<?
if ($_GET['add'] == "yes") {
?>
<script>
function submitonce(theform){
if (document.all||document.getElementById){
for (i=0;i<theform.length;i++){
var tempobj=theform.elements[i]
if(tempobj.type.toLowerCase()=="submit"||tempobj.type.toLowerCase()=="reset")
tempobj.disabled=true
}
}
}
</script><body bacbground="bg.jpg" link="ffff00" alink="ff0000" vlink="ffff00">
<font face="Verdana, Helvetica, sans-serif" size="1" color="ffffff">
<form action="index.php?add=true" method="post" onSubmit="submitonce(this)"><body bgcolor="#06517D" link="ffff00" alink="ff0000" vlink="ffff00">
<b>Site Name:</B><br>
<input type="text" name="name" cols="30"><br>
<b>Site URL:</B><br>
<input type="text" name="url" cols="30" value="http://"><br>
<br>
<input type="submit" value="Add">
</form>
<?
} else {
?>
<a href="index.php?add=yes">Lägg till - Add a link</a><br><br>
<?
$get = mysql_db_query($databas, "SELECT * FROM links ORDER BY id DESC LIMIT 10");
while ($r = mysql_fetch_array($get)) {
print $r["klicks"];
print " | <a href='out.php?id=";
print $r["id"];
print "' target='_BLANK'>";
print $r["name"];
print "</a><br>";
}
}
?>
Qimen Medlem sedan juni 2001 5 009 inlägg Om det är hela index.php så fattas du lite kod ju. Du ska ju ha med <html> osv. också ;)
Det du får göra är att lägga phpkoden ovanför body (egentligeh <html>).
<?
include("data.php");
$conn = mysql_connect("$dbhost", "$dbuser", "$dbpass");
if ($_GET['add'] == "true") {
mysql_db_query($databas, "INSERT links (name, url, klicks) VALUES ('".$_POST['name']."', '".$_POST['url']."', '0')") or exit(mysql_error());
header("Location: index.php");
}
?>
<body background="bg.jpg" link="ffff00" alink="ff0000" vlink="ffff00">
<link rel="stylesheet" href="style.css" type="text/css">
<?
if ($_GET['add'] == "yes") {
?>
<script>
function submitonce(theform){
if (document.all||document.getElementById){
for (i=0;i<theform.length;i++){
var tempobj=theform.elements[i]
if(tempobj.type.toLowerCase()=="submit"||tempobj.type.toLowerCase()=="reset")
tempobj.disabled=true
}
}
}
</script><body bacbground="bg.jpg" link="ffff00" alink="ff0000" vlink="ffff00">
<font face="Verdana, Helvetica, sans-serif" size="1" color="ffffff">
<form action="index.php?add=true" method="post" onSubmit="submitonce(this)"><body bgcolor="#06517D" link="ffff00" alink="ff0000" vlink="ffff00">
<b>Site Name:</B><br>
<input type="text" name="name" cols="30"><br>
<b>Site URL:</B><br>
<input type="text" name="url" cols="30" value="http://"><br>
<br>
<input type="submit" value="Add">
</form>
<?
} else {
?>
<a href="index.php?add=yes">Lägg till - Add a link</a><br><br>
<?
$get = mysql_db_query($databas, "SELECT * FROM links ORDER BY id DESC LIMIT 10");
while ($r = mysql_fetch_array($get)) {
print $r["klicks"];
print " | <a href='out.php?id=";
print $r["id"];
print "' target='_BLANK'>";
print $r["name"];
print "</a><br>";
}
}
?>
Får iaf detta felmess *gråter*
Warning: Cannot modify header information - headers already sent by (output started at /home/swedem2/public_html/member/link/data.php:8) in /home/swedem2/public_html/member/link/index.php on line 7
Peeer Medlem sedan mars 2002 5 907 inlägg Att lägga ob_start(); överst i din kod borde hjälpa.
Du skriver ut någon form av data i data.php på rad 8.
Matte Medlem sedan aug. 2000 2 975 inlägg Då även mellanslag, radbrytningar och liknande utanför PHP-taggen ger output, kan det vara det som spökar i din data.php.
Om du nu inte har någon HTML-kod är, eller echo eller print, kolla att där inte finns några osynliga tecken före eller efter PHP-taggarna.
Den före är lätt att se, men efter kanske du behöver sätta markören direkt efter ?> och trycka upprepade gånger på DELETE tills du är säker på att där inte finns något.
Är det bara data du har för uppkopplingen till MySQL i den filen, ska du inte behöva köra ob_start().
Tack grabb, löste det. Det var ett mellanslag efter php koden i data.php...
Men, nu får jag den ej att scrolla.... dvs den ligger i denna iframe:
<IFRAME SRC="link/index.php" WIDTH="200" HEIGHT="210" NAME="add" FRAMEBORDER="NO"></P>
</IFRAME>
men den vill icke scrolla ner så man kan se alla länkar....
Matte Medlem sedan aug. 2000 2 975 inlägg Titta gärna över din HTML-kod lite.
Du har inga <html> eller <head>, men däremot har du tre stycken <body>
Har du något i din CSS-fil som säger att den inte ska scrollas ?