プロファイルデータをDBに送る最良の方法

私は現在、物事を設定しています。私のアプリケーションでは、FB Graph APIを使用してアクティブユーザーに関するデータを取得します。特定の関連データが不足している場合は、欠落しているデータをユーザーに尋ねるHTMLフォームを作成します。私はこのデータを受け取り、後で使うためにデータベースに送るPHP関数を作成しました。

私の質問はこれです:これらのPHP関数はどこに置くのですか?説明のためにいくつかのサンプルコードを追加します:

この関数は、ユーザーからどのデータが欠落しているかをチェックします

function CommunityCollege() {
        if (isset($this->school_major)) {
            if (isset($this->school_grad)) {
                echo "We've got everything.";
            } elseif (!isset($this->school_grad)) {
                $this->getCCGraduationDate();
            }
        } elseif (!isset($this->school_major)) {
            if (isset($this->school_grad)) {
                $this->getCCDegree();
            } elseif (!isset($this->school_grad)) {
                $this->getCCGraduateDateDegree();
            }
        }
    }

これは欠落したデータを取得するためにHTMLフォームを発行する関数の1つです

function getCCGraduationDate() {
        ?>
        <form method="post" action="processor.php">
        Graduation Date: <input type="text" name="CCgraduationdate">
<input type="submit"> <?php }

この関数は、送信された値を受け取り、それらをDBに送信します

function sendCCGraduationDate() {
    $con = mysql_connect("localhost","root","XXX");
    if (!$con)
        {
    die('Could not connect: ' . mysql_error());
        }
        mysql_select_db("user", $con);
        $sql = "UPDATE profile SET CommunityCollegeGraduationDate='$_POST[CCGraduationDate]' WHERE userid=$this->user_id";
        mysql_query( $sql , $con );

        mysql_close($con);

    }

しかし、あなたが想像しているように。 HS、コミュニティカレッジ、カレッジ、大学院などにいるユーザーもいれば、FBでどのように設定されているかのバリエーションは何百もあります。だから、私はこれらのタイプの問題に対処するために数百の機能を持っています。私の質問は、最後の機能を呼び出すための最良の方法、フォームデータをDBに送信し、ユーザーを簡単にプロファイルページに戻す方法です。私はちょうどそれにDB関数に送信すると、別のprocessor.phpフォームを作成するのですか?これを行う簡単な方法はありますか?

私が明白でないなら、私に知らせるのをためらってください。ありがとう。

編集:

これは今のところです:

  <form method="post" action="processor.php">

Is there a way to replace processor.php with $this->sendCCGraduationDate? See what am I getting at? So when the user clicks submit the function is called without having to go to another page.

0
あなたがWebアプリケーションを構築しようと思っているなら、私はCodeIgniter(個人的な好み)、CakePHPまたはその他のようなあらかじめ構築されたフレームワークの使用を検討します。しかし、あなたの質問に答えるには、あなたが "何百もの機能"を持っていれば、それらをどこに置いていますか?クラス内で関数を相互に関連付ける方が、さまざまな嘘をついているよりもはるかに優れています。
追加された 著者 escproxy,
@ Jared Farrish:具体的なコーディングの質問として、これはSOに属しています。 Programmers.SEからマイグレーションされたものは、ドゥーとして閉じられています。あなたの国旗をありがとう。
追加された 著者 BoltClock,
すべての大文字で記入しないでください。それは失礼だと考えられています。大文字と小文字を使用してみてください。太字はあなたが必要とするすべての強調です。
追加された 著者 S.Lott,
programmers.stackexchange.com に所属しています。
追加された 著者 Jared Farrish,
SOは通常、具体的な回答がある質問のために予約されているので、「最良の方法」と「ベストプラクティス」の質問は本当に適切ではありません。一方、プログラマは、なぜこのような最善の方法と何が最善の方法かに依存している理由と対処方法を扱うことになっています。
追加された 著者 Jared Farrish,
@mattmclaren - あなたの質問にあなたの答え/コメントを編集しました: stackoverflow.com/questions/8556467/…
追加された 著者 Jared Farrish,
それは本当に概念的な質問ではありません。私は、これらの機能を一貫して結びつける最良の方法は何か、と尋ねています。 1)欠落しているものを見つける、2)欠落しているデータを要求する、3)DBにデータを送る。プロフィールページであることを忘れないでください。そのため、ユーザーは1ページに留まる必要があります。
追加された 著者 Matthieu McLaren,
私の最後の編集をチェックしてください。まだこれが概念的すぎると思うなら、私は切り替えます。フォームデータを処理するためのすべての単一の関数で100個のprocessor.phpバリエーションを作成する必要はありません。
追加された 著者 Matthieu McLaren,

答えはありません

0
PHP - 日本のコミュニティ [ja]
PHP - 日本のコミュニティ [ja]
4 参加者の

このグループではPHPについて話します。 パートナー:kotaeta.com