Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][PHP] Wyświetlanie skryptu php z mysql jako tekst
Forum PHP.pl > Forum > Przedszkole
Kloc
Witam, jak mogę wyświetlić skrypt php z bazy jako tekst na stronie?
Kiedy robię tak:

  1. <!doctype html>
  2. <html>
  3. <head>
  4.  
  5. <meta charset="UTF-8"/>
  6.  
  7. </head>
  8. <body>
  9.  
  10. <pre>
  11.  
  12. <?Php
  13.  
  14. include("check.php");
  15.  
  16. $zapytanie = "SELECT * FROM `Utf8`";
  17. $idzzapytanie = mysql_query($zapytanie);
  18. while($rekord = mysql_fetch_array($idzzapytanie)){
  19. echo "$rekord[0] i $rekord[1]";
  20. }
  21.  
  22. ?>
  23.  
  24. </pre>
  25.  
  26. </body>
  27. </html>
  28.  
  29.  


Nie wyświetla mi się nic, ponieważ w bazie mam (w miejscu $rekord[1]) taki tekst:
Kod
<?Php echo"Hello world"; ?>


Ale gdy usunę z niego <?Php oraz ?> to nagle działa i wyświetla
Kod
echo"Hello world";


Teks trzymam w polu longtext
Kshyhoo
Wrzuć w znaczniki PRE.
Kloc
Wrzucam cały skrypt php pomiędzy <pre> </pre> i nie pomaga :/
_Borys_
Albo
  1. echo htmlspecialchars("$rekord[0] i $rekord[1]");

albo gdy chcesz pokolorować
  1. highlight_string("$rekord[0] i $rekord[1]");

<pre></pre> zostaje
Kloc
Pięknie dział wink.gif
tomxx
Cytat(Kloc @ 1.02.2014, 19:27:23 ) *
Nie wyświetla mi się nic, ponieważ w bazie mam (w miejscu $rekord[1]) taki tekst:
Kod
<?Php echo"Hello world"; ?>


Ale gdy usunę z niego <?Php oraz ?> to nagle działa i wyświetla
Kod
echo"Hello world";
W bazie trzymasz kod, ale PHP tylko wysyła ten kod na stronę i przeglądarka go dostaje, więc go nie wyświetla. Przykładowo, jeśli napiszesz:
  1. <?php echo "<?php echo 'Hello, World!' ?>" ?>
to czy Ci się wyświetli Hello, World! na stronie? smile.gif
Kloc
Teraz wymyśliłem sobie, że chciałbym zrobić linki do manuala w skrypcie tak jak jest tutaj,
więc robię tak:

  1. <?Php
  2.  
  3. include("check.php");
  4.  
  5. function code($rekord){
  6. $rekord = str_replace("while", "<a href=\"\">while</a>", $rekord);
  7. $rekord = highlight_string($rekord);
  8. return nl2br($rekord);
  9. }
  10.  
  11.  
  12. $zapytanie = "SELECT * FROM `Utf8`";
  13. $idzzapytanie = mysql_query($zapytanie);
  14. while($rekord = mysql_fetch_array($idzzapytanie)){
  15. echo "<pre>". code($rekord[1])."</pre>" ;
  16. }
  17.  
  18. ?>


Przykład powinien zrobić "pusty" link ze słowa while, ale nie robi, ponieważ to wszystko przelatuje przez highlight_string() i to mi zamienia na wyświetlony tekst
W baze wsadziłem taki skrypt:

Kod
<?Php

include("check.php");

$zapytanie = "SELECT * FROM `Utf8`";
$idzzapytanie = mysql_query($zapytanie);
    while($rekord = mysql_fetch_array($idzzapytanie)){
        echo highlight_string("$rekord[1]");
    }

?>


A wyświetla mi się:

Kod
<?Php

include("check.php");

$zapytanie = "SELECT * FROM `Utf8`";
$idzzapytanie = mysql_query($zapytanie);
    <a href=\"\">while</a>($rekord = mysql_fetch_array($idzzapytanie)){
        echo highlight_string("$rekord[1]");
    }

?>
Kshyhoo
Zainteresuj się bb-code, pełno tego w necie.
Kloc
Wiem jak zrobić bb-code wink.gif, tylko właśnie nie wiem jak to połączyć aby nie wyświetlało mi nie zamienionego tekstu.
...Chyba mnie coś mi się przebłysło. Spróbuję najpierw wyświetlić tekst a następnie go przepuścić przez bb-code biggrin.gif
Czyli:

  1. echo "<pre>". bbcode(highlight_string($rekord[1]))."</pre>" ;
Kloc
Już znalazłem na to odpowiedni sposób, teraz tylko mam problem z takim problemem. Mam w bazie tabele a w niej pole "Kod". W tym polu jest jakiś skrypt. Jak mogę zliczyć ile ten skrypt zawiera linijek?.
Próbowałem z file()

  1. $file = file($rekord[1]);


Ale to chyba nie działa w połączeniu z bazą mysql.
Turson
Explode() skryptu według nowej linii + zliczenie ile elementów tablicy wyjdzie
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.