ラベル セッション の投稿を表示しています。 すべての投稿を表示
ラベル セッション の投稿を表示しています。 すべての投稿を表示

2011/02/25

php住所録作成、セッション

php講習 2/25

・今日はいい天気です。
花粉症で目が痒い、掃除はお休みしました。

<1時間目>
・今日も課題の作成なし
・住所録、機能拡張の続き(今日までの予定)
テスト項目の整理

<2時間目>
・住所録、機能拡張の続き
テスト、動作確認
一般ユーザで表示が消えない
→記述の間違い 
if ($login_authority=2) {
  ↓
if ($login_authority==2) {
パスワードチェックで半角英数のエラーが出ない 
→ ログイン画面で関数を呼んでいなかった
ログオン画面への戻りでエラーが表示されるときがある
→ タイムアウトのとき、外部変数のエラーが出る
<3時間目>
・住所録、機能拡張の続き
 ログオン画面への戻りでエラーが表示されるときがある
   → タイムアウトのとき、外部変数のエラーが出る
引き続き調査中、Webにあるエラーの対策をいくつか試みたがいずれも効果なし

<4時間目>
・住所録、機能拡張
ログオン画面とセッションコントロールの説明

<5-6時間目>
・住所録、機能拡張
   → タイムアウトのとき、外部変数のエラーが出る
セッションの関数を変更したら、エラーになった。戻すと出ない。
Webで調べたら資料があった、phpのバグらしい。
($_SESSIONのキーとグローバル変数が同じ場合で、
その$_SESSIONが外部からグローバル変数とは関係ない外部変数を
別のグローバル変数を介して受け取っている場合)


session_start();
$aaa = 'abc';
$bbb = $_GET['abc'];
$_SESSION['aaa'] = $bbb;

・変数名を変更して対応

 上の例だと$aaa --> $aabに相当

・来週から、smartyの予定
 クラスのことがよく判っていない状況でデバックが出来るものだろうか。

2011/02/18

php住所録作成、セッション、クッキ-

php講習 2/18

・今日は、雨のあとで掃除は中止でした。

<1時間目>
・朝の脳体操、県でfizzbuzz
47都道府県の都道府県コードと都道府県名を通常配列「$pref」に入れる。
以下、問題を写しきれなかったので概要。
47都道府県を1~47の都道府県コードと配列キーが
対象になるように、配列変数「$pref」に格納
なお、3の倍数のときはFIZZ県と表示
5の倍数のときはBUZZ県と表示(公倍数ならFIZZBUZZ県と表示)

・メールで、資料が送付されているので、昨日と同様に「hpdoc」に入れて
フォルダ名をsession2に変更し、プロジェクトを作成する。

<2時間目>
クッキーの復習
ブラウザとサーバでpost,getしているようなもの。
サンプルコードcoockie.phpで、htmlspecialcharsに第3パラメータ「'UTF-8'」を追加。
・「session1.php」「session2.php」「session3.php」を使って、セッションの仕組みを体験

<3時間目>
・「session1.php」「session2.php」「session3.php」を使って、セッションの仕組みを体験(続き)
・MVCモデル
・コントローラ
ページの遷移をコントロールあえて言えば(session2.php)
・課題、住所録拡張機能(ログイン機能)
仕様書の赤:必ず、
青:できれば
黒:出来る人は
画面推移のオレンジの箱:画面は存在しない、プログラム上のみ
ログイン判定を全画面に適用:requireさせる
コントローラのソースコード例、コードの意味を理解して一部修正して使用する。
(そのままでは使えません)
プロジェクトの下に「ctr」フォルダを作ってそこにコントローラのphpファイルを入れる。
期間:2/22(来週の火曜日)まで
userテーブルのプライマリキーはidを付け、int型で作る

<4-6時間目>
住所録拡張機能(ログイン機能)の追加作業
 作業は、テーブルを作るところから。
・クッキーで5分の設定をするが、各画面を開けたときにも5分を設定。
・最低でも以下のファイル構成は作っておく
login.php
menu.php
./ctr/login_ctr.php
logout.ctr.php
・ログイン画面を作って、ctr.phpを作ろうとしたところで時間になった。

2011/01/26

php掲示板、セッションとメ-ルフォ-ム

php講習 1/26

・掃除は江ノ島側の橋でした。

<1時間目>
・準備
 eclipse,zampp,mySQLクライアントの起動
 phpとmySQLのマニュアルページも一応開けておきます。
・昨日と同じ、九九の表を作成する。
htmlのマニュアルページも開けておいたほうが良かった。
今日も提出はしなくていいそうです。

<2時間目>
・資料10、セッションの解説
 phpのセッション関数参照

・資料のプログラムを作成
 session1.php,session2.php(資料はクォートが全角なのでコピーに注意)
・セッションファイルの内容確認
C:\pleiades\xampp\tmp\sess_xxxxx...
・セッションの確認
Firefox のLive HTTP Headers を開き、再度アクセス
Cookie: PHPSESSID=*** というデータが送られていることを確認
・session2.phpを表示し名前を確認
・phpinfo()にて「session」項目を確認
・ローカルのクッキーファイルを確認
 FireFoxから、ツール/オプション/Cookieを個別に削除/localhost/PHPSESSID

<3時間目>
・資料10に従い、掲示板のindex.phpとsubmit.phpにセッションの記述を追加する。
(テキストは、一部全角の記述がある。また一部に記述の不足があるので、意味を考えながら補う)
・追加機能
 返信にニックネームが残るように変更する。(reply.php)
・セッションの削除
session3.php
session3.php実行後、session2.phpを表示して名前が表示されないことを確認
セッションのファイルが空になっていることを確認

<4時間目>
<メールフォームの作成>
1.新しいプロジェクトを作成(mailform)
 必要なファイル名: index.php
          submit.php

2.基本のデータを送信するためのフォームをindex.phpに作成する。
名前
メールアドレス
内容

3.作成した送信フォームからのデータ受け取りをsubmit.phpに作成する。

4.データのチェックを行う
名前、未入力チェック
文字数チェック(20文字以内)
メールアドレス、未入力チェック
内容、未入力チェック

5.使うメールアドレスを選んでおく。
 xxxxx@gmail.com

<5時間目>
・引き続きメールフォームのプログラムを作成
・結果の確認
入力フォームが出来ていること。
 エラーチェックが出来ていること。
・入力チェックの追加
 正しいメールアドレスが入力されていること。

<6時間目>
・「Mercuryメールサーバ」経由で送信できるようですが、
 windowsの環境では、mail環境が設定されていないので、
 phpでのメールの送信はエラーにならないが、gmail側が受け取って
 くれないようです。gmailの設定はこちら。
gmailでは送信メール (SMTP) サーバー - TLS を使用する必要があります。
・明日からの課題についての資料説明
まず、資料を読むことから始めましょう。
スケジュールを立てて2週間2/11まで。