5

私のファイル名はcontacts.phpで、2つの送信ボタンがあります。挿入ボタンが押された場合は挿入機能が呼び出され、選択が押された場合は選択が呼び出されます。次のコードを記述しました:

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

何人かによって説明されているように (以前のコメントを要約して)、2 つのオプションがあります。

1 つ目は、POST または GET を介してサーバーに直接データを送信し、select() および insert() 内で行ったことに基づいてページを予約 (更新) することです。

これは POST 対 GET の議論に適した場所ではありませんが、データをサーバーに送信するときは POST を使用するのが慣習です。POST は、情報がブラウザに保存されないため、わずかに安全です。この 2 つについて詳しくは、http ://www.w3schools.com/tags/ref_httpmethods.asp をご覧ください。

2 番目のオプションは、Web ページを更新せずに AJAX を使用してタスクを実行することです。つまり、AJAX は、ページに配置した Javascript メソッドを使用してサーバーと通信するため、サーバー上の PHP がページ上の何かを実際に変更する必要がなくなります (更新が必要になります)。AJAX のコード例は、http ://www.w3schools.com/ajax/tryit.asp?filename=tryajax_first にあります。

于 2013-07-26T04:49:29.730 に答える
1

内部関数を使用しreturnて結果を返す場合は、関数の呼び出し中に echo を使用して結果を出力する必要があります。

if(isset($_REQUEST['select']))
{
    echo select();
}
elseif(isset($_REQUEST['insert']))
{
    echo insert();
}
于 2013-07-26T04:26:00.807 に答える
1

安全なのでポストメソッドを使用してください

//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 に答える
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 に答える