代码之家  ›  专栏  ›  技术社区  ›  silverscales

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

  •  0
  • silverscales  · 技术社区  · 10 年前

    我使用这个非常有用的自定义代码来提取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 回复  |  直到 10 年前
        1
  •  0
  •   NaijaProgrammer    10 年前

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

    其次,你不可能成功。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>";
    

    然后进入你的品牌。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
          }
       }
    }
    
    推荐文章