Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]bbcode w formularzu
Forum PHP.pl > Forum > Przedszkole
viamarimar
Moj problem polega na tym iz chce zeby zmienna $nazwa, ktora jest wprowadzona z formularza mogla "pobierac /uzywac" bbcode z funkcji bbcode. Wydaje mi sie ze robie wszystko ok aczkolwiek nie dostaje efektu jakiego oczekuje. Mógłby ktoś zerknąć w mój kod?

  1. <?php
  2.  
  3. function BBCode($tekst){
  4. $tekst = nl2br($tekst);
  5. $tekst = htmlspecialchars($tekst);
  6. $tekst = preg_replace("#\[b\](.*?)\[/b\]#si",'<b>\\1</b>',$tekst);
  7.  
  8. return($tekst);
  9. }
  10.  
  11.  
  12. echo '<table border="1">
  13. <form action="" method="post" >
  14. <tr>
  15. <td>Nazwa servera</td> <td><input type="text" name="nazwa" size="60" /></td>
  16. </tr>
  17. <tr>
  18. <td></td> <td><input type="submit" value="Generuj" /></td>
  19. </tr>
  20. </form>
  21. </table>';
  22.  
  23. $nazwa=$_POST['nazwa'];
  24.  
  25. echo '<table><tr>';
  26. echo '<td><b>Twoja nazwa:<br></b></td>';
  27. if (isset($_POST['nazwa']))
  28. { echo '<td>'.$_POST['nazwa'].'</td>'; } // tu wdlg mnie jest gdzies blad
  29. echo '</tr></table>';


Proszę o wskazanie jakąkolwiek podpowiedz, za wszystkie dziękuje.
minolone
Wypadałoby wywołać tę funkcje.

  1. BBCode($_POST['nazwa'])
viamarimar
Usunolem zbedna tabelke , dodalem wywolanie , ale najwyrazniej nie w tym miejscu ;/ , moze ktos powiedziec co zrobic aby to prawidlowo funkcjionowalo?

  1.  
  2. if (isset($_POST['nazwa']))
  3. { echo ''.BBCode($_POST['nazwa']).''; }
  4.  
  5.  



Jak zrobie np
  1. $zmienna = 'blablabla;
  2. $zmienna = bbcode($zmienna);
  3. echo $zmienna;

to wszystko jest ok ale chce aby zmienna $nazwa z formularza podlegala funkcji bbcode
minolone
Działa normalnie,
Wpisz

[ b ]Coś tam [ /b ] <-- usuń spacje

  1. <?php
  2.  
  3. function BBCode($tekst){
  4. $tekst = nl2br($tekst);
  5. $tekst = htmlspecialchars($tekst);
  6. $tekst = preg_replace("#\[b\](.*?)\[/b\]#si",'<b>\\1</b>',$tekst);
  7.  
  8. return($tekst);
  9. }
  10.  
  11.  
  12. echo '<table border="1">
  13. <form action="" method="post" >
  14. <tr>
  15. <td>Nazwa servera</td> <td><input type="text" name="nazwa" size="60" /></td>
  16. </tr>
  17. <tr>
  18. <td></td> <td><input type="submit" value="Generuj" /></td>
  19. </tr>
  20. </form>
  21. </table>';
  22.  
  23. $nazwa=$_POST['nazwa'];
  24.  
  25. if (isset($nazwa))
  26. { echo BBCode($nazwa); }
  27.  
  28. ?>
viamarimar
Chodzi mi o cos takiego jak ponizej..
minolone
Przecież kod działa prawidłowo, używając BBCode [ b ] i [ /b ] jest wszystko ok.
W nawias kwadratowy specjalnie wklejam spacje żeby się BBCode na forum nie uaktywnił.

http://ifotos.pl/zobacz/2012-04-1_rehsxqr.png/

zamień jeszcze to:
  1. <td><input type="text" name="nazwa" size="60" /></td>

na to:
  1. <td><input type="text" name="nazwa" size="60" value="'.$_POST['nazwa'].'" /></td>

przynajmniej będziesz widział co w formularz wpisujesz

Możesz skorzystać też z klasy napisanej przez użytkownika wookieb
http://forum.php.pl/index.php?showtopic=115269
viamarimar
dzieki do zamkniecia ;
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.