2017-09-04 7 views
1

このフォームを送信するときに2つの変数を$ _POSTしようとしています。画像が選択されたときに自動的に送信されます。しかし、それは隠された価値ではなく、イメージの価値だけを掲示します。両方の入力からの変数が提出する必要があるように両方の変数を送る必要があります。私は隠された入力をイメージに変えれば、それはうまく値を投稿しますが、再び、両方の入力ではなく、それ自身でのみ正常に動作します。何か案は?2つの入力から変数を送信するフォーム

<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 " 
<input type='image' style='height:100px; padding:5px; margin :20px;' id='1' class='img-fluid img-thumbnail' src='models/thumbs/",$r->name,".jpg' name='name' value='",$r->name,"'/> 
<input type='hidden' id='1' name='group' value='",$r->project,"'/> 
    "; 
    } 
?> 

</form> 
+1

になっているどのように多くのレコードあなたのSQLクエリから返されますか? while()ループで作成されたすべてのフィールドが同じ "name"属性値を持つため、フォームが壊れる場合は、各繰り返しで何らかの形で変更する必要があります。 – Calimero

+0

約10個のレコードが出力され、それぞれのイメージは正しい値を持ち、クリックされるとその値がセッションに送信されます。私は問題を見ない。 –

+0

ああ、私は見る!もちろん!どうすればこの問題を克服できますか?アレイを通して? –

答えて

1

、ボタンに入力された画像を変更し、別のタグで画像を表示し、複数のフォームにリストを分割し、私たちの意見に基づいて、候補ソリューション:

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

$query->execute(); 
while($r = $query->fetch(PDO::FETCH_OBJ)){ ?> 
    <form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>"> 

    <img style='height:100px; padding:5px; margin :20px;' src="models/thumbs/<?php echo $r->name; ?>.jpg" /> 
    <input type="submit" name="name" value="<?php echo $r->name; ?>" /> 
    <input type='hidden' id='1' name='group' value='",$r->project,"'/> 
    </form> 
<?php 
} 
?> 
関連する問題