Olen siis muista esimerkeistä keräännyt koodi pätkiä ja muokannut niitä, tuloksena pitäisi saada ohjelma joka lisää textiboksiin antamasi tiedot tekstitiedoston loppuun/alkuun, korvaamatta kuitenkaan yhtään muuta riviä.
Kaikki seuraavat koodit on samalla sivulla, "oma2testi.php". vitsit.txt on chmod 777.
<?php if ($viesti != '') { $uusirivi = strip_tags($viesti) . '<br>'; $tiedosto = fopen('vitsit.txt', 'a'); fputs($tiedosto, $uusirivi); fclose($tiedosto); } ?>
<hr> <form action="oma2testi.php" method="post"> Vitsi: <input name="viesti" size="60"><br> <input type="submit" value=" Jätä vitsi "> </form> <br>
Sitten alempana sivua arvotaan yksi rivi tiedostosta: (tämä kyllä toimii, testasin yhden toisen tiedoston kanssa)
<?php $file = "vitsit.txt"; srand((double) microtime() * 1000000); $quotes = file($file); echo $quotes[rand(0, sizeof($quotes)-1)]; ?>
Ongelma siis siinä että tuo ei lisää textiboksiin kirjoitettua viestiä. Johtuuko siitä että siellä on jo noin 80 riviä tekstiä ?
Olen kokeillut laittaa $_POST tagillakin mutta ei auta
Onko alussa $viesti = $_POST["viesti"]? Jos register_globals on pois (yleensä), niin ilman sitä ei viesti tule.
Kokeillut olen juuri tuolla tavalla mutta ei auta.
Jos joku tietää paremman keinon lisätä yksi rivi tietoineen tekstitiedostoon niin kertokaa ihmeessä.
Tuo koodin saa toimimaan seuraavasti:
<?php if ($viesti != '') { $uusirivi = '<p><b>' . date('d.m.Y H:i') . ', ' . strip_tags($nimi) . '</b>: ' . strip_tags($viesti) . '</p>'; $tiedosto = fopen('vieraskirja.txt', 'a'); fputs($tiedosto, $uusirivi); fclose($tiedosto); } ?>
Mutta nyt pitäisi saada aina tieto uudelle riville, ilman päivämääriä sun muite.
Hmm, nyt toimii.. vähän huonosti tosin
->se lisää viimeisimmän rivin loppuun tiedot aina tähän muotoon:
<br>vitsi1<br>vitsi1<br>blabla<br>blabla<br>olenko vai en<br>ssss
vaikka pitäis saada muotoon:
vitsi 1
vitsi 2
asdf
asdf
asdf
f
Kokeileppa auttaako tuo pätkä mitään: http://www.kasetti.info/koodivinkit.php?koodi=13
Mutta mistäs sinä sen viestin saat?
Kirjoita sinne tiedostoon myös rivinvaihto:
$uusirivi = '<p><b>' . date('d.m.Y H:i') . ', ' . strip_tags($nimi) . '</b>: ' . strip_tags($viesti) . '</p>' . "\r\n";
squid kirjoitti:
Mutta mistäs sinä sen viestin saat?
tuon minkä laitoin 03.02.2006 22:02:49 ei ole tuollaisenaan valmis, jos sitä tarkoitit
älkää tuohon 03.02.2006 22:02:49 laitettuun viestiin kiinnittäkö huomiota kun pitäisi saada tuo ylimmäinen versio toimimaan :)
Nyt toimii:
<?php if ($_POST['viesti'] != '') { $uusirivi = strip_tags($_POST['viesti']) . "\r\n"; $tiedosto = fopen('vitsit.txt', 'a'); fputs($tiedosto, $uusirivi); fclose($tiedosto); } ?>
Aihe on jo aika vanha, joten et voi enää vastata siihen.