您可以从 WordPress 页面中访问 POST 变量吗?

发布于 2024-11-03 04:31:33 字数 148 浏览 2 评论 0原文

我在 WordPress 页面内用 PHP 构建了一个联系表单,使用 exec-php 插件来验证并运行代码。然而,Wordpress 重写系统似乎会覆盖发送到页面的 POSTed 表单数据。有什么办法可以保证这些数据能够通过吗?我的 .htaccess 中只有标准 WP 重写块。

I built a contact form in PHP inside a Wordpress page, using the exec-php plugin to val and run the code. However, the Wordpress rewrite system seems to override the POSTed form data being sent to the page. Is there any way to ensure that this data gets passed through? All I have in my ,htaccess is the standard WP rewrite block.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

℡寂寞咖啡 2024-11-10 04:31:33

是的,您可以在 Wordpress 页面中访问表单 POST 变量。

我创建了一个这样的页面模板:

<?php
/*
Template Name: Page with Form
*/
?>

<?php get_header(); ?>
<div id="content" class="widecolumn">
 <?php
 var_dump($_POST);

 if (have_posts()) : while (have_posts()) : the_post();?>
 <div class="post">
  <h2 id="post-<?php the_ID(); ?>"><?php the_title();?></h2>
  <div class="entrytext">
  <?php the_content('<p class="serif">Read the rest of this page »</p>');?>
  </div>
 </div>
 <?php endwhile; endif; ?>
 <?php edit_post_link('Edit this entry.', '<p>', '</p>'); ?>
</div>
<form id="test" method="post">
   <input id="srchbox" name="term" size="28" value="" type="text"> 
   <input name="submit" value="Submit" align="absmiddle" type="submit">
</form>
<?php get_footer(); ?>

然后我通过 WordPress 管理面板创建了一个页面并使用了上面的页面模板。

您可以看到我在此页面模板中有一个示例表单“测试”。现在,当我在浏览器中访问新创建的页面并在表单中输入一些文本并提交表单时,我得到了 var_dump($_POST); 行:

array(2) {
  ["term"]=>string(7) "foo-bar"
  ["submit"]=>string(6) "Submit"
}

如您所见,Wordpress 不会中断任何操作并且您的页面可以完全访问表单 POST 变量的 $_POST 数组。

Yes you can access forrm POST variables in a page of Wordpress.

I created a page template like this:

<?php
/*
Template Name: Page with Form
*/
?>

<?php get_header(); ?>
<div id="content" class="widecolumn">
 <?php
 var_dump($_POST);

 if (have_posts()) : while (have_posts()) : the_post();?>
 <div class="post">
  <h2 id="post-<?php the_ID(); ?>"><?php the_title();?></h2>
  <div class="entrytext">
  <?php the_content('<p class="serif">Read the rest of this page »</p>');?>
  </div>
 </div>
 <?php endwhile; endif; ?>
 <?php edit_post_link('Edit this entry.', '<p>', '</p>'); ?>
</div>
<form id="test" method="post">
   <input id="srchbox" name="term" size="28" value="" type="text"> 
   <input name="submit" value="Submit" align="absmiddle" type="submit">
</form>
<?php get_footer(); ?>

Then I created a page through Wordpress admin panel and used above page template.

You can see I have a sample form "test" in this page template. Now when I visited the newly created page in my browser and entered some text in form and submitted the form I got this for var_dump($_POST); line:

array(2) {
  ["term"]=>string(7) "foo-bar"
  ["submit"]=>string(6) "Submit"
}

As you can see Wordpress doesn't interrupt anything and your page has full access to your $_POST array for Form POST variables.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文