HUOM!
Tällä asialla on hyvin kiire. Domaini on tilattu, ja on ihan juuri pian käytössä. Ja pian menen lomalle pariksi viikoksi. Olen yrittänyt koko päivän ratkaista tätä! KIIRE!
Elikkäs ongelmani koskee headereissä. Voitte käydä katsomassa osoitteessa http://cpp.dy.fi/laitilagallup/aanestyspoyta.php. Kirjoittakaa tuohon tekstiä ja painakaa 'Lähetä viesti'. Sitten tulee valitus headereista. Lähdekoodi on tämmöinen:
<?php if(isset($_COOKIE['ViestiOdotus'])) { die("Sinun tarvitsee odottaa vähintään 30-sekuntia äänestysten välillä!"); } if(strlen($_POST['nimimerkki']) < 4) { die("Nimimerkin täytyy olla vähintään 4-merkkiä pitkä! Nimimerkkisi pituus oli " . strlen($_POST['nimimerkki']) . "-merkkiä!"); } if(strlen($_POST['viesti']) < 25) { die("Viestin täytyy olla vähintään 25-merkkiä pitkä! Viestisi pituus oli " . strlen($_POST['viesti']) . "-merkkiä!"); } $filu = fopen("viestit.txt", "a"); $kello = date("d.m.Y") . " " . date("H:i:s"); $kellonaika = htmlspecialchars($kello); $nimimerkki = htmlspecialchars($_POST['nimimerkki']); $viestifilter = htmlspecialchars($_POST['viesti']); $viesti = str_replace("\n", "<br>", $viestifilter); $tallennus = $kellonaika . "|" . $nimimerkki . "|" . $viesti . "\n"; $bufferi = fread($filu, 8194); setcookie("ViestiOdotus", "LaitilaGallup", time() + 30); fwrite($filu, $tallennus); fclose($filu); ?>
Omalla apachella kyllä tuo toimii, mutta ei tuolla servulla. Missä vika?
LIÄSYS: Anteeksi kirjoitusasun raiskaaminen, olen vähän hätijöiden kirjoittanut tuon.
EDIT: Pulssi 120 :)
Voiko keksejä määritellä enää keskellä koodia? "Setcookie("ViestiOdotus", "LaitilaGallup", time() + 30);" Villi veikkaus, mutta tuo error ainakin viittaa siihen että teet jotain kun se ei enää ole mahdollista. ;) Muokkaat siis jotain headerien kautta menevää tietoa.
Hahhah voititko tarjouskilpailun sivuista? Virheilmotushan on ihan selkeä, tulostat jotain ennen otsikkotietojen lähetystä.
Eli mitä koodissa pitäisi muuttaa??
Elä aseta keksiä :). Ts. aseta se siellä sivun alussa. Saatko tästä ihan rahhaakin?
Auttaisiko istunnot?
Ei, keksien kautta nekin toimii. Tuon "spämmieston" hyödyllisyydestä voi kyllä olla montaa mieltä.
Mutta miten tuon sitten saisi toimimaan mahdollisimman vähän mitään muuttamatta?
#setcookie
Aseta tuo keksi vaikka sen varsinaisen htm sivun alussa, älä tuon skriptin keskellä. Kun lataat sivun, se asettaa keksin. Eli siis aanestyspoyta.php:n alussa.
Toimii! Kiitos kaikille avusta!
Aihe on jo aika vanha, joten et voi enää vastata siihen.