我正在动态创建许多文本字段,我想将这些字段的值插入到数据库中。每个文本字段都与我从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语句,我很高兴它的语法是正确的我只需要访问我需要的值!
非常感谢任何帮助!
答案 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
}