如何使用PHP函数删除数据?

时间:2011-05-10 21:27:31

标签: php function post

我有一些我想要删除的数据,我想使用一个函数来执行此操作:

<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 个答案:

答案 0 :(得分:1)

按钮需要有不同的名称:

<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();
}

小心让用户能够删除任何内容。

答案 1 :(得分:1)

当您使用input type="submit"按钮在HTML页面上提交表单时,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
}

答案 2 :(得分:1)

有几种方法可以做到这一点。

1)你可以让按钮对执行删除的php页面进行ajax调用。

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();
}

答案 3 :(得分:1)

你可以通过几种方式做到这一点。

使用Ajax(jquery会更容易)调用php脚本并删除(我想从数据库中删除?)

使每个按钮的名称唯一: 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();

答案 4 :(得分:1)

首先,你错过了服务器端与客户端脚本的想法。

您在此处编写的代码是用HTML编写的。          

如下所示的PHP代码实际上并未发送给用户。     $ set = new fns_delete();     $ delete_challenge = $ set-&gt; challenge();     $ delete_defence = $ set-&gt; defense();

所有PHP都可以,打印出HTML,然后发送给用户。 我建议你做的是阅读一些关于web开发的内容。一本让我失望的书是PHP和mysql for dummies。 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

但是我会给你一些可以帮助你入门的基本信息。当用户使用他的Web浏览器(客户端)请求页面时,服务器会搜索所请求的文件。当服务器注意到所请求的文件时,它将开始执行它。当它开始这样做时,它会将文件中包含的任何内容直接发送到客户端,因此具有以下内容的PHP文件

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

对用户来说将是这样的

  • 第1项
  • 第2项

如果您希望服务器实际执行文件中的内容,则需要使用起始PHP标记:     

和一个结束的PHP标记     ?&GT;

因此可以通过将以下内容放入文件

来生成与上面相同的输出
<?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的值。

我希望有所帮助。