-2

ページtest.phpには、次のようなフォームがあります

<form action="test.php" method="post">   

<a href="test.php?id=5" name="test_name1">click me</a> 
<a href="test.php?id=5" name="test_name2">click me</a>
<a href="test.php?id=5" name="test_name3">click me</a>

</form>

そして、誰かがそれらのリンクをクリックした場合、次のようなものを確認する必要があります

if (isset($_POST['test_name1'])) {  

    //do my work
}

しかし、これは私にとってはうまくいきません。すべてのリンクを確認する必要があり、そのフォームにはそのようなリンクが約 10 個あります。助けてください

4

4 に答える 4

1

あなたがしたいように見えます あなたが試すことができるチェックボックス

<form   method="post">
    <input type="checkbox" name="check_list[]" value="value 1">value one<br>
    <input type="checkbox" name="check_list[]" value="value 2">value tow<br>
    <input type="checkbox" name="check_list[]" value="value 3">value three<br>
    <input type="submit" />
</form>
<?php
if(!empty($_POST['check_list'])) {
    foreach($_POST['check_list'] as $check) {
            echo $check;  
    }
}
?>
于 2013-01-12T18:39:59.697 に答える
1

それはフォームの仕組みではありません。フォームGET内にリンクがあります。POST

サンプルPOST( script.php):

<?php

  if( isset($_POST[submit]) ) {
     //do
  }

?>

<form method="post" action="script.php">
<input type="submit" name="submit" />
</form>

サンプルGET( script2.php):

<?php

  if( isset($_GET[id]) ) {
    //do
  }

?>

<a href="script2.php?id=2">Click me</a>

これは、あなたが達成しようとしていることの多くかもしれません ( script3.php):

<?php

  if( isset($_GET[id]) && isset($_GET[name]) ) {
    //do
  }

?>

<a href="script3.php?id=5&name=test_name1">click me</a> 
于 2013-01-12T18:34:13.970 に答える
0

$_POSTメソッドは、アンカー要素ではなくFORM要素専用です。しかし、あなたの場合、アンカー要素がphpファイルにリンクされています。issetで idを確認できますが、アンカー要素名は確認できません。idは次の方法でもチェックされます。

if(isset($_GET['id'])) {


}
于 2013-01-12T18:36:22.267 に答える
0

リンクをフォーム パラメータとして使用することはできません... できることは、非表示の値を作成し、3 つの異なるフォームを作成することです。この方法ではボタンを使用してデータが転送されますが、リンクにデータを表示する $_GET の代わりに $_POST を使用すると、ユーザーにはわかりにくくなります。

<form action="test.php" method="post">
<input type="hidden" name="id" value="5">
<input type="input" name="test_name1">
</form>
<form action="test.php" method="post">
<input type="hidden" name="id" value="5">
<input type="input" name="test_name2">
</form>
<form action="test.php" method="post">
<input type="hidden" name="id" value="5">
<input type="input" name="test_name3">
</form>

次に、ページの上部で確認できます...

<?php
if(isset($_POST['test_name1'])){
//they clicked button 1.
}
?>

リンクのみを使用してデータを取得する場合は、これを実行して $_GET でデータを取得できます...

<a href="test.php?id=5">click me</a>

<?php
if(isset($_GET['id']){
//they clicked your link.
}
?>
于 2013-01-12T18:36:22.643 に答える