あなたはこのような動作の保存に成功した後、例えば保存]ボタンを無効にすることができます:PHPはステートレスで、この基本的な解決策は、各ページ全体の演出を誘発するので
<?php
$isSaveDisabled = false;
if(isset($_POST['save']))
{
echo 'Hello robin';
$isSaveDisabled = true;
}
if(isset($_POST['serach']))
{
echo 'Byeeee robin';
}
?>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="BootStrap/css/bootstrap.min.css">
<title></title>
</head>
<body >
<div class="container jumbotron">
<form action="" method="post">
<div class="btn-group-xs">
<button type="submit" id="btn1" name="save" <?php if ($isSaveDisabled) { echo 'disabled="disabled"';}?>>Save</button>
<button type="submit" id="btn2" name="serach">Search</button>
</div>
</form>
</div>
</body>
</html>
ユーザーインタラクションの後に、アプリケーション全体の状態を評価して構築し、各要求後にそれに基づいてページをレンダリングする必要があります。 (この単純な例では、[保存]ボタンが有効かどうかを評価する必要があることを意味します)
フロントエンドロジックが関係している場合でも、常にバックエンド側の状態を検証する必要がありますJS-onlyの制限を克服するのは簡単です。 しかし、通常は、ユーザーエクスペリエンスを向上させるためには、両方とも持っている価値があります(AJAX経由で保存すると保存ボタンはすぐに無効になります)。
紳士がコメントはできるだけロジックとコードを分離することが非常に重要です。それが実験のためのものなら、それは完全にうまくいっています。しかし、アプリケーションが成長するにつれて、指数関数的に何が起こっているのかを知ることは難しくなります。その結果、ますますバグやメンテナンスが困難になることがあります。
(作成ボタンを押した後、[保存]ボタンを無効にする質問に対して。)UPDATE
これは通常、私は生産使用のためにそれをお勧めしませんJavaScriptで実装するのにはるかに優れて何の関数です。
<?php
$isSaveDisabled = false;
if(isset($_POST['save'])) {
echo 'Hello robin';
} else if (isset($_POST['create'])) {
$isSaveDisabled = true;
}
if(isset($_POST['serach'])) {
echo 'Byeeee robin';
}
?>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="BootStrap/css/bootstrap.min.css">
<title></title>
</head>
<body >
<div class="container jumbotron">
<form action="" method="post">
<div class="btn-group-xs">
<button type="submit" id="btn1" name="save" <?php if ($isSaveDisabled) { echo 'disabled="disabled"';}?>>Save</button>
<button type="submit" id="btn2" name="serach">Search</button>
<button type="submit" id="btn3" name="create">Create</button>
</div>
</form>
</div>
</body>
</html>
まず最初:1つのスクリプト内のHTMLフォームと処理ロジックを実装するために多くのチュートリアルに示されている愚かなhabbitを停止あなたは純粋なPHPソリューションをしたい場合しかし、あなたはこのようにそれを行うことができます。 2つの別々のファイルまたはスクリプトを使用します。 2番目:もしそうした場合は、送信ボタンをクリックするとフォームは、フォーム処理(別のHTMLページまたはリダイレクト)への返信として送信されたHTMLに置き換えられます。 – arkascha
まさに、何が必要でしたか?どのボタンを無効にしますか?どのような状態でそれは無効になるでしょうか? – nmnsud
phpはサーバー側ですので、最初から無効にしない限り、javascriptを使用しない限り変更できません。 –