2009-06-01から1ヶ月間の記事一覧

Jun30:mysql_real_escape_string&正規表現について

DBに「'」から始まるテキストを入れることが出来ない!!という問題が発生した。これを解決するのはmysql_real_escape_string関数。 mysql_real_escape_string($str);で、メタ文字にバックスラッシュをつけてくれる頭のよい関数なのだ。htmlspecialcharsと似て…

Jun29(2):includeについて

include()とrequire()の違いどちらも外部ファイルを読み取る為の関数であるが、この二つ何が違うんでしょうか。 require文は指定したファイルが無い場合などのエラー時にはFatal Errorとして扱われる。つまり、読み込みに失敗した時などには処理が停止してし…

Jun29:チェックボックスで作られた配列をset型のカラムに入れる

今、こんなようなチェックボックスがありました。 趣味 音楽<input type="checkbox" name="h_array[0]" value="music"> 映画<input type="checkbox" name="h_array[1]" value="movie"> その他<input type="checkbox" name="h_array[2]" value="other">実際はこんな感じです。 趣味 音楽 映画 その他 チェックボックスの$_POSTの値は配列で帰ってくるので、それをmysqlのset型に落とし込もうとするが、 mysqlに渡す値は、例えば音楽と映…

Jun26:phpとmysqlの接続

