作者recorriendo (孟新)
看板PHP
標題Re: [請益] 在連結中執行一段PHP
時間Sat May 19 15:47:47 2012
好吧好像大家都看不太懂 我再解釋一下
$code 是一個字串 裡面是php程式碼
(程式碼可能很複雜 有function之類的)
這段程式碼假設是沒有bug的 也就是說
假如我把$code的內容另外存成一個php檔 然後用瀏覽器開
可以輸出一個完整的網頁(html)
但是我不想生成另外的檔案
所以問有沒有辦法做一個連結 按下去的時候
瀏覽器會有一個全新的視窗 然後執行這段程式碼 顯示它輸出的html
效果就跟存成另外的php檔再用瀏覽器開一樣
(在原本的視窗內執行也可以 但是原本的內容要刷掉)
我說一下我現在的情況
目前的設計是根據使用者的操作
可能會從資料庫中直接取得html碼或php碼 都是字串的形式
在html的情況下 假設 $page 是一個字串 包含一段完整的html碼
那我可以寫
"<a href=data:text/html;base64," . base64_encode($page) . ">"
來達到以上效果(按下連結後開出一個頁面就是$page的html碼描述的頁面)
而不用另外造一個html檔
但是這個方法試過對於php的情況是沒有用的
我對session還不是很熟
但是我想就算把$code存起來或傳到另一個php裡
它還是一個字串 沒辦法把它變成html
所以請教各位php高手 有沒有辦法能做到我以上所說的呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 128.12.32.94
1F:→ tkdmaf:可以解釋一下這跟你直接存HTML做輸出有什麼差別? 05/19 15:58
2F:→ tkdmaf:「假設沒有bug的」,請問依據什麼來證明他沒有bug? 05/19 16:02
3F:→ tkdmaf:然後:如果你能證明他沒有bug,他已經就是個.php檔 05/19 16:03
4F:→ tkdmaf:又何必要放到資料庫去?為何不開新視窗就執行這個php? 05/19 16:03
5F:→ tkdmaf:結論:不要為難自己和將來可能維護這份CODE的人OK? 05/19 16:04
6F:推 LaPass:樓上XOOPS的設計上有類似的用法,可以直接在新增模組頁面寫 05/19 19:05
7F:→ LaPass:PHP進去 05/19 19:05
8F:→ tkdmaf:這就是問題:可以寫PHP,但怎麼DEBUG?看到錯誤再來DEBUG? 05/19 19:38
9F:→ tkdmaf:還是本地寫好了PHP沒有BUG再貼上去?我怎麼都覺得不妥。 05/19 19:39
10F:→ tkdmaf:我基本不認為可以額外放入PHP、JS的CMS有什麼好處...... 05/19 19:40
11F:→ tkdmaf:之前奇摩知識家就有人利用JS和CSS的漏洞來獲得強制最佳解答 05/19 19:41
12F:→ tkdmaf:當然或許覺得反正這只是後台的設計功能又不會開放之類的 05/19 19:42
13F:→ tkdmaf:簡單來說啦。你會寫PHP,又何必要把PHP放到資料庫? 05/19 19:45
14F:→ tkdmaf:如果你不會PHP......又何必設計這樣的介面給人寫PHP? 05/19 19:45
15F:→ tkdmaf: 別人(更正錯字!不是「你」) 05/19 19:46