Как использовать функцию PHP для удаления данных? - PullRequest
0 голосов
/ 11 мая 2011

У меня есть некоторые данные, которые я хочу удалить, и я хочу использовать для этого функцию:

<input class="delete_challenge" type="submit" name="delete" value="" />
<input class="delete_defence" type="submit" name="delete" value="" />

$set = new fns_delete();
$delete_challenge = $set->challenge();
$delete_defence = $set->defence();

Как использовать эти кнопкивызвать эти функции?

Ответы [ 5 ]

1 голос
/ 11 мая 2011

Прежде всего, вам кажется, что вам не хватает идеи серверной части по сравнению со сценариями на стороне клиента.

Код, который вы здесь написали, написан на HTML.

Код PHP, такой как следующий, фактически не отправляется пользователю.$ set = new fns_delete ();$ delete_challenge = $ set-> challenge ();$ delete_defence = $ set-> defense ();

Все, что может сделать PHP - это распечатать HTML, который затем отправляется пользователю.То, что я бы порекомендовал вам сделать, это прочитать немного о веб-разработке.Книга, которая начинала меня, была PHP и mysql для чайников.http://www.bol.com/nl/s/boeken/zoekresultaten/Ntt/php+and+mysql+for+dummies/search/true/searchType/qck/N/8299/Ntk/books_all/index.html

Но я дам вам некоторую основную информацию, которая поможет вам начать.Когда пользователь запрашивает страницу, используя свой веб-браузер (клиент), сервер ищет запрошенный файл.Когда сервер заметит, что запрошенный файл, он начнет его выполнять.Когда он начинает это делать, он отправляет все содержимое файла непосредственно клиенту, поэтому файл PHP с следующим содержимым

<html>
<body>
  <ul>
   <li>item 1</li>
   </li>item 2</li>
  </ul>
</body>
</html> 

будет выглядеть так

  • item 1
  • item 2

Если вы хотите, чтобы сервер фактически выполнял то, что находится в файле, вам нужно использовать начальный тег PHP:

и окончаниеТег PHP?>

, поэтому тот же вывод, что и выше, можно сгенерировать, поместив в файл следующее содержимое:

<?php
echo "<html>
      <body>
      <ul>
        <li>item 1</li>
        <li>item 2</li>
      </ul>
      </body>
      </html>";
?>

. Вы также можете объединить эти два элемента, чтобы сделать более интересные вещи, такие какследующий контент

<hr>
<?php
$a = 1;
$b = 2;
function add($num1,$num2){
    return $num1+$num2;
}
?>
Let's see what 1 + 2 equals<br>
<?php
echo "<hr>".add($a,$b);
?>

Это будет выглядеть так, когда браузер его получит:


посмотрим, что 1 + 2 равно

3

а что на самом деле здесь происходит?Во-первых, сервер встречает


Сервер находится в том, что мы называем режимом HTML, он будет отправлять любые выходные данные непосредственно клиенту.Во второй строке, однако, у нас есть PHP, запускающий tat (). Теперь мы вернулись в режиме HTML, поэтому фраза «давайте посмотрим, что равно 1 + 2 равно» отправляется непосредственно клиенту.А потом пришло время вернуться в режим PHP.Там, где мы выводим (выводим) еще одно горизонтальное правило, объединенное с выводом функции add, учитывая значения $ a и $ b.

Надеюсь, это поможет.

1 голос
/ 11 мая 2011

Вы можете сделать это несколькими способами.

С помощью Ajax (jquery будет проще) сделать вызов PHP-скрипту и удалить (из базы данных, я полагаю?)

makeимя каждой кнопки уникально: delete_challenge delete_defence

PHP:

$set = new fns_delete();


if( $_POST['delete_challenge'] )
   $delete_challenge = $set->challenge();
else if ( $_POST['defence'] )
  $delete_defence = $set->defence();
1 голос
/ 11 мая 2011

Когда вы отправляете форму на странице HTML с помощью кнопки input type="submit", PHP будет содержать пару имя-значение кнопки отправки в параметрах POST или GET.Итак, страница, которая получает отправку, должна проверить наличие этого значения и выполнить желаемое действие, независимо от того, что это:

HTML:

<form method="POST">
<input class="delete_challenge" type="submit" name="delete_challenge" value="" />
<input class="delete_defence" type="submit" name="delete_defence" value="" />
</form>

Нажатие delete_challengeКнопка создаст следующий массив POST:

$_POST = array(
    'delete_challenge' => ''
);

PHP:

<?php

if (isset($_POST('delete_challenge'))) {
    // Do action
} else if (isset($_POST('delete_defence'))) {
    // Do action
}
1 голос
/ 11 мая 2011

Есть несколько способов сделать это.

1) Вы можете сделать так, чтобы кнопки делали ajax-вызов на страницу php, делая удаление.

2) Получить или отправить из формына страницу, где срабатывает ваша функция удаления.(это может быть та же страница)

Пример варианта 2:

Пример формы

<form action="#" method="post">
  <input class="delete_challenge" type="submit" name="delete" value="" />
  <input class="delete_defence" type="submit" name="delete" value="" />
</form>

Пример php

if (isset($_POST['delete'])) {
  $set = new fns_delete();
  $delete_challenge = $set->challenge();
  $delete_defence = $set->defence();
}
1 голос
/ 11 мая 2011

Кнопки должны иметь разные названия:

<input type="submit" name="delete_challenge" value="" />
<input type="submit" name="delete_defence" value="" />

...

$set = new fns_delete;
if (isset($_POST['delete_challenge'])) {
   $delete_challenge = $set->challenge();
}
if (isset($_POST['delete_defence'])) {
   $delete_defence = $set->defence();
}

Будьте осторожны, предоставляя пользователям возможность что-либо удалять.

...