Tää kysely menee jo melkein spämmiks mutta laitetaan nyt ;D Tarkoituksena on siis lähettää formin kautta uutinen (otsikko ja teksti) tietokantaan, josta ne sitten kalastetaan myöhemmin uutis-sivulle. Muuten olen saanut toimimaan moitteetta, mutta rivinvaihdoissa on hämminkiä: rivinvaihdot häviää, ja tilalle tulee välilyöntejä. Esimerkki, kirjoitan formiin
Terve, rivi1 rivi2
joka taas menee suoraan tietokantaan. Kun tulostan tuon tekstin tietokannasta, niin tulee
Terve, rivi1 rivi2
Eli miten saisin näkymään tuon oikein?
Form:
<form action='index.php'> Kirjoittaja:</td><td><input class='textbox' type='text' name='kirjoittaja' /> Otsikko:</td><td><input class='textbox' type='text' name='otsikko' /> Teksti:</td><td><textarea class='txtbox' name='teksti' cols='50' rows='14' wrap=hard></textarea> <input class='button' type='submit' value='Lisää!' /> </form>";
Kantaan lisäys ja sieltä haku:
INSERT INTO uutiset (teksti) VALUES ($_GET['teksti']) SELECT teksti FROM uutiset
Muuta rivinvaihto br:ksi. nl2br()
Rivinvaihdot uskoakseni kyllä menevät kantaan, ja tulevatkin sieltä ihan oikein. HTML ei vain välitä normaaleista rivinvaihdoista, vaan sinun tulee käyttään HTML rivinvaihtoa, <br/> tagia. Jos tämä on ongelma, ratkeaa se ajamalla tietokannasta haettu tulos PHP:n nl2br-funktion lävitse ennen tulostusta:
https://www.php.net/nl2br
Aihe on jo aika vanha, joten et voi enää vastata siihen.