gpt4 book ai didi

php - 在 drupal 模块中通过 Ajax 调用执行 PHP 代码

转载 作者:搜寻专家 更新时间:2023-10-31 21:44:07 25 4
gpt4 key购买 nike

我正在尝试转换 this到 Drupal 模块中,以便我可以在我的站点上立即检查 PHP 代码以进行调试。我看到了这个 Firefox 插件,它允许你即时执行 PHP,但管理员登录是必要的,到目前为止我做了所有的事情,有一个表单并设置了 ajax 调用,但是如果我传递一个字符串,比如:

preg_match($pat,$str,$matches);
print_r($matches);

如何在后台执行这个?

编辑

加载表单:

$items['localphp'] = array(
'page callback' => 'executePHP',
'access callback' => TRUE,
'type' => MENU_CALLBACK,
);

function executePHP(){
$output = drupal_get_form('executePHP_form');
return $output;
}

Ajax 回调函数:

$items['runPHP'] = array(
'page callback' => 'getResult',
'access callback' => TRUE,
'type' => MENU_CALLBACK,
);
function getResult(){
$code = $_POST['code'];
//I need help here how to execute $code i.e the php code and return back result
echo $code;
}

JS函数

function executePHP(baseurl){
var code = $("#edit-code").val();
$.ajax({
type : "POST",
url : baseurl+'runPHP',
data : 'code='+code,
async : true,
cache : false,
success : function (res) {
$("#edit-result").html(res);
},
error : function (res) {
alert("error");
}
});
return false;
}

最佳答案

仅供引用,Devel module具有允许管理员从其页面运行自定义 PHP 代码的功能。 Devel 模块有一个 block ,其中包含大量对调试有用的功能。

对于自定义模块,在没有看到您的任何其他代码的情况下,我可以告诉您我为在 Drupal 模块中实现 AJAX 所做的工作:

在 JavaScript 中向您网站上的 url 发出 AJAX 请求。在 hook_menu() 中添加一个具有指定路径的菜单项作为 'type' => MENU_CALLBACK 指向模块中的函数。此函数应执行您需要的所有处理,然后将结果返回给 JavaScript 以在那里执行您想要的操作。

关于php - 在 drupal 模块中通过 Ajax 调用执行 PHP 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6521423/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com