有没有可能用Javascript抓取一个MyBB的PHP变量?我是一个用户脚本程序员,现在我使用:
var uid = $("#panel").find('a').attr('href').replace(/[^0-9]/g, '');获取当前用户的用户id (uid)。但是,如果我使用PHP从用户那里获取UID,它将如下所示:
<?php echo {$mybb->user['uid']} ?>现在来看实际的问题。是否可以使用$mybb->user['uid']通过Javascript获取UID
发布于 2014-01-14 10:36:40
我的回答是是的,你可以,但它有一些限制。
好吧,如果你记得在每个标题中包含模板总是有这些代码:
<script type="text/javascript">
<!--
var cookieDomain = "{$mybb->settings['cookiedomain']}";
var cookiePath = "{$mybb->settings['cookiepath']}";
var cookiePrefix = "{$mybb->settings['cookieprefix']}";
var deleteevent_confirm = "{$lang->deleteevent_confirm}";
var removeattach_confirm = "{$lang->removeattach_confirm}";
var loading_text = '{$lang->ajax_loading}';
var saving_changes = '{$lang->saving_changes}';
var use_xmlhttprequest = "{$mybb->settings['use_xmlhttprequest']}";
var my_post_key = "{$mybb->post_code}";
var imagepath = "{$theme['imgdir']}";
// -->
</script>您可以在任何模板中使用MyBB的变量,但有一个条件:它必须在相关的PHP文件中定义。(当然,该变量必须在括号{ }中)
例如,与headerinclude模板相关的PHP文件为global.php。
就这样。使用MyBB玩得开心:)
发布于 2014-03-30 02:47:11
您可以将插件添加到您的论坛。它被称为模板条件。安装后,您可以在所有模板中使用Mybb->user变量。这个插件有很多应用程序,但是对于你的代码,你可以这样做:
<setvar uservar>$mybb->user['uid']</setvar>
var {$tplvars['uservar']} = $("#panel").find('a').attr('href').replace(/[^0-9]/g, '');该插件位于MyBBHacks论坛的以下链接中。
http://mybbhacks.zingaburga.com/showthread.php?tid=464
发布于 2014-01-07 01:40:56
首先,你不能在javascript中直接访问php服务器端变量,但是有几个工作你可以做。
首先想到的是把这段代码放到html页面的某个地方。
<script type="text/javascript">
<?php echo "var uid = '". $mybb->user['uid']."';" ?>;
</script>这样做的缺点是这个变量现在可以直接在DOM中查看和编辑。
https://stackoverflow.com/questions/20951890
复制相似问题