Olen tehnyt kotisivuilleni ns. vieraskirjan jossa on sellainen ominaisuus että jokainen käyttäjä voi vastata viestiin.
Nyt haluaisin että olemassa olevat viestit näkyvät vastauksen kirjoittamisen aikana mutta minulta tuo ei näytä onnistuvan. Täytyisi saada avattua textarea lukuikkunan yläosaan ilman että se peittäisi kaikkea viestinlukuikkunaa.
Viestinluvun aikana tuota kirjoitusikkunaa ei tarvitsisi näkyä vaan ainoastaan kirjoittamisen aikana.
Miten tuo olisi järkevintä toteuttaa? Olen selannut nettiä ja senverran tajusin että se voisi onnistua iframe tai div:llä, olenko oikeilla jäljillä?
Kummallakaan en leikkinyt joten pieni koodipätkä josta ilmenee periaate olisi kiva saada, kiitos!
Olet aivan väärillä jäljillä, ei ole kyse mistään noin mutkikkaasta.
Tee ensin koodi, joka tulostaa viestit. Tee sitten koodi, joka tulostaa vastauslomakkeen. Laita lopuksi nämä koodit peräkkäin.
Kiitos neuvosta, sain heti tehtyä tuon ominaisuuden kun ajatukset menivät oikeille raiteille. Eikä ollut vaikea toteuttaa.
Smileyt taitaa olla aika vaikea saada tuohon kirjoitusohjelmaan koska jostain olin lukevinani että textarea ei tue kuvia. Onko tuo totta?
Hymiöt voi toteuttaa sillä tavoin, että käyttäjä kirjoittaa textareaan hymiön tekstinä (esim. ":D") ja sitten korvaat sen tekstin tulostusvaiheessa <img>-tagilla.
Voithan laittaa siihen myös wysiwyg-editorin, jolloin saat kuvien lisäilyn lisäksi myös vaikkapa tekstin muotoilun:
Minulla on ongelmia saada hymiö muutettua kuvaksi, näin :) > smiley.gif. Saan kuvat tulemaan textarean yläpuolelle ja kun pallukkaa painaa niin vastaava koodi tulee kursorin paikkaan textareaan.
Miten tuo vaihto oikeaoppisesti suoritetaan jotta vaihto onnistuu kun $teksti tulostetaan ohjelmassa?
Tällainen on vaihtokoodi joka on Antin esimerkki mutta ei toimi minulla:
<?php $ka = "<img src=\""; $kl = ".gif\">"; $ennen=array(":)",":(",":P",":O",":D",";)","8)",":<",":-(","3:D","??",":/",":|",";D"); $jalkeen=array("{$ka}smiley{$kl}","{$ka}sad{$kl}","{$ka}tongue{$kl}","{$ka}shocked{$kl}","{$ka}laugh{$kl}", "{$ka}wink{$kl}","{$ka}cool{$kl}","{$ka}angry{$kl}","{$ka}cry{$kl}","{$ka}evil{$kl}","{$ka}up{$kl}","{$ka}down{$kl}", "{$ka}emb{$kl}","{$ka}light{$kl}"); $teksti = str_replace($ennen,$jalkeen,$teksti); ?>
Tulostaa vain <img src="smiley.gif"> tekstin seassa.
Kuvat on samassa tiedostossa kuin itse ohjelma joten polkua ei varmaankaan tarvi antaa. Olen tosin yrittänyt url:n kanssa mutta huonolla menestyksellä.
Vai tarviiko tulostusvaiheessa ottaa jotain huomioon? Tulostan viestit echo:lla aivan kuin Antin esimerkissä.
Ethän käytä mitään htmlspecialchars funktiota, joka muuntaa esimerkiksi < merkin tulostettavaan muotoon.
No tietenkin siellä oli sellainen! Tämä kirjoitusohjelma oli ennen ihan teksti muotoinen mutta aloin lisäilemään tähän muita ominaissuksia niin tuo unohtui.
Kiitti sinulle oikein paljon!
Tietenkin sellainen myös pitää olla siellä, mutta tee hymiöiden korvaus vasta htmlspecialcharsin jälkeen. (Muista, että "<" onkin tässä vaiheessa "<".)
Toimii edelleen tuon Metabolix:n vinkin jälkeen, erittäin paljon kiitoksia!
Aihe on jo aika vanha, joten et voi enää vastata siihen.