Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Header location ongelma

Sivun loppuun

novari [18.08.2016 12:20:01]

#

Minulla on header location ongelma, joskus toimii ja sitten taas ei.
En ole tulostanut mitään ennen headerin kutsua, tietääkseni. Voisitteko helppiä, mikä tuossa koodissa on vikana. Poistin inputteja ja headereja, ettei tule niin pitkää listausta, koska ne on samanlaisia. Antaa tällaisen virheilmoituksen: Warning: Cannot modify header information - headers already sent by (output started at /home/xxxxxx/public_html/pelit/pelisivu.php:58) in /home/xxxxxx/public_html/pelit/pelisivu.php on line 60

<!DOCTYPE html>
<html>
<meta http-equiv="content-type" content="text/html;charset=utf-8"/>
<head>
	<title>Pelisivu</title>
	<LINK rel="stylesheet"
         type="text/css"
         href="pelisivu.css">

<script>
var i;

function vaihdatausta(i)
{
	document.getElementById("nappi"+i).style.backgroundColor="#ffff33";
	}
function takasin(i)
{
	document.getElementById("nappi"+i).style.backgroundColor="#dddddd";
	}
function vihree(i)
{
	document.getElementById("nappi"+i).style.backgroundColor="#ddffdd";
	}
function vihreetakasin(i)
{
	document.getElementById("nappi"+i).style.backgroundColor="#55ff55";
	}
</script>
</head>
<body onload="vihreetakasin(20), vihreetakasin(6), vihreetakasin(21), vihreetakasin(22)">
<br><br><br>
<form action='pelisivu.php' method='post' name='post'>
<input type='submit' class='nappula' name='napi22' onmouseover='vihree(22)' onmouseout='vihreetakasin(22)' id='nappi22' value='Liiga 2016 syksy'>
</form>
</body></html>
<?php
if ($_POST["napi22"]!=""){
	header("Location: /pelit/jk_2016_syksy/tarkista.php"); //peli alkaa
 	exit;
	}
?>

TapaniS [18.08.2016 12:56:06]

#

Voisiko tuon halutun osoitteen syöttää suoraan lomakkeen painonapin taakse? Näin säästyisi tuo testaamisen ja edelleenohjaamisen tarve kokonaan.

PS. Olisi hyvä käyttää sanojen oikeita muotoja myös muutenkin. Esim. takasin pitäisi olla takaisin.

Grez [18.08.2016 12:57:51]

#

novari kirjoitti:

En ole tulostanut mitään ennen headerin kutsua, tietääkseni.

Koodisi sen sijaan kertoo, että olet tulostanut 36 riviä html-koodia ennen header kutsua, eli jokseenkin 36 riviä liikaa.

Ihmetyttää suuresti että tuo muka joskus toimisi :o

novari [18.08.2016 13:49:46]

#

TapaniS Anteeksi, tuo kielioppivirhe, niitä nyt tulee silloin tällöin.
Onko antaa esimerkkiä tuohon painonappiohjaukseen?

Grez Älä kerro palvelun tarjoajalle, toiminut jo viisi vuotta, tuurilla;D

TapaniS [18.08.2016 14:06:31]

#

<form action="action_page.php">

Grez [18.08.2016 15:08:08]

#

novari kirjoitti:

Grez Älä kerro palvelun tarjoajalle, toiminut jo viisi vuotta, tuurilla;D

Juu, ilmeisesti siis palveluntarjoajallasi on normaalista poiketen puskurointi käytössä tai olet säätänyt jostain asetustiedostoista jotain mitä et vaivautunut kertomaan.

Joka tapauksessa virheilmoitus poistunee kun korjaat tuon tulostuksen vasta headerin lähettämisen jälkeen TAI jos haluat käyttää puskurointia niin varmistat että se on käytössä joka latauskerralla.

Chiman [18.08.2016 15:21:32]

#

Eli suoremmin sanottuna tiedoston lopun <?php...-osuus pitää siirtää aivan alkuun.

Lebe80 [19.08.2016 08:36:15]

#

Mieltä lämmittää edelleen nähdä "headers already sent" -ongelma, kaikkien näiden vuosien jälkeen.

Tämä oli aikoinaan oikeastaan ainoa virheilmoitus, johon alettiin hakea apua tältä foorumilta heti kun koulut olivat päättyneet ja kesälomat alkaneet.


Tässä vielä fixi:

<?php
if ($_POST["napi22"]!=""){
	header("Location: /pelit/jk_2016_syksy/tarkista.php"); //peli alkaa
 	exit;
	}
?>
<!DOCTYPE html>
<html>
<meta http-equiv="content-type" content="text/html;charset=utf-8"/>
<head>
	<title>Pelisivu</title>
	<LINK rel="stylesheet"
         type="text/css"
         href="pelisivu.css">

<script>
var i;
...
...
...

novari [19.08.2016 11:12:00]

#

Kiitos Lebe80, neuvollasi kaikki alkoi taas toimimaan. Suuret kiitokset vielä!

manninen [19.08.2016 21:58:54]

#

Klassikko!


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta