如何从提交按钮调用php函数?

时间:2013-07-26 04:22:04

标签: php

我的文件名是contacts.php,它有两个提交按钮;我希望如果按下插入按钮,则调用插入函数,如果按下了select,则调用select.i编写了以下代码:

//contacts.php
<?php
 if(isset($_REQUEST['select']))
{
    select();
}
else
{
    insert();
}
?>

<html>
<body>
<form action="contacts.php">
<input type="text" name="txt"/>
<input type="submit" name="insert" value="insert" />
<input type="submit" name="select" value="select"/>
</form>

<?php
function select()
{
   //do something
}
function insert()
{
   //do something
}
?>

但它不起作用。请帮助

5 个答案:

答案 0 :(得分:11)

<?php
if (isset($_REQUEST['insert'])) {
    insert();
} elseif (isset($_REQUEST['select'])) {
    select();
}

即使没有点击任何按钮,您的代码也会调用insert(),这会在首次显示该页面时发生。

答案 1 :(得分:1)

如果使用return内部函数返回结果,则必须使用echo在调用函数时打印结果。

if(isset($_REQUEST['select']))
{
    echo select();
}
elseif(isset($_REQUEST['insert']))
{
    echo insert();
}

答案 2 :(得分:1)

使用post方法,因为它是安全的

//contacts.php
<?php
 if(isset($_POST['select']))
{
    select();
}
else
{
    insert();
}
?>

<html>
<body>
<form action="contacts.php" method="post">
<input type="text" name="txt"/>
<input type="submit" name="insert" value="insert" />
<input type="submit" name="select" value="select"/>
</form>

<?php
function select()
{
   //do something
}
function insert()
{
   //do something
}
?>

答案 3 :(得分:1)

正如一些人所描述的(总结以前的评论),您有两种选择。

第一种是通过POST或GET直接将数据发送到服务器,并根据select()和insert()中的内容保留(刷新)页面。

虽然这不是POST v GET讨论的正确位置,但约定是在向服务器发送数据时使用POST。 POST稍微更安全,因为信息不存储在浏览器中。在此处阅读有关这两者的更多信息:http://www.w3schools.com/tags/ref_httpmethods.asp

第二个选项是使用AJAX完成您的任务而不刷新网页。简而言之,AJAX使用您放置在页面上的Javascript方法与服务器进行通信,从而避免服务器上的PHP实际更改页面上的任何内容(这需要刷新)。可以在此处找到AJAX的代码示例:http://www.w3schools.com/ajax/tryit.asp?filename=tryajax_first

答案 4 :(得分:0)

<?php
$insert = $_POST['insert'];
$select = $_POST['select'];

if ($insert) {
insert();
}

if ($select) {
select();
}

else {
echo 'press any button...';
}
?>

<html>
<body>
<form action="contacts.php" method="post">
<input type="text" name="txt"/>
<input type="submit" name="insert" value="insert" />
<input type="submit" name="select" value="select"/>
</form>

<?php
function select() {
echo 'you pressed the [select] button';
exit;
}

function insert() {
echo 'you pressed the [insert] button';
exit;
}
?>