Executing php on button press

时间:2021-09-05 作者:user9102437

我想创建一个按钮,按下时将执行php代码。这里的问题是这样的结构不起作用:

<?php
    if($_SERVER[\'REQUEST_METHOD\'] == "POST" and isset($_POST[\'someAction\']))
    {
        func();
    }
    function func()
    {
        echo \'pressed\';   
    }
?>


<form method="post">
    <input type="button" name="someAction" value="press me"/>
</form>
它给出了一个错误:“quot;应为标记名。有“?”取而代之的是;

毫不奇怪,这样的解决方案也行不通:

<div class="mydiv"><?php do_shortcode("[shortcode_name]");?></div>
然而,使用短代码的想法实际上很好,但它必须只在按下按钮时运行短代码。

我也尝试过在按钮上使用JavaScript,这很有效,但我不知道从JavaScript运行php代码的简单方法。

如果您对如何做到这一点有任何想法,欢迎您的回答。

只是为了上下文,我使用elementor来实现这一点,确切地说是html块。

1 个回复
SO网友:Julian Steinmann

Php是一种服务器端语言。这意味着代码已执行,用户将收到已编译的html代码。作为用户执行php代码的唯一方法是通过“post”或“get”请求。所以本质上是加载一个新页面。唯一的解决方法是使用ajax动态加载新的php代码。

但也可能是,您计划做的事情只需使用Javascript即可完成。“回声”;已按下“;可以在Javascript中使用。innerHTML函数。或者,当你想在点击按钮时显示一个快捷键小部件时,你可以从一开始就加载它,然后用Javascript和css将其设置为点击按钮时可见。

相关推荐

ServerSideRender和Media Object:将图像数据对象传递给php呈现器的属性,即使它未设置

编辑:简单地说,我遇到的问题是,在js端保存为属性的图像数据对象(js中的imgDataObj)正在传递到PHP端,即使我没有在serversiderender组件中传递它,也没有在PHP渲染回调中侦听它。我有一个自定义脚本,可以创建具有自定义大小的图像集。我正试着把它放到一个街区里。ServerSideRender似乎是一条出路。我用它制作了一些块,但从来没有一块有图像。因此,用户可以从媒体库上传/拾取图像,并为每个断点设置自定义大小。块将图像的大小和ID号发送到PHP端。我们不需要整个图像对象。例如,