WEBサイト制作ど素人のおやっさんが、HTML、CSS、PHPなど学んでいく技術ブログです。
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
↓次にlogout.phpを作ります。
引数の値やデータ型の情報を出力します。※var_dump()のほうが詳細らしいです。
セッションの初期化です。空の配列を代入します。
Cookieの破棄です。つまり、リンクIDの破棄です。
setcookie(Cookie名,'(※空にする)',time()-3600(←※現在時刻-3600秒前),'/(←※「/」はサイト全体の意味です。)')こんな感じです。
セッションの破棄です。
内容が<br />タグなしでも改行されます。
今度は会員制掲示板を作ります。この教本つくって覚えるPHP入門はログインシステムがおかしいって言うかこんなめんどくさいログインの仕方しないだろうって感じですがとりあえずやります。
とりあえずサイトマップを作ってみました。
↓login.htmlをchap5ディレクトリの中に作ってみましょう。
↓とりあずstyle.cssも作ってみました
inputタグのtype属性、passwordです。入力値は黒丸等の伏字で表示さます。暗号化はされないそうです。
↓こんな感じで画面ができます。(※画像はクリックで拡大できます。)
↓check_login.phpを作ります。
セッションを扱うときは必ず記述すします。書き込み/読み込みどちらも記述は一緒です。ファイルの最初に実行します。(HTMLタグを含む)
ログインフォームからユーザ認証プログラムへ「ユーザー名」「パスワード」を送信し、ログインに成功すればセッションを生成しログインに成功すればセッションを生成し、ブラウザのCookieにセッションIDを書き込みます。セッション変数をセッションIDをリンクさせてサーバー上に保存します。ページ移動時はブラウザーのCookieからセッションIDを取り出し、セッションを生成した
ブラウザーかどうかを判断します。セッションを生成したブラウザ(同じセッションIDを持つブラウザー)であれば、サーバーに保存されているセッション変数へのアクセスが可能です。こんな感じでログインが維持されています。これはそのセッション変数です。
引数のデータ件数を取得です。
よくわかりませんがmysql_query()の戻り値、ここでは「1」の時trueです。その他はたぶんfalseを返します。
httpヘッダを送信する。ほかのページに飛ばすってことです。リダイレクトってやつです。コンテンツタイプ指定、文字コード指定。って、メモってあるんですけど何のことかわかりません。
アンケート結果
1.検索結果(query_question.php)
↓
2.結果画面(show_question_db.php)
↑こんな感じで作っていきます。
ではquery_question.phpを作ってみましょう↓
日時を取得します。
date('Y/m/d H:i:s)で年/月/日 時:分:秒になります。/や:の文字列は自色々な文字列を使えます。タイムスタンプを省略すると現在の日付になります
。
文字列からタイムスタンプ(※1970年1月1日 00:00:00からの秒数です。)を取得します。
strotime('now')で今です。
strotime('+1 month')で1ヶ月後です。色々記述の仕方があるらしいので、使うときにググるのがいいかと思います。
↓こんな感じの画面です(※画像はクリックで拡大できます。)
↓次にshow_question_db.phpを作ります。
functionで自分で関数が作れます。
①引数1つ、戻り値あり
function tax($num){$num*=1.05;
return $num}
$price = tax(10000);
これでtax()と言う名前の関数ができました。消費税の計算をできますね。戻り値とは関数に引数を入れて出た値の事です。たぶんです。②戻り値なし
function h($str){
$str = htmlspecialchars($str, ENT_QUOTES);
echo $srt;}
h(POST_[''messagr]);でサニタイズできます。なんで戻り値なしなんだろう?なんか難しいです。
③引数を2つ(省略不可)
functio taxIn($price,$tax){
return $price*$tax;
}
$price = taxIn(10000,1.05);で掛け算ですね。また消費税の掛け算です。引数を2つを省略して使えないって意味です。
④引数2つ(第2引数省略可)
function taxIn($price,$tax = 1.05){
return $price*$tax;
}
$price = taxIn(10000); →「10500」
$price = taxIn(10000,1.07); →「10700」
です。この場合第2引数に初期値(1.05)を入れているのいるので第2引数を省略することも可能です。このまま第3引数もある場合、第2引数省略時、第3引数は渡せないそうです。難しいけど、よく考えると理屈はわかります。後、初期値のない引数は省略できないので第1引数にするそうです。この辺は実際、使うようにならないとわからなのかもしれません。要は慣れなんでしょうね。
SQL文です。
lang_java,lang_cs,lang_cpp,lang_basic,job,entry_date FROM(←※question_tdから テーブル名です。) question_td WHERE(※条件①→) purchase_date>="'.$sdate.'"AND(※条件②→) purchase_date<="'.$edate.'"';>
みたいな感じです。
ソート(※データの集合を一定の規則に従って並べること。らしいです)の場合に使います。
ORDER BY フィールド名; 又はORDER BY フィールド名 ASC;で昇順
ORDER BY フィールド名 DESC;で降順です。頭が限界です。
データを1行分オブジェクト型で受け取るらしいです。ここでは
while($row(←※オブジェクト)=(←※代入)mysql_fetch_object($query)){
echo '<tr>';
echo '<td>'.$row(←※オブジェクト)-<(←※-<は決まっている)question_id(←※プロパティ ここはフィールド名、クォーテーション不要です。).'</td>';
echo '<td>'.$row-<purchase_date.'</td>';
・
・
・
echo '</tr>';
}みたいな感じです。なんか配列と同じような感がします。ムズイです。
↓アンケートの結果はこんな画面で表示されます。やってる本人も完全には理解できません。
write_question_db.phpを作ります。
エラーが出ることもありそうですがとりあえずスルーします。すいません。
MySQLへの接続をする。関数です。MySQLとはデータベースサーバーのOS的なものだと思います。たぶん。ここでは
$conn = mysql_connect('localhost','sample_user','sample_pass');
と$connに代入します。これがリンクIDになります。
接続に失敗したらfalseを返します。
データベースを選択します。
データベースサーバーに命令をする文ですかね。たぶん、そんな感じです。言葉が足りずすいません。
INSERT文・・・データベースのテーブルへの書き込みです。
UPDATE文文・・・データベースのテーブルへの上書き(書き換え)ですかね?
DELETE文・・・データーベースのテーブル中のデータ削除です。たぶんです。
ここではINSERT文を使います。
$sql = 'INSERT(←※書き込みます。) INTO (←※question_tbの中に)question_tb(←※テーブル名)(purchase_date,purchase_price,star,lang_php,
lang_perl,lang_java,lang_cs,lang_cpp,lang_basic,job(←※カッコの中は全部フィールド名です))
VALUES(値)("'.$pdate.'",'.$pprice.','.$star.','.$lang[0].','.$lang[1].','.$lang[2].','.
$lang[3].','.$lang[4].','.$lang[5].',"'.$job.'"(←カッコの中は全部、値です。))';
$langシリーズは「0」か「1」が値になります。真偽値booleanのデータ型なので。
$pdateは「/」が入っているので文字列になります。データ型はvarcharです。なので「"」で囲みます。
他は整数です。データ型はintです。
フィールド名と値の順番は同じにしないと、だめです。値は
データベースに設定したデータ型のもの渡さないとだめです。
とりあえず、ここで$sql
にSQL文を代入しときます。
MySQLクエリを送信する。この時、SQL文はデータベースサーバーで実行されます。クエリとは命令するとかそんな意味らしいです。
check_question.phpのformタグのaction属性をwrite_question_db.phpに書き変えます。
question.htmlからアンケートを送信しまくってください。↓(※画像はクリックで拡大できます。)
コマンドプロントでデータベースに接続してテーブルデータが書き込まれたか確認してみましょう。↓
↓データが書き込まれたのををこんな感じで確認できます。(※画像はクリックで確認できます。)
データベースにデータを保存するためにデータベースの設定をします。
①データベース作成
↓
②データベースを操作するためのデータベースユーザの作成
↓
③データベース上にアンケート入れる為の表(テーブル)を作成します。
①②は前にやったので③のテーブルの作成から始めます。
XAMPPのApacheとMySQLを起動して、コマンドプロントを開きます。
まとめてみました↓
こんな感じでなってます。真偽値のところが2つあるのですがtinyintはググると難しそうなので、ここでは先に進めます。
カレンダー
最新コメント
最新記事
プロフィール
ブログ内検索
最古記事
P R
忍者ツールズプロフィール
カウンター
コガネモチ