phpでmysql関数が使えるようになった。試しに、mysql_connect()で、ちゃんとアクセスできているかを確かめる。mysqlのrootでアクセスする。 $db_host = "localhost"; $db_user = "root"; $db_passwd = "*******"; $db = @mysql_connect($db_host,$db_user,$d…

Jun24(4):phpリコンパイル

とりあえず、phpに--with-mysqlのモジュールが入っていなかったので、phpをリコンパイルすることによって、mysqlモジュールを追加する。 # make clean # ./configure --with-mysql --prefix・・・・・・・・エラー。ったく。 configure: error: Cannot find …

Jun24(3):フォームデータの保存(mysql関数)

とりあえず想像力を働かせて、mysql関数を堂々と使ってみた。 $db_host = "localhost"; $db_user = "root"; $db_passwd = "********"; $db = mysql_connect($db_host,$db_user,$db_passwd); $db_name = "plactice"; ・ ・ ・ ・ mysql_select_db($db_name,$d…

Jun25(2):mysqlの正規化

正規化とは??様々な要素から構成されているテーブルを分離させてしまう事。整理整頓。これ大事。 大きく分けて正規化には3つの正規化がある。 第一正規化 すべての属性の値を単純な値にする。 第二正規化 主キーが複数あった場合、部分従属している属性を分…

Jun25:my.cnfの設定

いちいち文字コードを指定するのが面倒くさくなったので、設定ファイルで設定しちゃおって思った。設定ファイルは/etcの中のmy.cnfというファイルらしいが・・・。探してみると、ない。 えぇ、ないww。 ないですよ。 調べてみると、/etc/share/mysqlのmy-med…

Jun24(4):timestampが同テーブルに2カラム分あったらどーなんの?

ってことですよ。こんなテーブルがあったとしましょう。 +---------+-----------+------+-----+---------------------+-------+ | Field | Type | Null | Key | Default | Extra | +---------+-----------+------+-----+---------------------+-------+ | ti…

Jun24(3):テーブル設計の続き

さて、DBの文字コードデフォルトをutf8にして、実際にDBを作ってみた。文字コードの確認。 mysql> show variables like "%char%"; +--------------------------+----------------------------+ | Variable_name | Value | +--------------------------+-----…

Jun24(2):mysqlパスワード設定

遅ればせながらmysqlのrootのパスワード設定。とりあえずまだパスワード未設定の状態でroot権限でmysqlに入り、 mysql> set password for root@localhost=password('hogehoge'); Query OK, 0 rows affected (0.00 sec)とうち、2行目が出たらとりあえずexitす…

Jun24:mysqlテーブル設計

1.HTMLとCSSの基礎で作成したフォームの値が保存できるテーブルを設計・作成して下さい。 仕様として * useridにINDEX,AUTO_INCREMENTの設定をする。 * 登録日時と更新日時を登録できるようにする。 * 都道府県データをデータベースから取得できるよう、 都…

Jun23(2):Mysqlあいまい検索

今、mysqlのテーブルに、 +--------+----------+-----------+-----------------------+-----------+------------+ | userid | lastname | firstname | email | pref | createday | +--------+----------+-----------+-----------------------+-----------+--…

Jun23:HTML(VGAとQVGA)

HTMLでサイトを作っている時に,VGA(640*480ピクセル)対応端末がQVGA(320*240ピクセル)で画像等を表示していて妙に画像がでかくなっていた為、テーブルの表示が崩れていた。なのでこれを直さないといけなくなった。doctype宣言が、 で <meta name="disparea" content="vga"> </meta>

Jun22(2):Mysql基本(2)

■レコードの挿入 →実際にデータを挿入する。 +------------+--------------+------+-----+-------------------+-------+ | Field | Type | Null | Key | Default | Extra | +------------+--------------+------+-----+-------------------+-------+ | useri…

Jun22:Mysql基本(1)

実際にmysqlを動かす前に知っておかなきゃならんこと。■データ型 int / integer 4 バイト整数 smailint 2 バイト整数 bigint 8 バイト整数 float 浮動小数点 double / real 倍精度浮動小数点 date YYYY-MM--DDという形式で格納 datetime YYYY-MM--DD HH:MM:S…

Jun18(2):MySQLインストール

MySQLとは?? MySQLとは、TCX DataKonsultAB社などが開発している、オープンソースのリレーショナルデータベース管理システム(RDBMS)。 マルチユーザ、マルチスレッドで動作し、高速性と堅牢性に定評がある。オープンソースなので基本的には無償で利用するこ…

Jun18:一通り作ったスクリプト

一通りスクリプトを作ってみたんで表示します。 埼玉県","千葉県","東京都","神奈川県","新潟県","富山県","石川県","福井県","山梨県","長野県","岐阜県","静岡県","愛知県","三重県","滋賀県","京都府","大阪府","奈良県","和歌山県","兵庫県","鳥取県","…

Jun17:マジッククオートとは。

php.iniの設定で、magic_quotes_gpcの設定はonになっているが、これはどういうことだろう。調べてみた。マジッククオートがonになっていると、 ・" ・' ・\ ・NULL 以上4つの文字をそのまま映す(\でエスケープ処理)ようにする。つまり、magic_quotes_gpcがONの場…

Jun16(2):エラーチェック(5)

例えば、テキストボックスに、HTMLタグを入れてフォームで送信してしまうと、そのHTMLのタグがそのまま反映されてしまう。これをされたりするとサイトの外観がおもいっきり崩れてしまうほか、ダイアログなんてされてしまったりしたら完全にサイトとして終了…

Jun16:エラーチェック(4)

エラーチェック・・・・の前に、先輩から「UTF-8について調べてみてよ」といわれたので、言われるがまま詳しく調べてみた。 UTF-8とは、UCS-2やUCS-4(Unicode)で定義される文字集合を用いて記述された文字列をバイト列(数値の列)に変換する方式の一つ。UTF-8で…

Jun15:エラーチェック(3)

エラーチェックを本番サイトに反映させていきます。大まかな流れは12日付けのエラーチェックのブログにて。さて、フォームのページから確認画面に行く間にエラーチェックのページを作りました。以下のとおりです。 $error = array(); $check = "/^[^@]+@([-a…

Jun12(2):エラーチェック(2)

さて、最初に $view="top"としてフォームに入力し終わり、エラーチェックに渡す。エラーチェックのスクリプトは以下。 "; } if($_POST["fruit"]==""){ $error[]="好きな食べ物を選択して下さい<br>"; } if(count($error) > 0){ $view = "top"; } else{ $view = "…

Jun12(1):エラーチェック

HTMLとCSSの基礎 で作ってもらったプログラムにエラーチェックを追加する。 確認画面に遷移するときに、エラーがあったらフォームに戻してエラー文言を出す。 htmlやSQLを入力された場合のエスケープ処理を必ず行う。 全項目は、前後の空白を除くtrimをする…

Jun11:入力フォームで入力→確認→戻るのフローで、入力値を保持する(セレクトボックス編)

入力値の保持(続き)input type="select"(セレクトボックス)の値の保持について例えば、 <select name="fruit"> <option value="apple">りんご</option> <option value="grape">ぶどう</option> <option value="orange">みかん</option> </select>実際はこんな感じ。 選択して下さい りんご ぶどう みかん こんなセレクトボックスがあったとする。 しかし仮に都道府県とかを書くフォームだっ…

Jun10:入力フォームで受け渡し→確認→戻るのフローで、入力値を保持する。(テキスト・ラジオボタン・チェックボックス)

入力値の保持。input type="text"(テキストボックス)の値の保持についてたとえば <form method="post" action="plactice3.php"> <input type="text" name="name1"> </form>実際はこんな感じ というテキストボックスがあるとして、この時POSTで渡される配列の値は 入力値になる。つまり $_POST["name1"]=入力値 となる。 そして受け取る側では、 "…

Jun9(1):入力フォームで受け渡し→確認→戻るのフローで、入力値を保持する。

入力フォームにて入力 ↓ 確認画面へ ↓ 戻るボタン ↓ 入力フォームに戻るこの時、入力フォームに値が保持されるようにする。そうしないとユーザが「また入力かよ!」みたいに思うから。 まずは確認画面で戻るボタンを作らねば、 <form method="post" action="complete.html" <input type="bottun" value="戻る" onclick="history.back()"> </form>これが出来たらよいのだが、h…

Jun8(2):PHPで入力フォーム作成

PHPを使って、フォームから受け取ったデータを引き継げるように作る。バーチャルホストにてsvnからチェックアウトしたファイルに対して、 PHPを使って入力フォーム→出力の入力値の引継ぎを行う。 入力フォームのテキスト <form method="post" action="confirm.html"> 性(*):<input type="text" size="45" name="name1"> HTMLのformタグを使ってデー</form>…

Jun8(1):バーチャルホストの設定

バーチャルホストとは。 一つのサーバで複数のドメインを使える。教えたくないドメインやらで作業する必要がなくなるので、公開URLで見られる心配がない。 なるほど、これの設定は、 $ /usr/local/apache2/conf/httpd.confで行うらしい、これといってそれっ…

Jun5(1):まとめ1→文字化け!?

1、今まで作ったサーバをすべて消し去り、もう一度再構築する。 なんと!!あんなに頑張って作った自分サーバを消して再構築とは・・・泣けてくるよ。でも頑張りました。その中で気づいたことを述べておきます。有識者なら当たり前なんだと思いますが、なんせ…