在一个函数中捕获表单数据并在另一个函数(同一文件)中使用它

时间:2019-08-24 作者:sansae

我试图找出如何从函数中存在的表单中捕获数据,然后在另一个php函数中使用它。这是我的设置。php文件:

函数setPrice(){我想在此处将表单数据存储在$变量中}

函数shortcode(){表单在此函数内;有一个输入字段,我想在setPrice中使用其数据}

表格在我网站的一个页面上。当用户提交表单时,他们会被带到另一个页面(购物车页面)。

我尝试过使用$\\u POST[\'input-name\'],但没有成功。我读过关于使用会话的内容,但我不知道如何在我的例子中实现它,因为我在那里使用了两个函数。

有人能帮我吗?谢谢

1 个回复
最合适的回答,由SO网友:Mike Baxter 整理而成

您可以使用Wordpress瞬态在WP数据库中使用一个函数临时设置变量,并使用另一个函数获取该变量。

function setPrice(){
    $myPrice = $_POST[\'price\'];
    set_transient( \'ex1_temp_price\', $myPrice, 28800 ); // Site Transient
}

// this function can be kicked off the shortcoe, within the transient timeout
function use_price(){
    $price = get_transient(\'ex1_temp_price\')*1;
    echo "<p>Your price is <input type=\\"text\\" name=\\"price\\" value=\\"$price\\" />.</p>";
}
瞬变只在你指定的时间内有效。此示例显示8hr到期。如果需要在8小时之后获取该值,则应创建一个自定义meta\\u值并将该值存储到post\\u meta表中。

如果在某个时候,你决定php sessions, W3Schools 有一个很好的例子,可能会适合你的需要。只要记住在不再需要会话时销毁它。

希望这能给你你需要的答案!