POSTの値とDBの値のどちらを選択するかの設定。

こんにちは。
昨日の学びの内容をまとめてなかったので、書くことにした原始人美加子です。

 

メルマガの登録プログラムを作っていると、登録情報をフォーム内に再表示したい事があります。(登録内容変更時とか。)

 

今まではフォームに入力した値をPOSTを使って表示させていたが、
登録完了済みの人が、ログイン(名前とemailで本人確認)した場合、登録情報はDBの値を表示させました。

 

ここで問題発生。
ログイン時に使ったフォームは【名前】と【email】のみ。
今までのように、性別や生年月日をフォームの値からPOSTで受け取ることが出来ません。そもそもDBの登録内容を変更させたいので、DBの値をとってこないといけないのですが・・・。どーやったらいいかわかりません!!

 

そんなこんなで、Qちゃん先生に教えてもらうことに。

登録変更ページに移動するためのボタン内容を変更。

上から3行め。【$id】という変数を【hidden】を使って送信。
*この時の$idの説明は→前回の記事を参考にしてね。
その下に【name=”syori_flg” value=”1″】という見慣れない名前を設定。

この【name=”syori_flg” value=”1″】がリンク先のファイルで処理設定しているので、確認してみる。

 

登録変更ページの設定。

上記で送信されたPOST情報を変数【$syori_flg】に代入。
まず 【if文】で「$syori_flg が1」の時と、異なるときの処理を設定。
もし「$syori_flg が1」の時はDBの値を【for文】でくり返し処理する設定をする。

これで、「$syori_flg が1」の時はDBの値を呼び出し、
そうじゃない場合は「POST」の値を呼び出す事ができる。

 

名前空間

クラス名、関数名などの名前が重複しないようにするための機能のこと。

『関数内』で定義している変数名はその『関数内』でのみ有効。

そのため、【関数外】からは参照できない。
その【関数外】で参照したい場合は 新たに〔変数〕に代入する必要がある。

(*『関数内』での処理結果を【関数外】で参照したい場合は、『関数内』で返り値を設定し、【関数外】ではその返り値を受け取る。)

《過去の関連記事》

PHP 関数の設定 と 呼び出し。

PHPで自動メール送信。

メルマガ登録プログラムを書いてみる【途中】

削除ボタン設定(削除フラグ使用)。

PHP テーブル一覧の横に削除ボタンを追加。【途中】

入力フォームを使ってDBのデータを追加。

検索フォームを作る。

DBのレコード追加・検索・更新・削除【SQL文】

1 件のコメント

  1. ピンバック: 関数メモ :nl2br() ・ mb_strimwidth() ・ now() – 原始人みかこのIT奮闘記

コメントは受け付けていません。