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; } ?>
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.
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
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
<form action="action_page.php">
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.
Eli suoremmin sanottuna tiedoston lopun <?php...-osuus pitää siirtää aivan alkuun.
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; ... ... ...
Kiitos Lebe80, neuvollasi kaikki alkoi taas toimimaan. Suuret kiitokset vielä!
Klassikko!
Aihe on jo aika vanha, joten et voi enää vastata siihen.