0

私は 2 つの PHP ファイルを持っています。それらを fileOne.php と fileTwo.php と呼びましょう。action="fileTwo.php"fileOne.phpにボタン button1 と button2 を含むフォームがある場合、fileTwo.phpisset($_POST['button1'])が押されたかどうか、または押されたかどうかを確認するにはどうすればよいですかisset($_POST['button2']

これは、「fileOne.php」内の「fileTwo.php」の形式です: (execute.php = fileTwo.php)

< form action="execute.php" method = "POST">
< input type="hidden" name="edit" value="Edit"/>
< input type="hidden" name="delete" value="Remove"/>
< /form>

これらは "fileOne.php" で作成されるボタンですが、action= "fileTwo.php" : ("button1 = edit, button2 = delete) という形式です。

echo "<td><input type='submit' name='Edit' value='Edit'>
<input type='submit' name='Delete' value='Remove'></td>\n";

これは、どちらかのボタンが押された場合に「fileTwo.php」をチェックインしようとする場所です。

    //if edit is clicked
if(isset($_POST['edit'] == 'Edit'))
{
    echo"hello";
}
//if remove is clicked
if(isset($_POST['delete'] == 'Remove'))
{
    echo"good bye";
}

JavaScriptやAJAXなどではなく、PHPでのソリューションをいただければ幸いです。

4

2 に答える 2

2

次のように書き換えます。

fileOne.php

<form action="fileTwo.php" method="post">
   <input type="submit" name="edit" value="edit" />
   <input type="submit" name="delete" value="delete" />
</form>

fileTwo.php

<?php
if (isset($_POST['edit']) && ($_POST['edit'] == 'edit')) {
    echo "Hello";
}
else if (isset($_POST['delete']) && ($_POST['delete'] == 'delete')) {
    echo "Goodbye";
}
?>

わかりました。この方法では、追加のコードは必要なく、隠し入力も 2 つのボタンしか必要ありません。どちらも、次のページのハンドラーが正しく処理するために必要な値を含むフォームを送信します。

于 2013-03-06T02:50:33.287 に答える
0

2つの形式を作成します。

< form action="execute.php" method = "POST">
< input type="hidden" name="delete" value="Remove"/>
< input type="submit" value="Delete"/>
< /form>

< form action="execute.php" method = "POST">
< input type="hidden" name="edit" value="Edit"/>
< input type="submit" value="Edit"/>
< /form>

fileTwo.php内:

//input names(edit, delete) and values(Edit, Remove) are case sensetive
if( isset($_POST['edit']) && $_POST['edit'] == 'Edit') {
    echo"hello";
}

//if remove is clicked
if( isset($_POST['delete']) && $_POST['delete'] == 'Remove') {
    echo"good bye";
}
于 2013-03-06T01:10:17.473 に答える