5

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

//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
}
?>

但它不工作。请帮助

4

5 回答 5

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

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

于 2013-07-26T04:25:12.710 回答
1

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

if(isset($_REQUEST['select']))
{
    echo select();
}
elseif(isset($_REQUEST['insert']))
{
    echo insert();
}
于 2013-07-26T04:26:00.807 回答
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
}
?>
于 2013-07-26T04:27:54.387 回答
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

于 2013-07-26T04:49:29.730 回答
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;
}
?>
于 2013-07-26T04:49:00.063 回答