MySQL Veritabanı içindeki PHP değişkenleri çağırıyor

3 Cevap php

Ben düz bir MySQL veritabanına kaydedilen bilgilerden web sitesi kuran bir CMS sistemi üzerinde çalışan ortasında anda yaşıyorum.

İşte ben yaşıyorum sorun:

  • CMS içindeki kullanıcı bir şablon için kodlama girer
  • sitede (frontend.php) ait önyüz düzeni saklanır değişkeni ($ template_header) çağırır
  • Önuç ayrıca CMS yoluyla saklandığı veritabanı, menü kodu çekerek değişken $ menu_code oluşturur
  • Şablon kod içine, o kadar alınacak frontend.php tarafından çalıştırılan bu değişken için bir mola, olmak zorunda.

Bu benim çalıştığım budur:

frontend.php inside:

echo $template_header;

$ template_header içinde:

<tr><td><center>'.$menu_code.'</center></td></tr>

Ne frontend.php IE çalıştırdığınızda gibi görünmelidir:

<tr><td><center><script>rest of menu coding in here</script></center></td></tr>

Ben çalıştırmak ne zaman neye benzediğini:

<tr><td><center>'.$menu_code.'</center></td></tr>

o metin gibi görüntüler. Muhtemelen basit bir sorun ama herhangi bir yardım bu kadar proje ile sıkı bir süre, takdir edilecek ve herhangi bir tavsiye büyük mutluluk duyacağız. Teşekkürler

3 Cevap

Seni doğru anladıysam değiştirin basit bir hile yapardı:

$template_data = "<tr><td><center>{%REPLACE_WITH_CONTENT%}</center></td></tr>";
$template_data = str_replace("{%REPLACE_WITH_CONTENT%}", $menu_code, $template_data);

Ben doğru anlamak Eğer eval() istediğim gibi, bu metin değil, PHP olarak kabul edilecektir $ menu_code için herhangi bir başvuru anlam, PHP kodu olarak bir dize yorumlamak ve hangi duyulur.

Manuel:

<?php
  $string = 'cup';
  $name = 'coffee';
  $str = 'This is a $string with my $name in it.';
  echo $str. "\n";
  eval("\$str = \"$str\";");
  echo $str. "\n";
?>

Aşağıdaki Çıkışlar

This is a $string with my $name in it.
This is a cup with my coffee in it.

Warning!!!!

Açıklamalarda belirttiği gibi, bu yöntem (eval ()) bize büyük güvenlik-sorunlar için bir kapı açar. Bu yöntem çok tehlikeli olabilir, keyfi kod değerlendirecektir.

Ne arıyor gibi görünüyor olduğunu:

eval( $menu_code );