Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML]Od czego zależy przełamanie wiersza w formularzu
Forum PHP.pl > Forum > Przedszkole
grattz
W skrócie:
Wypełniam formularz posta który ma taką postać :
Kod
Wyraz1
Wyraz2
Wyraz3


A na stronie wyświetla mi się:
Kod
Wyraz1 Wyraz2 Wyraz3
franki01
nl2br" title="Zobacz w manualu PHP" target="_manual


  1. <?php
  2. nl2br($_POST['zmienna']);
  3. ?>

lub ewentualnie, jeżeli są włączone gpc_magic_quotes w php.ini

  1. <?php
  2. nl2br(stripslashes($_POST['zmienna']));
  3. ?>
grattz
Mam:
Kod
Magic quotes for incoming GET/POST/Cookie data.
magic_quotes_gpc = On



Czy ja to daje w dobrym miejscu ?
  1. <TEXTAREA NAME="tresc_posta" COLS="64" ROWS="6"><?php echo nl2br(stripslashes($_POST['tresc_posta'])); ?></TEXTAREA>

Żadnych błędów nie ma, ale dalej text sie nie łamie. (W SQL widać ze zapisują sie przełamania wiersza w postaci odwróconej literki R)

Jeszcze text przechodzi przez małą funkcję konwertującą ale ona chyba tu nie przeszkadza:
  1. <?php
  2. function konwertuj($s)
  3.  {
  4. $s=strip_tags($s,'<b><i><u>');
  5. $s=stripslashes($s);
  6. $s=str_replace('"','&quot;',$s);
  7. return ($s);
  8.  }
  9. ?>
franki01
Eh... Nie doczytalem, ze to ma byc w textarea. nl2br jest wtedy niepotrzebne. I może opisz dokładniej, o co chodzi, bo się trochę zakręciłem. Po wypełnieniu formularza, zawartość pewnego pola textarea chcesz znowu pokazać w tym polu, czy z bazy danych są te dane do pokazania?
grattz
A wiec:
Stworzyłem forum.
Wypełnia sie tam treść posta w formularzu( tym który wkleiłem: TEXTAREA ).
Ta idzie do bazy danych.
Potem wyświetla sie jako text na stronie forum. ( text który mimo ze był łamany enterem w TEXTAREA to wyświetla sie na stronie bez przełamania)
franki01
Patrzyles w kod zrodlowy strony, czy tam jest ten tekst w nowych liniach, czy w jednym ciągu (bez przełamania)? Jezeli tam nie jest przlamany, to moze przy dodawaniu do bazy jest coś zmieniane? Wyswietl zapytanie, ktore dodaje post do bazy i zobacz kod zrodlowy strony, zeby wiedziec, czy tam są przełamania wierszy.
franki01
Troche nierozumiem, po co w bazie masz trzymac tekst z tagami... Przy edycji te tagi bylyby pokazane. Lepiej oprawiac tekst w <br> dopiero przy pokazywaniu go na stronie, a w formularzu i w bazie danych zeby byl bez <br>...

Przy pokazywaniu:

  1. <?php
  2. echo nl2br($wiersz['kolumna']);
  3. ?>


A trzymane w bazie niech bedzie w nienaruszonej postaci, bez tagów html... Chyba o to Ci chodzi, tak?
marcio
A moze chodzi o to jak mam tak i wszystko dziala
  1. <?php
  2. $zmienna = str_replace("r\n", "<Br>", $zmienna);
  3. ?>

Cos takiego

P.S potem to tak zapisujesz do bazy lub robisz z tego funkcje i przy wyswietlaniu parsujesz
grattz
Tak. Teraz jest dobrze. Dzięki wielkie Wam za pomoc guitar.gif
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.