2017-09-04 107 views
-2

我有以下代码,变量'name'和'project'需要在提交时进入会话变量,在这种情况下,提交通过'onchange'事件发生。 'name'变量是POST的,但不是'project'变量。任何想法,我的问题是?通过表单传递多个变量

<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>"> 
<?php 
$query = $conn->prepare("SELECT name, project FROM models.models where models.active = 'yes'"); 
$query->execute(); 
while($r = $query->fetch(PDO::FETCH_OBJ)){ 

echo " 
<div class='swiper-slide'> 
    <input type='image' src='models/thumbs/",$r->name,".jpg' id='name' name='name' value='",$r->name,"' onchange='this.form.submit();'/> 
    <input type='hidden' value='",$r->project,"' name='project' /> 
</div> 

"; 
} 

?> 
</form> 
+0

没有明显的原因,代码是行不通的。尝试做一些调试。生成的HTML源代码是否具有正确的值?如果您使用浏览器的开发人员工具的“网络”选项卡检查数据,数据是否会显示在提交的数据中?如果你检查'$ _POST'数组的全部内容(例如用'var_dump'),你会得到什么? – Quentin

+0

你的问题太广泛了。如果你有两个不同的问题,那么不要将它们捆绑在一起。 – Quentin

+0

我正在使用var_dump($ _ SESSION);查询成功,但项目变量未被发布。 –

回答

-1
<?php 
$query = $conn->prepare("SELECT name, project FROM models.models where models.active = 'yes'"); 

$query->execute(); 
while($r = $query->fetch(PDO::FETCH_OBJ)){ 

echo " 
<div class='swiper-slide'> 
    <input type='image' src='models/thumbs/",$r->name,".jpg' id='name' name='name[]' value='",$r->name,"' onchange='this.form.submit();'/> 
    <input type='hidden' value='",$r->project,"' name='project' /> 
</div> 

"; 

} 

?> 

如何访问:

$names = $_POST['name']; 

for($i=0;$i<count($names);$i++) 
{ 
    echo $names[$i]."<br>"; 
} 
+0

将'name'放入数组没有意义。问题说这个位工作正常。问题是'项目'没有出现。 – Quentin

+0

他的加入部分@Quentin怎么样? –