如何在php中传递提交的表单元素的值

时间:2015-09-18 09:17:20

标签: php database wordpress

我正在使用这个自定义代码,它可以很好地提取Wordpress表的信息:

$post_ids = $wpdb->get_results("SELECT id FROM wp_posts");
foreach ( $post_ids as $ids ) 
{
    echo "<form action='make.php' method='post'>";
    echo "<input type='text' name='" . $ids->id . "'><input type='submit' name='id'>";
    echo "</form>";
}

在同一个php文件的最顶层我有这段代码:

if(isset($_POST['id'])){
        echo $ids->id;
}

我的问题是:如何将提交的文本字段的唯一ID传递给 -if-在页面顶部的声明?最终我想用它来更新Wordpress表。

1 个答案:

答案 0 :(得分:0)

首先,编写代码的方式,每次通过循环为每个帖子ID创建一个新表单。 这需要通过移动打开和关闭<form ...></form>标记以及提交按钮来更改 在循环之外。

其次,make.php文件无法获取$ids->id变量(请记住HTTP是无状态协议) 除非你让它知道它可以使用PHP的一个超级全局数组,在这种情况下是$_POST超全局 阵列。

考虑到以上几点,您的代码的重写版本如下所示:

$post_ids = $wpdb->get_results("SELECT id FROM wp_posts");

echo "<form action='make.php' method='post'>";

foreach ( $post_ids as $ids ) 
{
   echo "<input type='text' name='". $ids->id. "' value='". $ids->id. "'><br>";
}

echo "<input type='submit' name='id'>";
echo "</form>";

然后在'make.php'文件中:

if(isset($_POST['id']))
{

   foreach($_POST AS $key => $value)
   {
      if($key != 'id') //make sure we don't include the submit button in our processing
      {
         $unique_post_id = trim($value);
         echo $unique_post_id. '<br>';
         //do something with $unique_post_id
      }
   }
}