Tein PHP:llä vieraskirjan jossa tiedon tallennuspaikkana tekstitiedosto.
Toimii muuten hyvin, mutta mitään se ei tiedostoon tallenna. Voisiko vika olla, että en ole antanut chmod arvoja tiedostolle? Jos, niin millaiset arvot sille tulisi antaa?
Toimii muuten hyvin, mutta mitään se ei tiedostoon tallenna. Voisiko vika olla, että en ole antanut chmod arvoja tiedostolle? Jos, niin millaiset arvot sille tulisi antaa?
Vastaukset 11
Vanhimmat
alkuun 777 ja pienennä tarvittaessa
777 ja 666, ei toimi. Lienee siis vikaa koodissa?
Käytät vanhaa vieraskirjaa joka on koodattu silloin kun register-global oli oletuksena on, nykyään se on off.
echo $nimi; // tulostaa tyhjää
echo $_GET['nimi']; // tulostaa annetun nimen
enhän minä niitä viestejä echolla tulosta...
siis talletan viestit tekstitiedostoon ja sen jälkeen luen viestit tekstitiedostosta?
Niin tuo oli vain esimerkki tuosta ongelmasta. Selitetään tarkemmin jos koodissasi on
tallenna_tiedostoon($nimi); tai miten nyt siellä onkaan, niin sinne ei mene mitään koska tuo $nimi on tyhjä.
tallenna_tiedostoon($_GET['nimi']); // tallentaa nimen tiedostoon. Ja jos käytät lomakkeessa post metodia niin silloin $_POST['nimi']
Kun vieraskirja on omatekemäsi niin korvaa tiedostoon tallennus juttu echolla niin näät mitä se sinne tiedostoon yrittää tallentaa.
Ja jos sulla on PHP5 niin käytä http://fi2.php.net/manual/fi/function.file-put-contents.php
Ja onkos sulla virheilmoitukset näkyvissä?
http://wiki.mureakuha.com/wiki/PHP:n_virheilmoitukset
Sillä PHP antaa erroreita jos tallennus ei onnistu.
eli nyt se jopa tulostaa jotain, se tulostaa "ei voitu kirjoittaa" ja koodihan on seuraavanlainen:
Vieraskirjan viestit
Sama vika vielkin on. Kun $viesti muuttuja on aina tyhjä jotenka else toteutuu.
Vaihdappas tuo iffi -> if(isset($_POST['viesti']))
Warning: fwrite(): supplied argument is not a valid stream resource in...
Warning: fwrite(): supplied argument is not a valid stream resource in...
Warning: fclose(): supplied argument is not a valid stream resource in...
tuollaista pukkaa?
Sul on pikkuinen virhe tässä
$filu = "vieraskirja.txt";
$tiedosto = fopen("vieraskirja.txt", "a");
fwrite($filu, $_POST['nimi'] . ":");
fwrite($filu, $_POST['viesti'] . "");
fclose($filu);
Sun pitää kirjoittaa tiedostoon ja sulkea se, ei tiedoston nimeen.
nyt näittäisi pelittävän!