1

これが私の問題です。それぞれが一意の値を持つ約 20 個のボタンを持つ HTML フォームがあります。ここで、ユーザーが「2D-ECHO」というボタンを押すと、ユーザーは「2D-ECHO」という値が表示されるスケジューリング ページにリダイレクトされます。同様に、ユーザーが 20 個のボタンの中で他のボタンを押すと、そのボタンの値が次のページに表示されます。参考までに、すべてのボタンが同じスケジューリング ページにリダイレクトされます。

HTML:

<form name="Left" method="post" action="Schedule_Devp.php">
 <div id="men" class="grid_4 alpha" style="margin:1.5 em; text-align:center">
    <label class="label">Men</label><br>
    <span class="grid_2 alpha"><input type="submit" class="buttons-men" value="BELOW 30 YRS WELLNESS CHECK" name="m_below30"></span>
    <span class="grid_2 omega"><input type="submit" class="buttons-men" value="35-40 YRS WELLNESS CHECK" name="m_below40"></span><br>
    <span class="grid_2 alpha"><input type="submit" class="buttons-men" value="CANCER CHECK" name="m_cancer"></span>
    <span class="grid_2 omega"><input type="submit" class="buttons-men" value="45 AND ABOVE WELLNESS CHECK" name= "m_above45"></span><br> 
    <span class="grid_2 alpha" style="visibility:hidden"><input type="button" class="buttons-men" ></span>
    <span class="grid_2 omega"><input type="submit" class="buttons-men" value="2D ECHO" name="m_2d"></span><br>      
    </div>
    <div class="clear"></div>
</form>

PHP:

<?php
$m_below40 = $_POST['m_below40'];
?>
<input type="button" class="buttons-specific-screenings" value="<?php echo     $m_below40;?>">

上記の PHP コードが 1 つのボタンに対して機能することは理解しています。他のボタンで機能させるにはどうすればよいですか。アドバイスをお願いします。

4

4 に答える 4

2

すべての$_POST[''];配列を別の配列に格納し、foreach()ループを使用してすべてを処理することができます。

<form action="" method="POST"> 
    <?php
    $m_below40 = "one";
    $m_below30 = "two";
    $m_below20 = "four";
    $m_below10 = "three";

    $all = array($m_below40,$m_below30,$m_below20,$m_below10);
    ?>

    <?php 
    foreach ($all as $single ) { ?>
    <input type="submit" class="buttons-specific-screenings" name="foo" value="<?php echo $single;?>"> 

    <?php } ?>



    </form>

以下のコードにより、どれがクリックされたかを知ることができます

<?php

if(isset($_POST['foo'])) {
print_r($_POST);



}
于 2013-02-05T17:42:29.637 に答える
1

あなたが何をしているのかを理解するのに苦労しているかもしれません。しかし、ボタンをクリックしてその vvalue を同じページに送信し、それらの値をエコーするだけの場合は、次のようにします。

<form name="Left" method="post" action="Schedule_Devp.php">
<div id="men" class="grid_4 alpha" style="margin:1.5 em; text-align:center">
<label class="label">Men</label><br>
<span class="grid_2 alpha"><input type="submit" class="buttons-men" value="BELOW 30 YRS WELLNESS CHECK" name="m_below30"></span>
<span class="grid_2 omega"><input type="submit" class="buttons-men" value="35-40 YRS WELLNESS CHECK" name="m_below40"></span><br>
<span class="grid_2 alpha"><input type="submit" class="buttons-men" value="CANCER CHECK" name="m_cancer"></span>
<span class="grid_2 omega"><input type="submit" class="buttons-men" value="45 AND ABOVE WELLNESS CHECK" name= "m_above45"></span><br> 
<span class="grid_2 alpha" style="visibility:hidden"><input type="button" class="buttons-men" ></span>
<span class="grid_2 omega"><input type="submit" class="buttons-men" value="2D ECHO" name="m_2d"></span><br>      
</div>
<div class="clear"></div>
</form>

php

<?php
foreach ($_REQUEST as $this) { ?>
<input type="button" class="buttons-specific-screenings" value="<?php echo     $this;?>">
于 2013-02-05T17:45:25.123 に答える
1

ボタンがクリックされた場合にのみ、フォームはボタンを送信します。配列で何かをすることができます:

$buttons = array("button1id", "button2id");
foreach($buttons as $button){
   if(isset($_POST[$button])) echo $_POST[$button];
}

または、時間の経過とともにメンテナンスが少し少なくて済むようにすることもできます。

foreach($_POST as $key => $value){
        //check if the key (button name) has the word button in it. If so, echo the value
        if(strstr($key, 'button') !== false) echo $value;
}
于 2013-02-05T17:41:38.857 に答える
1

最初のステップとして、ボタンで「配列」タイプの ID を使用することを検討します。

<input type="submit" class="buttons-men" value="BELOW 30 YRS WELLNESS CHECK" id="m[0]">
<input type="submit" class="buttons-men" value="35-40 YRS WELLNESS CHECK" id="m[1]">
<input type="submit" class="buttons-men" value="CANCER CHECK" id="m[2]">

次に、コードで下を見ることができます$_POST['m']

もちろん、投稿を受信したときに、これらの ID を回答に関連付けることができる必要があります。

于 2013-02-05T17:42:01.913 に答える