Одна форма PHP с 2 кнопками (редактировать и удалять) - PullRequest
4 голосов
/ 23 мая 2011

Я пытаюсь настроить форму с 2 кнопками - «УДАЛИТЬ», которая запускается на странице delete.php, и «РЕДАКТИРОВАТЬ», которая запускается на edit.php.

Так что мне нужно другое действие в зависимости от того, на какую кнопку они нажали ...

Вот мой код.

$con = mysql_connect("localhost","user","password");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("test", $con);

$result = mysql_query("SELECT * FROM myTable");

// Need to change the action depending on what button is clicked
echo "<form name='wer' id='wer' action='delete.php' method='post' >";
echo "<table border='1'>";

while($row = mysql_fetch_array($result))
  {
    echo "<tr>";
    echo "<td>" . $row['id'] . "</td>";
    echo "<td>" . $row['page_title'] . "</td>";
    echo "<td><input type='radio' name='test1' value='" . $row['id'] . "' /></td>";
    echo "</tr>";
  }

echo "<tr>";
echo "<td>&nbsp;</td>";
echo "<td>&nbsp;</td>";
echo "<td><input type='submit' name='delete' value='Delete' /> <input type='submit' name='edit' value='Edit' /></td>";
echo "</tr>";
echo "</table>";
echo "</form>";

mysql_close($con);

Ответы [ 2 ]

5 голосов
/ 23 мая 2011

Вы можете сделать это с помощью JavaScript:

<input type='button' value='Delete' onclick='
    this.form.action = "delete.php";
    this.form.submit();
' />

Или вы можете сделать это с помощью PHP, указав действие формы, скажем, action.php, которое будет содержать:

if (!empty($_REQUEST['delete'])) {
    require_once dirname(__FILE__) . '/delete.php';
else if (!empty($_REQUEST['edit'])) {
    require_once dirname(__FILE__) . '/edit.php';
}
5 голосов
/ 23 мая 2011

Проверьте для isset($_POST['delete']) и isset($_POST['edit']).

Тем не менее, это плохая идея, чтобы сначала была кнопка delete . При нажатии клавиши ENTER браузеры обычно используют первую кнопку - и нажатие клавиши ввода в форме не должно удалять данные.

...