$ _POST在wordpress中的表单提交时返回空

时间:2013-04-04 12:19:51

标签: php wordpress forms post

我有一张表格:

<form action="<?php echo the_permalink(); ?>" method="POST">
    <input type="text" name="name" value="" placeholder="Your First and Last Name *" />
    <?php echo $firstnameError; ?>
    <input type="text" name="email" value="" placeholder="Yoyr Email" />
    <?php echo $emailError; ?>
    <br>
    <input type="text" name="company" value="" placeholder="Your Company Name" />
    <input type="text" name="phone" value="" placeholder="Your Phone number" />
    <textarea name="project" rows="4" cols="50" placeholder="Describe the scope of work and the most important features of the project *'"></textarea>
    <?php echo $addressError; ?>
    <br>
    <input type="radio" name="budget" value="1500" />
    <input type="radio" name="budget" value="2500" />
    <input type="radio" name="budget" value="5000" />
    <input type="radio" name="budget" value="10000" />
    <input type="radio" name="budget" value="100001" />
    <input type="radio" name="budget" value="not sure" />
    <input type="hidden" name="submit" value="1" />
    <input type="submit" value="SUbmit" />
</form>

它对同一页面的操作,但是当我执行print_r($_POST);时,它不会打印任何内容,即$_POST中没有值。

这可能是什么原因?我在这方面研究了一些关于SO的问题,但没有人给我答案。

5 个答案:

答案 0 :(得分:4)

如果你把名字作为Post值传递,那么wordpress DOSNT会这样!

更改此

<input type="text" name="name" value="" placeholder="Your First and Last Name *" />

<input type="text" name="thename" value="" placeholder="Your First and Last Name *" />

名称更改为 thename ,保证会有效! ;)

答案 1 :(得分:3)

更改此

acton="<?php echo the_permalink(); ?>"

action="<?php echo the_permalink(); ?>"

答案 2 :(得分:2)

<form action="<?php the_permalink(); ?>" method="POST">

您无需回复​​the_permalink()

这对我有用:

<?php print_r($_POST);?>
<form action="" method="POST">
  <input type="text" name="name" value="" placeholder="Your First and Last Name *" /><?php echo $firstnameError; ?><input type="text" name="email" value="" placeholder="Yoyr Email"/><?php echo $emailError; ?><br>
  <input type="text" name="company" value="" placeholder="Your Company Name"/><input type="text" name="phone" value="" placeholder="Your Phone number"/>
  <textarea name="project" rows="4" cols="50"placeholder="Describe the scope of work and the most important features of the project *'"></textarea><?php echo $addressError; ?><br>
  <input type="radio" name="budget" value="1500" /><input type="radio" name="budget" value="2500" /><input type="radio" name="budget" value="5000" /><input type="radio" name="budget" value="10000" /><input type="radio" name="budget" value="100001" /><input type="radio" name="budget" value="not sure" />
  <input type="hidden" name="submit"value="1"/>
  <input type="submit" value="SUbmit" />
</form>

答案 3 :(得分:0)

我在我的项目中发现了同样的问题,解决方案是在 $_POST 中,也许您在代码中使用小写,将其更改为大写。 将 $_post 更改为 $_POST !

答案 4 :(得分:-3)

SOLUTION:

由于请求问题,在wordpress网站而不是

<form action="http://example.com/">...

您可能需要指向.php文件。例如:

<form action="http://example.com/index.php">...  


//////p.s。使用the_permalink()自动完成回声[同样是:echo get_permalink()