PHP はフォームの繰り返し送信を防ぐためにトークンを生成します
1. 送信ボタンを無効に設定します
ユーザーが送信すると、ボタンはすぐに無効な状態に設定されます。これはjsを使って実装されています。
送信前のコードは次のとおりです:
$("#submit").attr('disabled','true');
$("#submit").val("送信してください。 wait ");
実行後、ボタンを元の状態に設定します
コードは次のとおりです:
$('#submit ').removeAttr('disabled');
$("# submit ").val ("送信の確認");
これは、いくつかの単純なフロントエンド送信のためのものです。フォームを作成し、ウェブマスターがそれを送信すると、php ロジック層ファイルはさまざまな js をフィルターします。
有効期限メソッド
ユーザーがボタンを送信した後、トークンが生成され (トークンはビジネス送信ごとに一意の値です)、セッションに保存され、有効期限が設定されます。ユーザーがこれを再度送信すると、トークンが整合性があり、有効期限が切れているかどうかを確認します。整合性があり、有効期限が切れていない場合は、2 回送信されたとみなされます
Example
/*
* PHPは単純にトークンを使用する フォームの重複送信を防ぐ
* この処理方法は初心者向けの参考用です
*/
session_start();
function set_token() {
$_SESSION['token'] = md5 (microtime(true) );
}
関数 valid_token() {
$return = $_REQUEST['token'] === $_SESSION['token'] true : false;
set_token();
return $return ;
}
//トークンが空の場合、トークンを生成します
if(!isset($_SESSION['token']) || $_SESSION['token']=='' ) {
set_token( );
}
if(isset($_POST['test'])){
if(!valid_token()){
echo "トークン エラー";
}else{
echo '正常に送信されました、値:'.$_POST['test'];
}
}
?>
方法 2
//セッションを開く
session_start();
// 送信 ID がある場合
if(isset($_GET['action']) && $_GET['action'] === 'save'){
// ある場合はセッションであり、渡された値と同じです 送信されたとみなされます
if(isset($_SESSION['__open_auth']) && isset($_POST['auth']) && $_SESSION['__open_auth'] = = $_POST['auth']){
print_r ($_POST);
$_SESSION['__open_auth'] = null;//クリア
} else {
//始めましょう
header("location : post.php");
}
exit ();
}
//認可
$auth = $_SESSION['__open_auth'] = time();
?>
< !doctype html>
&それ;/body>
Mysql php データベースは重複レコードを防止します
$link=mysql_connect('localhost','root','root'); // MySQL データベース接続を取得します
$username=$_GET[" name"] // クライアント フォームから渡されたデータを取得します
$q="select * from user_name='$username'"; "SET NAMES gb2312"); //中国語の文字化けコードを避ける
$rs = mysql_query($q, $link) //データベースをクエリする
$num_rows = mysql_num_rows($rs);クエリ結果の行数
if($num_rows==0)
{
$exec="学生 (user_name) の値に挿入 ($username)"
mysql_query("SET NAMES gb2312"); $exec, $ link); // 該当するユーザーが存在しない場合は、データベースにデータを挿入します (登録ユーザー)
echo "ユーザー登録が成功しました!"
else
{
echo "ユーザー名はすでに存在します。もう一度お試しください。 ユーザー名を選択してください! ";
}
?>
セッションの有効期限設定方法で非常に重要な点は、セッションが設定され、送信が成功または失敗したときのセッションの検証です。これはログインに似ています。ログインが成功した場合、セッションをクリアする原理も同様です。
りー
ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











多くの場合、キーワードと追跡パラメーターで散らかった長いURLは、訪問者を阻止できます。 URL短縮スクリプトはソリューションを提供し、ソーシャルメディアやその他のプラットフォームに最適な簡潔なリンクを作成します。 これらのスクリプトは、個々のWebサイトにとって価値があります

2012年のFacebookによる有名な買収に続いて、Instagramはサードパーティの使用のために2セットのAPIを採用しました。これらはInstagramグラフAPIとInstagram Basic Display APIです。

Laravelは、直感的なフラッシュメソッドを使用して、一時的なセッションデータの処理を簡素化します。これは、アプリケーション内に簡単なメッセージ、アラート、または通知を表示するのに最適です。 データは、デフォルトで次の要求のためにのみ持続します。 $リクエスト -

これは、LaravelバックエンドとのReactアプリケーションの構築に関するシリーズの2番目と最終部分です。シリーズの最初の部分では、基本的な製品上場アプリケーションのためにLaravelを使用してRESTFUL APIを作成しました。このチュートリアルでは、開発者になります

Laravelは簡潔なHTTP応答シミュレーション構文を提供し、HTTP相互作用テストを簡素化します。このアプローチは、テストシミュレーションをより直感的にしながら、コード冗長性を大幅に削減します。 基本的な実装は、さまざまな応答タイプのショートカットを提供します。 Illuminate \ support \ facades \ httpを使用します。 http :: fake([[ 'google.com' => 'hello world'、 'github.com' => ['foo' => 'bar']、 'forge.laravel.com' =>

PHPクライアントURL(CURL)拡張機能は、開発者にとって強力なツールであり、リモートサーバーやREST APIとのシームレスな対話を可能にします。尊敬されるマルチプロトコルファイル転送ライブラリであるLibcurlを活用することにより、PHP Curlは効率的なexecuを促進します

顧客の最も差し迫った問題にリアルタイムでインスタントソリューションを提供したいですか? ライブチャットを使用すると、顧客とのリアルタイムな会話を行い、すぐに問題を解決できます。それはあなたがあなたのカスタムにより速いサービスを提供することを可能にします

2025 PHP Landscape Surveyは、現在のPHP開発動向を調査しています。 開発者や企業に洞察を提供することを目的とした、フレームワークの使用、展開方法、および課題を調査します。 この調査では、現代のPHP Versioの成長が予想されています
