在我的网站上,我有一个像这样的标签:<input name="centro-med" type="hidden" value="prova" />
。在php代码(在同一页面中编写)中,我需要获取该标记的值,并将其用于在页面加载时执行的查询。问题是我无法找到一种无需提交表单即可获取该变量的方法(因此需要重新加载页面)。我需要php在页面首次加载时已经在变量中具有该值,以便我可以将其用于查询。
我基本上需要这样的东西:
<input name="centro-med" type="hidden" value="prova" />
<?php
$centro = $_POST['centro-med'];
global $wpdb;
$risultati = $wpdb->get_results("SELECT * FROM wp_table where centro_medico = '$centro'",ARRAY_A);
?>
我尝试寻找其他答案,但似乎没有我需要的东西。我希望你能帮助我
编辑:我在wordpress页面中需要它,并且由于wordpress不允许您在页面中编写php,因此我使用了一个可以编写php代码片段的插件。我在不同页面上使用相同的代码,唯一改变的是该值(证明)。因此,如果我只能更改该值而不是为每个页面创建一个新的片段,则可以节省很多时间。我现在不明白这是否可以理解,但是我有理由不仅仅在php中编写它。像这样没有问题的答案。无论如何,我都阅读了答案,我认为唯一的方法就是使用Ajax。
答案 0 :(得分:4)
要使PHP代码从HTML读取变量,必须将其发布到服务器。 HTML代码在用户浏览器中运行,与服务器端代码(PHP)通信的唯一方法是提交表单或ajax调用等。
答案 1 :(得分:0)
是否只有一个输入元素名为“ centro-med”?如果需要初始值,请尝试XPath ...
类似的东西:
$dom = new DOMDocument();
$dom->loadHTML('...');
$xp = new DOMXpath($dom);
$nodes = $xp->query('//input[@name="centro-med"]');
$node = $nodes->item(0);
$value = $node->getAttribute('value');
当然,这是页面加载时的初始默认值。这不是用户在输入框中键入的内容,因为当用户在输入框中键入任何内容时,PHP将完成运行。