Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Jak wyłączyc wysyłanie enterem
Forum PHP.pl > Forum > Przedszkole
Katamryta
Mam taki skrypt który ma dodawac newsy. Nie znam się zupełnie na php, dostałam go "w prezencie". problem polega na tym, że newsy mam dodawac nie tylko ja i ponoc problemem jest pisanie <br> aby przejść do niższej linijki. Poza tym wiele osób automatycznie wciska enter alby przejsc nizej, a wtedy dany post jest dzielony na czesci i zapisuje sie jakos oddzielnie. Moj problem polega na tym jak zrobic żeby po nacisnieciu entera przechodzilo sie do nastepnej linijki, a wysyłanie calosci odbywalo sie wylacznie po kliknieciu przycisku "zapisz"


[quote]"<?
/*
skrypt który dodaje newsy
*/
function dodaj($kto,$co){
$data = date('Y-m-d H:i');
$nazwapliku = 'news.txt';
$p = '{|}';
$trochetresci = $data.$p.$kto.$p.$co."\n";
if (is_writable($nazwapliku)) {
if (!$uchwyt = fopen($nazwapliku, 'a')) {
echo "Nie mog&ecirc; otworzy&aelig; pliku ($nazwapliku)";
return 0;
}
if (fwrite($uchwyt, $trochetresci) === FALSE) {
echo "Nie mog&ecirc; zapisa&aelig; do pliku ($nazwapliku)";
return 0;
}

echo "Sukces";

fclose($uchwyt);

}
else {
echo "Plik $nazwapliku nie jest zapisywalny";
}
}
?>
<html>
<head></head>
<body bgcolor="#345e8e">


<? if (!$_GET['zapisz']) { ?>
<form method="GET" action="dodaj.php">
<table>
<tr>
<td>

<div align="center">
<input name="nick" type="text"><font size="2" color="#f7c478" face="Arial,Helvetica,Geneva,Swiss,SunSans-Regular"><b>Nick/Podpis</b></font></div>
</td>
</tr>
<tr>
<td><textarea cols='81' rows='13' name='tresc'></textarea></td>
</tr>
<tr>
<td><input type='submit' name='zapisz' value='Zapisz'></td>
</tr>
</table>
</form>
<?
}
else {
dodaj($_GET['nick'],$_GET['tresc']);
}
?>
</body>
</html>
Ja_Szczur
  1. // uwaga, kod php jako html, bo źle koloruje składnię! ;p
  2. $co = str_replace( "\r", "", $co ); // usunięcie \r
  3. $co = str_replace( "\n", '<br/>', $co ); // zamiana "enterów" [\n] na <br/>
  4.  
  5. $trochetresci = $data.$p.$kto.$p.$co."\n";


przy edycji dodaj sobie

  1. print'<textarea>'. str_replace( array( '<br>', '<br/>', '<br />' ), "\n", $tresc_newsa ) '.</textarea>';


zamieni <br> na "entery"
Katamryta
Dziękuje serdecznie za pomoc
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.