Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Kod php w mysql
Forum PHP.pl > Forum > Przedszkole
ZuyPan
Witam

Jak wykonać kod php zawarty w odczytywanym rekordzie z mysql?

odczytanie ma postać
  1. <title><?php echo $konfiguracja['nazwa_strony']; ?></title>

rekord w mysql "PerfectMT2 - $tytul_strony | Prywatny Serwer Metin2 | Zapraszamy! "
zmienna $tytul_strony jest deklarowana na samym początku strony co zrobić aby wyświetlając tytuł strony wyświetląło też zawartość tej zmiennej ?
kipero
Istnieje funkcja eval, która wykonuje podany kod PHP. Musisz tylko wyciągnąć wyrażeniami regularnymi kod zawarty między <?php a ?>.
ZuyPan
powiem wprost - nie umiem używać tej funkcji wstydnis.gif Ten jeden jedyny raz pokażecie mi to na przykładzie problemu z pierwszego postu ?
oprener
eval
A wracając do tematu.
Musisz pobrać z bazy rekordy przed wyświetleniem zmiennej, najlepiej na początku strony.
krzysztof_kf
Cytat(ZuyPan @ 17.07.2010, 18:38:21 ) *
Witam

Jak wykonać kod php zawarty w odczytywanym rekordzie z mysql?

odczytanie ma postać
  1. <title><?php echo $konfiguracja['nazwa_strony']; ?></title>

rekord w mysql "PerfectMT2 - $tytul_strony | Prywatny Serwer Metin2 | Zapraszamy! "
zmienna $tytul_strony jest deklarowana na samym początku strony co zrobić aby wyświetlając tytuł strony wyświetląło też zawartość tej zmiennej ?


zapoznaj się z tym tematem Jak poprawnie zadać pytanie
kipero
Napisałem coś takiego na szybko. Działa, ale zastanów się, czy aby na pewno konieczne jest trzymanie kodu PHP w bazie danych. To dość niebezpieczne.
  1. <?php
  2. $konfiguracja['nazwa_strony'] = 'Lorem ipsum dolor sit amet';
  3.  
  4. $text = '<title><?php echo $konfiguracja[\'nazwa_strony\']; ?></title>';
  5.  
  6. preg_match_all('#<\?php(.*)\?>#Usi', $text, $matches);
  7. foreach ($matches[1] as $key => $value){
  8. eval($value);
  9. $text = str_replace($matches[0][$key], ob_get_clean(), $text);
  10. }
  11.  
  12. echo $text;
  13. ?>
ZuyPan
Przykro mi, nie działa... oto kod który mam w pliki:

  1. $tytul_strony = 'Strona główna';
  2. $baza1 = 'perfectmt2';
  3. $baza2 = 'account';
  4. include ('includes/config.php');
  5.  
  6. if ($_GET['akcja'] == strona && $_GET['strona']){
  7. $strona = $_GET['strona'];
  8. $zapytanie = "SELECT tytul FROM strony WHERE strona= '$strona'";
  9. $query = mysql_query($zapytanie, $polaczenie1);
  10. $rekord = mysql_fetch_assoc($query);
  11. $tytul_strony = $rekord['tytul'];
  12. }else{
  13.  
  14. $text = '<?php echo $konfiguracja[\'nazwa_strony\']; ?>';
  15. preg_match_all('#<\?php(.*)\?>#Usi', $text, $matches);
  16. foreach ($matches[1] as $key => $value){
  17. eval($value);
  18. $tytul_strony = str_replace($matches[0][$key], ob_get_clean(), $text);
  19. }
  20.  
  21. }
  22.  
  23. ?>
  24. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  25. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl" dir="ltr">
  26. <head>
  27. <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
  28. <meta name="keywords" content="<?php echo $konfiguracja['slowa_kluczowe']; ?>" />
  29. <meta name="Description" content="<?php echo $konfiguracja['opis_strony']; ?>" />
  30. <title> <?php echo $tytul_strony; ?> </title>
  31. </head>
gigzorr
no a jak ma dzialac jak w linii pierwszej do 13 nie widze znacznikow i serwer nie łapie , że to php?
ZuyPan
a nie pomyślałeś/aś, że najzwyczajniej w świecie ich to nie wpisałem ? -.- Problem mam ale nie jestem idiotą
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.