我需要在这样的php变量中放入一个短代码。
<?php
var Variable = "<div class='container-uppotential'>
</div>
<div class='container-historialdepagos'>
</div>
<?php echo do_shortcode('[mper_account_form]');?>
";
return Variable;
?>
但它没有那样的工作。任何想法如何使这个代码在示例中工作?
答案 0 :(得分:1)
在将任何内容发送到浏览器之前执行PHP。 PHP不会在浏览器中执行,只能由服务器执行。
您正试图在Javascript中发出PHP代码。 Javascript在浏览器中执行。在执行Javascript时,PHP执行已经结束了。服务器永远不会看到PHP代码。
基本上你不能在Javascript中发出PHP并期望它能够正常工作。您可以在PHP中发出Javascript,因为PHP将首先执行,并且生成的javascript将被发送到浏览器,然后将执行javascript。
想象一下,微波炉运行一分钟,然后在里面放一杯水。水不会被加热,因为你在水加热过程后加水了。
如果我是你,我会调用do_shortcode()并将结果保存在PHP变量中,然后将该变量的内容发送到Javascript中。这样PHP执行就发生在PHP执行阶段。
现在,如果您依赖Javascript来设置PHP函数所依赖的某个状态,那么接下来您将使用类似AJAX的东西,并编写一个独立的PHP servlet来获取来自该函数的状态信息。 AJAX调用,执行PHP以生成所需的输出,然后Javascript在AJAX组件中显示结果。
答案 1 :(得分:1)
首先你是php,然后你的变量应该以$符号开头,然后你将html标记保存在一个变量中,然后输出它,最后,在所有标记后插入你的短代码。 (顺便说一句,你在shorcode中有一个拼写错误,是mepr not mper)
Select P.Surname, P.Othername H.history
from customers P left outer join historyfiles H on H.patID = P.patId
and H.category1 = 4
where P.id = 2299
答案 2 :(得分:0)
我看到你的代码唯一的问题是Javascript不允许字符串包含换行符,所以如果你想要它在多行上,你需要拆分它。
var Variable = "<div class='container-uppotential'>" +
"</div>" +
"<div class='container-historialdepagos'>" +
"</div>" +
"<?php echo do_shortcode('[mper_account_form]');?>";
return Variable;