访问动态设置的$ _POST值

时间:2014-01-31 20:15:40

标签: php form-submit isset

我正在动态创建许多文本字段,我想将这些字段的值插入到数据库中。每个文本字段都与我从API中提取的YouTube视频相关联,并且其视频名称与YouTube视频的网址相同。

我的代码是:

     if($youtube_video_database) {
        foreach ($youtube_video_database as $key => $value) {
          foreach ($value as $key => $value) {
            print "<div class='content row'>
              <div class='videos_and_comments col col-lg-12'>
                 <div class='videos col-lg-6'>
                   <iframe width='420' height='315' src='$value' frameborder='0' allowfullscreen></iframe>
                 </div>
                 <div class='videos col-lg-6'>
                  <form method='post' action=''>
                    <textarea class='form-control' name='$value' id='$value' rows='14'></textarea>
                    <input type='submit' class='btn btn-default' name='submit' id='youtube_comment' value='submit'>
                  </form>
                </div>
               </div>
             </div> ";

             print_r($_POST);
              if (isset($_POST['submit']) ) {

              print $_POST['$value'];

          }

          }

        }

print_r()给了我:

Array
(
[http://www_youtube_com/embed/eWucz8UDoPA] => this is what i want to insert
[submit] => submit
)

表单的名称和ID都正确地带有URL,但是当我尝试

时我没有得到任何东西
print $_POST['$value'];

我真的希望能够将isset()更改为

if (isset($_POST['$value']) ) {}

但直到我能弄清楚如何访问该值之后我才会这样做。我没有在代码中包含MySQL语句,我很高兴它的语法是正确的我只需要访问我需要的值!

非常感谢任何帮助!

3 个答案:

答案 0 :(得分:0)

你需要改变这个:

print $_POST['$value'];

到此:

print $_POST[$value];

由于变量和转义序列(除了\')不用单引号计算。

答案 1 :(得分:0)

只需使用$ _POST [$ value]而不加引号。

答案 2 :(得分:0)

<input type=hidden name='youtubeurls[]'>  
<textarea class='form-control' name='youtubes[]'>

if(isset($_POST['youtubes'])) for(i=0;i<count($_POST['youtubes']);i++){
    echo $_POST['youtubes'][i];
    echo $_POST['youtubesurls'][i];
    //do whatever you want
}