2014-02-06 78 views
0

我有一個客戶端,它具有一個自定義的CMS。 HTML聯繫表單頁面存儲在MySQL表格中。 我需要修改表單,並且需要將PHP和MySQL查詢添加到表單中,以便將值存儲在同一數據庫上的另一個表上。在PHP上存儲PHP代碼並讓它運行

當我嘗試在該表單上插入PHP代碼時(在MySQL表上),php代碼不會呈現。舉例來說,如果我在的存儲在數據庫領域的瀏覽器的HTML代碼中間添加

<?php echo "string"; ?> 

呈現:

<!--?php echo "string"; ?--> 

因此,未顯示。

編輯:

我對DB和需要修改如下:

我存儲在數據庫和一個輸入是一個文本框的形式。需要將其更改爲下拉菜單,並從其中一個數據庫表字段填充選項。因此,需要在HTML表單中間輸入php和mysql查詢...

+0

你真的需要張貼代碼示例任何人來診斷和幫助你解決這個問題。 –

+5

我的意思是這個謙虛,沒有試圖遇到苛刻,但這是一個可怕的想法。 –

+0

OP本來實際上包含了代碼,但沒有正確格式化,因此它沒有呈現爲可見狀態。 – eebbesen

回答

0
$str = '<?php echo "string"; ?>'; // Your DB content 

eval("?> $str <?php "); 
+1

雖然它是一個不好的做法以分貝形式存儲php代碼並像這樣使用它。相反,人們應該使用像Smarty這樣的模板引擎。 –

1

您需要修改從數據庫輸出內容的代碼,以便執行包含的PHP代碼而不是僅回顯。查看eval()函數。

正如評論中所述:這是一種通常被認爲不安全的模式。現在任何可以寫入數據庫的人都可以在服務器上執行任何PHP代碼。看到這個問題的詳細討論:When is eval evil in php?