Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: ENTER kirjoittaa txt-tiedostoon <br>? (PHP)

Sivun loppuun

Pelto [13.06.2008 15:49:24]

#

Elikkä ongelmana on se, että otan tekstilaatikossa kirjoitetun uutisen tällä skriptillä, mutta kun haluaa tehdä rivinvaihdon pitää kirjoittaa <br>, haluaisinkin niin, että kun painaa enter-näppäintä se kirjoittaa tuohon tekstitiedostoon <br>.
Eli esimerkiksi näin: eka rivi<br>toinen rivi<br>kolmasrivi.

Miten tälläisen saisi toteutettua?

<?php
$viesti = stripslashes(htmlspecialchars("".$_POST['viesti'].""));
$viesti = str_replace("\n", "<BR>\n", $viesti);
$paivamaara = date("d.m.Y H:i:s");
$avaa = fopen("uutiset.txt", "a");
fputs($avaa,"".$_POST['nimi']."|");
fwrite($avaa, "$paivamaara");
fwrite($avaa, "|");
fputs($avaa,"".$_POST['otsikko']."|");
fputs($avaa,"".$_POST['viesti']."");
fputs($avaa, "\r\n");
fclose($avaa);

header( "Location: ../index.php" );
?>

Niko [13.06.2008 15:52:20]

#

$viesti = str_replace("\n", "<BR>\n", $viesti);

fputs($avaa,"".$_POST['viesti']."");

Kirjoita toi muokattu alkuperäisen sijaaan.

Pelto [13.06.2008 16:11:20]

#

Nyt meni kyllä yli ymmärryksen, siis noihan on samat komennot mitä tuolla jo lukee?

eMZii [13.06.2008 16:13:03]

#

helpoiten onnistuu nl2br-functiolla lukuvaiheessa, ei tule <br>:iä tekstiin, pelkästään html:n sekaan

$file = fopen("uutiset.txt", "r");

while(!feof($file))
{
echo nl2br(fgets($file));
}
fclose($file);

Pelto [13.06.2008 16:26:19]

#

Uutisen tulostaja on tälläinen:

<?php
$file = file("admin/uutiset.txt");
$file = array_reverse($file);
$i = 0;

$filu = file("admin/uutiset.txt");
$mont2 = count($filu);
$yht = $mont2;
echo "<i>Yhteensä <b>$yht</b> uutista</i><br><hr>";

foreach ($file as $i => $value) {
if ($i < 4) {
$eroteltuviesti = explode("|", $value);

echo ('<table>' . 'Kirjoittaja: ' . '<b>' . $eroteltuviesti[0] . '</b>' . '  Julkaistu: ' . '<b>' . $eroteltuviesti[1] . '</b>' . '<br>' . '<h1>' . $eroteltuviesti[2] . '</h1>' . '<br>' . $eroteltuviesti[3] . '</table><hr>');
}
$i++;
}
?>

ajv [14.06.2008 08:16:16]

#

Pelto kirjoitti:

Nyt meni kyllä yli ymmärryksen, siis noihan on samat komennot mitä tuolla jo lukee?

Niko tarkoitti, että korjaa rivi muotoon

fputs($avaa,"".$viesti."");

Eli kirjoitat tuon muokatun merkkijonon sinne tiedostoon sen sijaan, että kirjoitat suoraan tekstikentän sisällön ($_POST...).

tsuriga [14.06.2008 09:47:19]

#

Ja vielä fputs( $avaa, $viesti ), eli usein näkee ihan turhaan ympättävän tuota tyhjää merkkijonoa muuttujiin. Location otsakkeelle absoluuttista URLia speksien mukaan, jotenkin näin jos nyt satun oikean indeksin muistamaan:

<?php
$host = $_SERVER[ 'SERVER_NAME' ];
$page = 'index.php';
header( "Location: http://{$host}/{$page}" );
?>

Pelto [14.06.2008 18:58:49]

#

Juu kiitoksia, nyt sain toimimaan halutulla tavalla.


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta