ThinkPHP で一般的に使用されるフォーム送信操作には、post メソッドと get メソッドが含まれます。
post メソッドは get メソッドより安全です。get メソッドを使用すると、アカウントのパスワードやその他の情報を含む、送信されたフォームがアクセス パスに表示されますが、post メソッドはそのデータを非表示にします。 。
add メソッドを書き換えて、投稿リクエストであるかどうかを判断します。投稿リクエストである場合は、フォームの送信を処理します。そうでない場合は、テンプレートを表示します。
拡張: リクエストが投稿であるかどうかを判断するにはどうすればよいですか?
回答: if($_POST) を使用して判断できますが、ThinkPHP では、システムが一般的に使用されるいくつかの定数をカプセル化します。定数を直接使用して判断できます。一般的な定数は次のとおりです:
IS_POST リクエストがポストの場合、IS_POST の値は true、それ以外の場合は false
IS_GET
IS_AJAX リクエストが ajax の場合、IS_AJAX の値は true、それ以外の場合はfalse
IS_CGI
IS_PUT
#データ受信の手順:
以前 $_POST を使用してデータを受信したとき、 ThinkPHP では、I メソッド (クイック メソッド) を使用してデータを受け取ることができます。I メソッドはあらゆるタイプの入力 (post、get、request、put など) を受け取ることができ、システムには SQL インジェクションを防ぐメソッドが付属しています。デフォルト (PHP の組み込み関数 htmlspecialchars を使用)。
変数の型は get、post などに似ています。
変数名は、$_GET または $_POST の特定の要素の添え字を参照します。
デフォルト値: フィルタリング方法の使用後に元のコンテンツが空の文字列になった場合、代わりにデフォルト値が使用されます。
フィルタリング方法: ThinkPHP がデフォルトで提供する htmlspecialchars を補足するもので、関数名は PHP または関数ライブラリに組み込むことができます。
追加の指示: 配列全体を受信したい場合はどうすればよいですか?
すべてのデータを受け取りたい場合は、変数名を記述する必要はありません。I('get.');
<?php public function add(){ if(IS_POST){ //处理表单提交 $post = I('post.'); //添加数据 //实例化模型 $model = M('Dept'); $result = $model -> add($post); //判断返回值 if($result){ //添加成功 $this -> success('添加成功',U('showList'),5); }else{ $this -> error('添加失败'); } }else{ //实例化模型 $model = M('Dept'); //查询操作 $data = $model -> where('pid = 0') -> select(); //变量分配 $this -> assign('data',$data); //展示模板 $this -> display(); } }
推奨チュートリアル: thinkphp チュートリアル
以上がthinkphp でフォームを送信するために一般的に使用される方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。