忍者ブログ
[556] [555] [554] [553] [552] [551] [550] [549] [548] [547] [546
カレンダー
06 2024/07 08
S M T W T F S
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
カテゴリー
最新コメント
最新トラックバック
バーコード
ブログ内検索
アクセス解析
勤務表にサインをされる方がそのうちやってもらう仕事があるとおっしゃり、ポータルサイトを使っている方達が使われているシステムを見せられました。
そのシステムではPHPを使っていました。(統合するポータルサイトでもPHPを使っています)
そのシステムはSESSIONを使っている、ゴールデンウィーク中に宿題を出す、掲示板を作るようにとおっしゃりました。
掲示板はSESSIONとデータベースを使う、データベースではCRUD(クラッド)が使われている、とおっしゃりました。
私はインターネットでCRUDを調べてみると、ここのページにCRUDとは、データベース管理システム(DBRS)に必要とされる4つの主要な機能、「作成(Create)」「読み出し(Read)」「更新(Update)」「削除(Delete)」をそれぞれ頭文字で表したもののことである。
と書かれていました。
私は会社に持って行った前に使っていたPHPの本を参考にして掲示板を作成しましたが、if文で==ではなく、=を使っていたので、つまずいてしまい、後になって原因が分かり、解決して、掲示板が完成しました。
完成した掲示板のソースコードと作成したデータベースをエクスポートして、ファイルに保存し、5/6に会社で掲示板が表示出来るか試してみました。
エクスポートしたデータベースをインポートしようとしたら文字化けが発生してしまいました…。
掲示板が上手く表示されませんでした…。
原因を調べると、前に使っていたPHPの本にはPHPの箇所で<?(開始タグ)=(echoに相当する)?>(終了タグ)を使っており、PHPでは短縮形と呼ばれるもので、その場合はpnp.iniでshort_open_tag = On
(デフォルトではOn)にする必要があると書かれてあり、pnp.iniを見るとshort_open_tagがOffになっていたので、Onに設定すると上手く表示されました。
勤務表にサインをされる方が掲示板が出来たかと聞かれたので、私はデータベースで文字化けが発生したと言うと勤務表にサインをされる方がSELECT文の処理の前で$mysql->query("SET NAMES 'utf8'");を付け加えられると($mysql->query("SET NAMES 'utf8'");はデータベースを使っている全てのページに付け加える必要があります)文字化けが直りましたが、掲示板を書き込もうとするとWarning: Cannot modify header information - headers already sent byというエラーメッセージが表示されてしまいました…。
インターネットで調べてみるとここのページにheader("Location:~"); に echo を使うと出てしまいます。
と書かれていましたが、思い当たる箇所がありませんでした。
同じページに上記に当てはまらないなら、php.iniの場合、output_buffering = Offから、output_buffering = Onにする。
と書かれていたので、php.iniのoutput_buffering = Offをoutput_buffering = Onにしようとしたら勤務表にサインをされる方がまたやってこられたので、私は掲示板を書き込もうとするとWarning: Cannot modify header information - headers already sent byというエラーメッセージが表示されると言うと、勤務表にサインをされる方はheader("Location:~");を1番上に持って行ったらどうだとおっしゃったので、私がheader("Location:~");を1番上に持って行くと上手く行きました。
今度は書き込みの1つを変更(削除)しようとしたらパスワードが正しく入力されていたら変更(トップ)のページに、間違っていたら同じページにジャンプする処理があったので、header("Location:~");を1番上に持って行く事が出来ません…。
勤務表にサインをされる方がまた来られたので、書き込みの1つを変更(削除)しようとしたらパスワードが正しく入力されていたら変更(トップ)のページに、間違っていたら同じページにジャンプする処理があると言うと、勤務表にサインをされる方はheader("Location:~");は使わないで、METAタグを使ったらどうだとおっしゃりましたが、私はMETAタグというものが良く分かりませんでした。
勤務表にサインをされる方がインターネットで調べて下さり、METAタグページを転送する方法があるとおっしゃり、header("Location:~");の代わりに$変数に転送したいページ名を代入し、一番下にMETAタグを付け加えればいいとおっしゃりました。

(例)<html>
<head>
<meta http-equiv="Content-type"
content="text/html; charset=utf-8">
<meta http-equiv="refresh" content="0(ページに何秒後に転送するかを指定);URL=<?php echo $変数; ?>">
<title>●ページ転送</title>
</head>
<body>
</body>
</html>


会社で掲示板が上手く動き、プルダウンの3つのパターンのデザインが出来た(実際は4つのパターンのデザインが出来ました)ので勤務表にサインをされる方は統合するポータルサイトのトップページのデザインを少し変更するように、ポータルサイトを使っている方達が使われているのパソコンの解像度に合わせてデザインするようにとおっしゃり、私のパソコンの解像度をポータルサイトを使っている方達が使われているのパソコンの解像度に設定され、トップページのお知らせとスケジュールの欄がカテゴリ別に分かれており、お知らせとスケジュールの欄の上にカテゴリ別のリンクがあるので、それらをボタンで表示できないかとおっしゃり、インターネットでボタンを作成するサイトを調べて下さりました。
私は勤務表にサインをされる方が調べて下さったボタンを作成するサイトをを参考にしてボタンを作成し、
お知らせとスケジュールでここのページの素材を利用しました。
ほかにはページを切り替える時に上のフレームのお知らせを隠そうと思い、インターネットで調べ、お知らせの箇所に<div id="osirase" style="display: block">
</div>を囲い、JavaScriptの箇所でお知らせを隠す処理をしました。

JavaScriptの箇所
function Hide(targetID) { //functionの宣言。受けとったIDは変数targetIDに格納。
if( document.getElementById(targetID)) { //指定のIDのついたオブジェクトがあったら処理する
//指定されたIDのstyle.displayがnoneなら
document.getElementById(targetID).style.display = "none";
}
}

htmlの箇所
onChangeでHide('osirase');を指定する。

CRUD
http://www.sophia-it.com/content/CRUD

phpMyAdmin エクスポート/インポート手順
http://fanstvbackstage.blog71.fc2.com/blog-entry-8.html

PHPエラー Warning: Cannot modify header information - headers already sent by 理由
http://lmaker.blog17.fc2.com/blog-entry-129.html

ButtonMaker
http://box.aflat.com/buttonmaker/

フリー素材「blue-green」
http://bluegreen.jp/index.html

getElementById
http://www.openspc2.org/JavaScript/ref/DOM/getElementById/index.html
PR
この記事にコメントする
name
title
color
mail
URL
comment
pass   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
secret (チェックを入れると管理人だけに表示できます)
この記事へのトラックバック
この記事にトラックバックする:
Powered by Ninja Blog    template by Temp* factory    icon by MiniaureType

忍者ブログ [PR]