0

このフォームには、1 つのフォームに複数の tbody があります。各 tbody には、「一意の」値を持つ「隠し」フィールドが含まれています。ただし、このフォームが送信されると、最後の「pouzivatel_id」値のみが送信されます。

例えば

"pouzivatel_id"=4 を実行したいのですが、フォームは "pouzivatel_id"="1" を送信します

複数のフォームを使用せずにこれを修正するにはどうすればよいですか?

<form method="post" action="lib/action/admin.post.php">
<table>
    <thead>
        <tr>
            <th>Osobné číslo</th>
            <th>Prezývka</th>
            <th>Meno</th>
            <th>Priezvisko</th>
            <th>Operácie</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>00000000004</td>
            <td>user4</td>
            <td>user</td>
            <td>user</td>
            <td>
                <input type="hidden" name="pouzivatel_id" value="4"/>
                <button type="submit" name="ziadatel-schvalit" class="tlacidlo zelena">Schváliť</button>
                <button type="submit" name="ziadatel-zmazat" class="tlacidlo cervena">Zamietnuť</button>
            </td>
        </tr>
    </tbody>
    <tbody>
        <tr>
            <td>00000000003</td>
            <td>user3</td>
            <td>user</td>
            <td>user</td>
            <td>
                <input type="hidden" name="pouzivatel_id" value="3"/>
                <button type="submit" name="ziadatel-schvalit" class="tlacidlo zelena">Schváliť</button>
                <button type="submit" name="ziadatel-zmazat" class="tlacidlo cervena">Zamietnuť</button>
            </td>
        </tr>
    </tbody>
    <tbody>
        <tr>
            <td>00000000002</td>
            <td>user2</td>
            <td>user</td>
            <td>user</td>
            <td>
                <input type="hidden" name="pouzivatel_id" value="2"/>
                <button type="submit" name="ziadatel-schvalit" class="tlacidlo zelena">Schváliť</button>
                <button type="submit" name="ziadatel-zmazat" class="tlacidlo cervena">Zamietnuť</button>
            </td>
        </tr>
    </tbody>
    <tbody>
        <tr>
            <td>00000000001</td>
            <td>user1</td>
            <td>user</td>
            <td>user</td>
            <td>
                <input type="hidden" name="pouzivatel_id" value="1"/>
                <button type="submit" name="ziadatel-schvalit" class="tlacidlo zelena">Schváliť</button>
                <button type="submit" name="ziadatel-zmazat" class="tlacidlo cervena">Zamietnuť</button>
            </td>
        </tr>
    </tbody>
</table>

4

1 に答える 1

1

送信ボタンごとに異なる名前を使用できます。送信ボタンが押されると、この送信ボタンのみが PHP スクリプトに送信されます。PHP スクリプトで、どのボタンが押されたかを確認します。

HTML コードの例:

<input type="hidden" name="pouzivatel_id[]" value="2"/>
<button type="submit" name="ziadatel-schvalit_2" class="tlacidlo zelena">Schváliť</button>
<button type="submit" name="ziadatel-zmazat_2" class="tlacidlo cervena">Zamietnuť</button>
<input type="hidden" name="pouzivatel_id[]" value="1"/>
<button type="submit" name="ziadatel-schvalit_1" class="tlacidlo zelena">Schváliť</button>
<button type="submit" name="ziadatel-zmazat_1" class="tlacidlo cervena">Zamietnuť</button>

PHP コードの例:

<?PHP
foreach($_POST['pouzivatel_id'] as $id)
{
    if(isset($_POST['ziadatel-schvalit_' . $id]))
    {
        //Schváliť
    }
    elseif(isset($_POST['ziadatel-zmazat_' . $id]))
    {
        //Zamietnuť
    }
}
?>
于 2013-03-10T21:41:34.840 に答える