Mulla on sellanen ongelma, että jos käytän tollasta koodia
mun scriptissä niin saan virhe ilmotuksen :
Warning: Cannot modify header information - headers already sent by (output started at F:\Abyss Web Server\htdocs\tests\Apu\uds3.php:14) in F:\Abyss Web Server\htdocs\tests\Apu\uds3.php on line 50
niin mitenkäs ton saa korjattua?
Et saa kirjoittaa sivulle mitään ennen header-funktion käyttöä.
joo ja kannattaa pistää toi file.zip juttu stringiksi näin: $filu = "file.zip";
Joo kokeilin jo laittaa sen stringiksi, mutta ei toimi. Johtuu varmaankin headerin ohjaus jutusta jota käytin ennen tuota koodia (siis sellanen index.php?dwl=lataa juttu) sain kumminkin toimimaan kun käytin html:n ohjausta, mutta olisi kiva saada toimimaan myös tuolla tavalla.
$filu = "file.zip"; header("Location: $filu");
eiköhän tolla ala toimimaan....
lainaus:
Warning: Cannot modify header information - headers already sent by (output started at F:\Abyss Web Server\htdocs\tests\Apu\uds3.php:14) in F:\Abyss Web Server\htdocs\tests\Apu\uds3.php on line 50
Ymmärräthän, ettet voi tulostaa mitään sivulle ennen headeria.
Ei tuossa mitään muuta vikaa ole, ainoastaan se, että siellä on jotain tekstiä jo ennen header()-funktiota.
Jos sen saa toimimaan sillä tavalla, että kirjoittaa osoitteeksi index.php?sivu=uds&?dwl=now niin jos headerin ohjaus on tehty HTML:llä niin se hyppää heti siihen imuroitavaan filuun vaikka osoiteeksi kirjoittaisi vain index.php?sivu=uds ja jos taas se ohjaus on tehty PHP:llä niin se antaa tuon virheilmoituksen. Epäilen siis, että vika on koko imurointilaskuri scriptissä joten tässä sen koodi :
<?php if ($sivu=="uds" && !$dwl=="now") { # luetaan lataukset $file = fopen("laskuri.txt", "r"); $loadi = fread($file, filesize("laskuri.txt")); fclose($file); # lisätään latausta yhdellä $loadi = $loadi + 1; # kirjoitetaan lataus tiedostoon $file = fopen("laskuri.txt", "w"); fputs($file, $loadi); fclose($file); # ohjataan selain imuroitavaan tiedostoon $file = "sivut/file.zip"; echo '<META HTTP-EQUIV="Refresh" content="0; URL=' . $file . '">'; } ?>
vika voisi johtua myös index sivun koodista koska olen käyttänyt dynaamista systeemiä... joten etusivun koodi myös :
<html> <head> <style> A.menu {color: #000000; text-decoration: none} A.menu:hover {color: #003399; text-decoration: none} </style> <meta name="webmaster" content="TETRIS - tetris_90@jippii.fi - www.mikkisoft.se8.org"> <title>Mikkisoft [v 5.0]</title> </head> <body background="bg.gif" topmargin="12" leftmargin="12" text="#000000" link="#000000" vlink="#000080" alink="#000080"> <img border="0" src="otsikko.gif" width="209" height="41"><br> <table border="0" width="55%" height="329"> <tr> <td width="110" valign="top" height="139"> <TABLE border="0" cellpadding="3" cellspacing="1" bgcolor="#000000" style="font-style: normal; font-variant: normal; font-weight: normal; line-height: 12px; font-size: 8pt; font-family: Verdana; color: #000000" width="100%" height="129"> <TR> <TD bgcolor="#E9E9E9" width="87" height="2" valign="top" cellspacing="0" cellpadding="0" style="background-image: url('table.gif'); background-repeat: repeat-x; color: #FFFFFF; font-size: 10px; background-position: left top"> <b>MENU</b> </TD> <TR> <TD bgcolor="#E9E9E9" width="87" height="111" valign="top"> <img border="0" src="list.gif" width="7" height="7"> <a href="?sivu=etusivu" class="menu">etusivu</a><br> <img border="0" src="list.gif" width="7" height="7"> <a href="?sivu=imuroi" class="menu">imuroi</a><br> <img border="0" src="list.gif" width="7" height="7"> <a href="?sivu=projektit" class="menu">projektit</a><br> <img border="0" src="list.gif" width="7" height="7"> <a href="?sivu=vieraskirja" class="menu">vieraskirja</a><br> <img border="0" src="list.gif" width="7" height="7"> <a href="?sivu=palaute" class="menu">palaute</a><br> <img border="0" src="list.gif" width="7" height="7"> <a href="?sivu=uutiset" class="menu">uutiset</a><br> <img border="0" src="list.gif" width="7" height="7"> <a href="?sivu=linkit" class="menu">linkit</a><br> <img border="0" src="list.gif" width="7" height="7"> <a href="?sivu=tutoriaalit" class="menu">tutoriaalit</a><br> <img border="0" src="list.gif" width="7" height="7"> <a href="?sivu=admin" class="menu">admin</a> </TD> </table> <br> <TABLE border="0" cellpadding="3" cellspacing="1" bgcolor="#000000" style="font-style: normal; font-variant: normal; font-weight: normal; line-height: 12px; font-size: 8pt; font-family: Verdana; color: #000000" width="100%" height="129"> <TR> <TD bgcolor="#E9E9E9" width="87" height="2" valign="top" cellspacing="0" cellpadding="0" style="background-image: url('table.gif'); background-repeat: repeat-x; color: #FFFFFF; font-size: 10px; background-position: left top"> <b>GALLUP</b> </TD> <TR> <TD bgcolor="#E9E9E9" width="87" height="111" valign="top"> <?php include('gallup.php'); ?> </TD> </table> </td> <td width="5" valign="top" height="325"></td> <td width="506" height="325" valign="top"> <left> <?php // Here you have to list every page you want that can be loaded $pages = Array ( "uds" => "sivut/uds2.php", "etusivu" => "sivut/etusivu.php" ); // We check if there is page given. If not by default we load etusivu.php $page = ($_GET["sivu"] != "") ? $_GET["sivu"] : "etusivu"; // Lets check that the file exists and it is in $pages array if (isset($pages[$page]) AND file_exists($pages[$page])) { // Everything's allright lets load the page include ($pages[$page]); } else { // Somethings wrong! We show error message echo "Error 404 - Sivua ei löydy."; } function MakeArray ($dir) { global $pages; $handle = OpenDir ($dir) or die ("Ei voi avata $handle!"); while (FALSE !== ($file = ReadDir($handle))) { if ($file != ".." AND $file != ".") { if (is_dir($dir . $file)) { MakeArray ($dir . $file . "/"); } else { $pages[ereg_replace("\.(.*)$", "", $file)] = $dir . $file; } } } CloseDir ($handle); } ?> </left> </td> </tr> </table> </body> </html>
toivottavasti joku osaa auttaa... :(
Jos laiskottaa eikä jaksa alkaa etsimään sorsista tulosteita, kannattaa lisätä aivan sivun alkuun ob_start() ja aivan loppuun ob_end_flush(). Johan alkaa pelittämään ilman virheitä (tosin noin muutaman mikrosekunnin hitaammin :).
no kiitos :) toi ob_ juttu toimi, mutta nyt on ongelmana toi ohjaus. Nyt siis toimii myöskin PHP:n headerin ohjaus, mutta se joko hyppää suoraan siihen imuroitavaan tiedostoon tai sitten ei tee mitään (vaan pelkästään "päivittää" sivun) johtuuko se mahdollisesti tuosta :
if ($sivu=="uds" && $dwl=="now")
p.s
bugaa muuten hauskasti toi bbcode systeemi :D
Aihe on jo aika vanha, joten et voi enää vastata siihen.