作者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