【问题标题】:php get a value when the page loadsphp在页面加载时获取一个值
【发布时间】:2019-02-18 02:30:41
【问题描述】:

在我的网站中,我有一个这样的标签:<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 sn-ps 的插件。我对不同的页面使用相同的代码,唯一改变的是那个值(prova)。因此,如果我只能更改该值而不是为每个页面创建一个新的 sn-p,我可以节省大量时间。如果这是可以理解的,我现在不明白,但我有理由不把它写在 php.ini 中。没有这样的问题得到回答。无论如何,我阅读了答案,我认为这样做的唯一方法是使用 Ajax。

【问题讨论】:

  • 你可以把它挂在 URL 上,然后用 $_GET[] 得到它
  • prova 的值从何而来?
  • 如果你知道标签名,因为它是硬编码的,为什么你需要从页面中获取它?
  • 还是直接用ajax发布到服务器?
  • 基本上,您正在尝试使用客户端解决方案绕过 WP 服务器...我会寻找您可以在服务器端访问、读取的 WP 的活动 php 对象

标签: php html


【解决方案1】:

为了让 PHP 代码从 HTML 中读取变量,必须将其发布到服务器。 HTML 代码在用户浏览器中运行,与服务器端代码 (PHP) 通信的唯一方法是提交表单或 ajax 调用等。

【讨论】:

  • 在页面加载时不要忘记 URL
【解决方案2】:

是否只有一个名为“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 将完成运行。

【讨论】:

  • 不,不只有一个,我必须在我放入代码的每一页上更改它的名称
  • 对不起,我的意思是每页只有一个,-&gt;item(0); 如果页面上有超过 1 个使用该名称的输入,则必须进行调整
猜你喜欢
  • 1970-01-01
  • 2014-11-25
  • 2013-04-29
  • 2015-03-31
  • 1970-01-01
  • 2011-11-13
  • 2019-09-22
  • 2017-03-02
  • 1970-01-01
相关资源
最近更新 更多