postとget
データをフォームで送信などした際に$_POSTや$_GETで値を取得するんですが違いがわからず…
サンプルアプリケーションを作る時になって急にGETが出て来て戸惑ったわけです
ほなわけでぐーぐる先生に聞いた所
GETはURLの後ろにくっついて情報を送るわけですか
でもって何も指定が無い場合はGETになるらしいです
なんかGETはあまり内容によってはよろしく無い気がしてたんでQuickFormを使ってPOST送信をするにはどうするのか…
本家様より抜粋
void HTML_QuickForm::HTML_QuickForm ( string $formName = '' , string $method = 'post' , string $action = '' , string $target = '' , mixed $attributes = = null , bool $trackSubmit = = false ) Description コンストラクタです。 <form> タグの属性と送信する値のロードをします。 Parameter string $formName フォームの名称を指定します。 string $method (オプション) フォームのメソッドを指定します。 string $action (オプション) フォームのアクションを指定します。 string $target (オプション) フォームのターゲットを指定します。 mixed $attributes (オプション) その他の <form> タグの属性を指定します。 boolean $trackSubmit (オプション) フォームから送信されたことを確認する機能を 使用するため、hidden フィールドを追加するかどうかを指定します。 $_GET あるいは $_POST の値にそのフィールドが存在しない場合、フォームは送信されなかったと考えられます。
どうやら2番目のコンストラクタ引数に'POST'を指定すればよさそうです
うまく出来ました
なぜか最初に開いた状態でvalidate()が行われ、addRuleが適応されてる状態に…
$stmt->bindParam(':c_id', $_POST['id']);
まさかのこの一行に原因ありっぽいなんで…
$ids = $_POST['id']; $stmt->bindParam(':c_id', $ids);
こうしたらなおりました一応なんでかはわかりません