2012年03月05日
講義024日目
------------------------------1H------------------------------
★職業能力基礎
●チームミーティング
・企業研究について
------------------------------2H------------------------------
★掲示板作成
●先週の説明
●MySQLに接続する部分を関数化
・BBSlib/myUtilにPHPファイルを作成
以下の部分を関数化
//mysqlに接続する
$db = mysql_connect("localhost", "ユーザ名", "パスワード");
//データベースを選択する
$sdb = mysql_select_db("データベース名");
・dbChoice();関数を作る
・require_onceで読み込ませる
index.phpにdbChoice();を読み込ませる
require_once("lib/myUtil.php");
dbChoice();
・初期値を入れておける
function dbChoice($host="localhost",$username="ユーザ名",$password="パスワード",$dbname="データベース名"){
//mysqlに接続する
$db = mysql_connect($host, $username, $password);
//データベースを選択する
$sdb = mysql_select_db($dbname);
}
------------------------------3H------------------------------
★掲示板作成
●関数に置き換える
・各ページの先頭部分で関数を呼び込む
require_once("lib/myUtil.php");
各ページにあるデータベース接続してる部分に
dbChoice();
●エラーチェックの関数化
・戻り値(retune命令で戻す値は)
$error_arr["error_yn"]
$error_arr["nickname_error_yn"]
$error_arr["content_error_yn"]
$error_arr["content_worderror_yn"]
で作る
呼ぶ側のphpファイル、submit.phpとreply_submit.phpでは
データの挿入やエラーメッセージの出力において
条件分岐してるため、各項目のynを確認するために配列で取得
------------------------------4H------------------------------
★掲示板作成
●myUtil.phpのエラーチェック部分
function errorCheck($nickname, $content) {
//retrun用の配列「$rtn」を作成
$rtn = array();
//エラーフラグ
$error_yn ="n";//エラーがあるかどうか
$nickname_error_yn = "n";//ニックネームが入ってるか
$content_error_yn = "n";//内容が入ってるか
$content_worderror_yn = "n";//
//エラーチェック
if ($nickname == "") {
$nickname_error_yn = "y";
$error_yn = "y";
}
if ($content == ""){
$content_error_yn = "y";
$error_yn = "y";
}
//strpos関数は、最初に見つかった位置を返す
//一番最初に該当する文字があった場合「0番目」となるので、
//falseと!==で比較して、0と区別します
if (strpos($content, "NGワード") !== false){
$content_worderror_yn = "y";
$error_yn = "y";
}
$rtn["error_yn"] = $error_yn;
$rtn["nickname_error_yn"] = $nickname_error_yn;
$rtn["content_error_yn"] = $content_error_yn;
$rtn["content_worderror_yn"] = $content_worderror_yn;
return $rtn;
}
●submit.phpとreply_submit.phpの関数を受ける部分
$error_arr = errorCheck($nickname, $content);
$error_yn = $error_arr["error_yn"];
$nickname_error_yn = $error_arr["nickname_error_yn"];
$content_error_yn = $error_arr["content_error_yn"];
$content_worderror_yn = $error_arr["content_worderror_yn"];
クラス化すると戻り値の配列で受け取らなくても良くなるが、それはそのうち……
今は戻り値の配列の内容を変数に各々入れることで処理
--------------------------------------------------------------
●関数について
多重定義禁止→同じ関数名を二度使うのを禁止すること
・require_once()
読み込みに多重定義禁止されてる処理があったら無視する
・reqiuire()
require_once()に比べて軽い(ほとんど同じ)
・include_once()
・include()
------------------------------5H------------------------------
------------------------------6H------------------------------
★先行教室見学
-----------------------------memo------------------------------
なんとか理解できた
0 件のコメント:
コメントを投稿