Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php & mysql] kolorowanie składni i nie wykonywanie się kodu php
Forum PHP.pl > Forum > Przedszkole
bl4ck_b0x
Witajcie. Mam pewien problem. Otóż napisałem sobie skrypt który wyświetla artykuły. Wszystko działa pięknie tylko jak np. w tym artykule zamieszczę kod php a w nim oczywiście jest echo to wykonuje się to co jest w tym echo zawarte! w jednym z artykułów miałem formularz i był on wyświetlany właśnie w echo :/ Chcę uniknąć takiej sytuacji ale nie wiem jak sobie z tym poradzić...

Próbowałem to zrobić za pomocą highlight_string($row['tresc']) i to zadziałało heh ale co z tego, że pokazywało kod HTML (nawet BR było pokazywane). Bardzo proszę o pomoc...

Oto kod art.php

  1. <?php
  2. require('config.php'); /*dolacz plik config.php i polacz sie z baza (ponizej) */
  3. @mysql_connect($host, $user, $pass) or die ('Nie można połączyć się z bazą danych!');
  4. @mysql_select_db($name) or die ('Nieprawidłowa nazwa bazy danych!');
  5.  
  6. $IP=$_SERVER['REMOTE_ADDR'];
  7. $SQL='SELECT COUNT(*) FROM ip WHERE IP=''.$IP.''';
  8. $Query=mysql_query($SQL);
  9. $Result=mysql_fetch_array($Query);
  10. $Ban=$Result[0];
  11.  
  12. if($Ban<>0)
  13. {
  14.  echo 'Zostales zbanowany!';
  15.  exit;
  16. }
  17.  
  18. $wybor=mysql_query('SELECT * FROM artykuly ORDER BY id DESC');
  19.  
  20. require('function.php'); /*dolacz plik*/
  21. if (isset($_GET['id'])) /*wyswietla konkretny artykul*/
  22. {
  23. $wyswietl=mysql_query('SELECT tytul,tresc,opis,autor FROM artykuly WHERE id='.$_GET['id'].';');
  24. $row=mysql_fetch_array($wyswietl);
  25. echo '<font size="+1">'.$row['tytul'].'</font><br /><br />';
  26. echo ''.Odbezpiecz($row['opis']).'<br /><br />';
  27. echo ''.Odbezpiecz($row['tresc']).'<br /><br />';
  28. echo 'Autor: '.Odbezpiecz($row['autor']).'<br /><br />';
  29. }
  30. else{
  31. while ($row=mysql_fetch_array($wybor)) /*tworzy petle i wyswietla listę artykulow */
  32. {
  33.  $id=$row['id'];
  34. echo '<a href="index.php?strona=art&id='.$id.'"><font size="+1">'.$row['tytul'].'</a></font><br /><br />';
  35. echo ''.$row['opis'].'<br /><br />';
  36. echo 'Dodano: '.$row['data'].',&nbsp;&nbsp;&nbsp;Dodał:&nbsp;'.$row['autor'].'<br /><br /><br /><br />';
  37. }
  38. }
  39. ?>
erix
  1. <?php
  2. preg_replace('#<?PHP(.*?)?>#si', '1', $dane)
  3. ?>
bl4ck_b0x
i gdzie mam to wkleić? tam gdzie wyświetla się ten artykuł?

zrobiłem tak:

  1. <?php
  2. if (isset($_GET['id'])) /*wyswietla konkretny artykul*/
  3. {
  4.  preg_replace('#<?PHP(.*?)?>#si', '1', $row['tresc']);
  5. $wyswietl=mysql_query('SELECT tytul,tresc,opis,autor FROM artykuly WHERE id='.$_GET['id'].';');
  6. $row=mysql_fetch_array($wyswietl);
  7. echo '<font size="+1">'.$row['tytul'].'</font><br /><br />';
  8. echo ''.Odbezpiecz($row['opis']).'<br /><br />';
  9. echo ''.Odbezpiecz($row['tresc']).'<br /><br />';
  10. echo 'Autor: '.Odbezpiecz($row['autor']).'<br /><br />';
  11. }
  12. ?>


ale nadal nie działa :/
erix
Prawie dobrze. ;]
Cytat
  1. preg_replace('#<?PHP(.*?)?>#si', '1', $row['tresc']);

Dopisz, gdzie mają się znaleźć przetworzone dane:
  1. $row['tresc'] = preg_replace('#<?PHP(.*?)?>#si', '1', $row['tresc']);


PS. Forum wycina niektóre znaki. Przed "<", ">" i "?" w pierwszej parze cudzysłowów wstaw "\" (backslasha).
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.