2017-09-04 104 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怎麼樣? –