0

PHP スクリプトが大きくなりすぎないようにしようとしており、関連するタスクを実行するファイルを作成する予定です。私の問題は、フォームで送信された値が両方で必要であり、データを共有するための最良の方法がわからないことです。

ユーザーが登録すると、フォーム データが process.php に送信され、データがデータベースに追加され、重複がないかチェックされます。現在、メール認証を追加しています。電子メールの検証に関するすべてのことを、verify.php という名前の独自のファイルに入れたいと考えています。process.php と verify.php の両方が、送信されたフォーム (ユーザー名、電子メール アドレスなど) からのデータを必要とするため、データを共有する最良の方法は何ですか? ここで私が考えた可能な解決策

  1. フォームを process.php と verify.php の両方に送信します (これが可能かどうかはわかりません)。
  2. process.php に verify.php を含める
    • PHP では、process.php の変数 $_GET と $_POST が自動的に含まれますか?
  3. process.php が終了したら、リダイレクト ヘッダーを使用して verify.php に移動し、何らかの方法でフォーム データを渡します。

一般的に言えば、ファイルを含めることは避けるべきですか?

4

3 に答える 3

1

2- process.php に verify.php を含める

これは正しいオプションです。次のようなことができます。

verify.php

次のような検証関数が含まれています。

function email_validation($email){
 //
}

次に、次のように引数を送信できます。

if(email_validation($_GET['email'])){
 //
}

global $varand を使用しないでくださいPHP のグローバル変数は悪い習慣と見なされます$GLOBALS['var']? もしそうなら、なぜですか?

于 2013-08-01T00:21:58.863 に答える
1

フォーム データを $_SESSION に保存し、一定期間後に有効期限が切れるように設定します。

于 2013-08-01T00:18:02.087 に答える