ホームページ  >  記事  >  バックエンド開発  >  PHPをより良く、より効果的に実装する方法---ユーザー登録ページ_PHPチュートリアル

PHPをより良く、より効果的に実装する方法---ユーザー登録ページ_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:58:44963ブラウズ

プログラマであれば誰でもフォーラムに参加しており、フォーラムの登録ユーザーである必要があります。フォーラムでのユーザー登録の手順はいくつかの部分に分かれています。 最初のステップは契約ページです。この契約に同意することによってのみ、次の登録ステップに進むことができます
ステップ2: フォーム入力ページでユーザーの登録情報を入力します
ステップ 3: 登録結果ページ、登録の成功を促すメッセージ


実際の作業では、この種の登録ページを開発して実装したい場合は、多くの問題に注意する必要があります:

1 ユーザーは「最初のステップ」をスキップし、規約ページを読まず、2ステップ目のURLから直接フォーム入力ページにアクセスします。
2. ユーザーが「第 3 ステップ」を完了すると、ページを更新し続けます。ユーザーが入力した情報は、更新されるたびに再保存されます
。 3. ユーザーが「第 3 ステップ」を完了したら、「戻る」をクリックして情報を変更し、再度送信します。


このようなフォームは Web 開発の過程でよく発生します。ポイント 3 に関しては、現在のほとんどすべてのフォーラムでこの問題が発生します。しかし、上記の問題はどうすれば回避できますか?

今日、上司から、要件を満たすファイルを誰でもアップロードできるファイル アップロード ツールの作成を手伝ってほしいと頼まれました。これは、私が行ったユーザー登録プロセスと同じで、3 つのステップに分かれています。以前にも同様のことを行いましたが、アンチリフレッシュメカニズムは適切に設計されていません。とにかく、今日は何もすることがないので、少し調べて、上記の問題を回避するコードを実装する方法を確認します。 --------------------------------------------------
--------------------------------------------------
以下は、上記の問題を回避するために個人的に設計した実装コードです。ブラウザから register.php にアクセスする場合、「ユーザー名」と「アドレス」を両方とも空にすることはできず、エラーが表示されます。情報; 両方の入力ボックスが空でない場合、送信は成功する可能性があります。送信が成功したら、更新して戻って効果が得られるかどうかを確認できます。

ファイル 1: config.inc.php


//セッションを開始します
session_start();

//ローカルキャッシュを行わないように設定します
header('Expires: '.date('D,d M Y H:i:s',mktime(0,0,0,1,1,2000)).' GMT');
header('Last-Modified:'.gmdate('D,d M Y H:i:s').' GMT');
header('キャッシュ制御: プライベート、キャッシュなし、必須再検証');
header('プラグマ: キャッシュなし');

?>


ファイル 2: register.php


require_once "config.inc.php";

if(isset($_SESSION[ステップ2]) && isset($_POST[ステップ2])) {
//登録の最後のステップ
$errorStr = formStep3();
if($errorStr!=null){
require_once('step2.html');
}その他{
require_once('step3.html');
unset($_SESSION[ステップ2], $_SESSION[ステップ1]);
}

} else if(isset($_SESSION[step1]) && isset($_GET[step1])) {
//登録の第二ステップ
require_once('step2.html');
$_SESSION[ステップ2] = 1;

} 他 {



http://www.bkjia.com/PHPjc/631982.html

www.bkjia.com

http://www.bkjia.com/PHPjc/631982.html技術記事プログラマであれば誰でもフォーラムにアクセスし、フォーラムにユーザー登録する必要があります。フォーラムでのユーザー登録の手順はいくつかの部分に分かれています。最初の手順は、この契約に同意することだけです。入ってもらえますか...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。