PHP アクセスカウンター

仕様 ファイル・フォルダの構成 [counter] counter.php count.txt 【counter.php】 <?php $fp = fopen(“count.txt”,”r+”)); //読み込み/書き込みモードで開く if ($fp && flock($fp,LOCK_EX)){ //ファイルが存在 かつ ファイルロックが成功 ### 読み込み処理 $cnt = fgets($fp) + 1; ### HTML出力処理 echo $cnt; //数字のみ出力 ### 書き込み処理 ftruncate($fp,0); //ファイルのサイズを0にする。 fseek($fp,0); //ファイルポインタの位置を0バイト目(先頭)にする。 fwrite($fp,$cnt); flock($fp,LOCK_UN); fclose($fp); }else{ echo “ファイルリードエラー [...]

PHP list() each() による配列データの取り扱い

##### each()の使い方 ##### PHP Manual function.each() 配列があるとします。 $normal-array = array(“value1″ , “value2″ , “value3″); キーは数字で0から順に使われています。 $normal-array[0] には “value1″がセットされている。 $normal-array[1] には “value2″がセットされている。 $normal-array[2] には “value3″がセットされている。 each()は配列の先頭から読み取りカーソルを進めます。 [ ]はデータを読み進めてるイメージです。 1回のeach()文で1要素分のデータを読み取ります。 $normal-array = array(["value1"] , “value2″ , “value3″); $normal-array = array(“value1″ , ["value2"] , [...]

phpMyAdmin の導入

http://www.phpmyadmin.net/home_page/index.php のダウンロードページでphpMyAdmin-3.5.1-all-languages.zipをダウンロード 解凍してドキュメントルートフォルダにぶち込む (例)(c:\apache22\conf\httpd.confに指定したフォルダのc:\apache22\htdocs\) http://127.0.0.1/phpmyadmin/ にアクセスするとエラーが。 mysqli 拡張がありません。PHP の設定をチェックしてみてください。 php.iniを編集してMySQLのクライアントライブラリを組み込みます。 extension=php_mysql.dll or extension=php_mysqli.dll (PHP5の改良版MySQLクライアントライブラリ(mysqli)) 探して先頭の;を削除し有効化する。 前者をコメントアウト、後者を有効化で試した。 ※extension_dir = “~” で指定したフォルダに上記エクステンションがあることを確認 Apacheを再起動。 mysqliエラーは消えたがログインできず。 (MySQLで作成したID,PASSを使用) MySQLのサービスが開始していなかったので コマンドプロンプトから net start mysql でサービスを開始。 無事ログインできました。 http://www.y2sunlight.com/ground/?PHP5.0%2F5.phpMyAdmin%A4%C7MySQL%A4%F2%BB%C8%A4%A6#content_1_2

phpUserClassを使ってみた part1

phpUserClassはPHPとMySQLを使ってユーザーIDとパスワードの発行や管理を行うライブラリです。 公式サイトからダウンロードしたファイルを解凍すると、以下のように展開されます。 [phpUserClass] [js] ・form.js ・jquery.js ・login.css ・login.js ・wait.gif ・access.class.php ・example1.php ・example2.php ・example3.php ・example-jquery.php とりあえずapacheのhtdocsフォルダに全てコピーして、example1~3.phpを確認してみると example1とexample3はDBアクセスエラー example2は新規ユーザーの登録処理フォーム example-jquery.phpはjQueryを使ったフォーム であることが分かった。 ユーザー情報を管理するデータベースとテーブルが必要なので、 データベースの作成、テーブルの作成、権限付与などを行った。 テーブルは、example2の中にテーブルを作成するクエリがあるのでそれを実行するだけ。 phpMyAdminを使うとコピー&ペーストで簡単にできる。 DBにアクセスできるようにするため access.class.phpのDB接続用情報を書き換える。 access.class.phpの中にMySQLのユーザー,パスワード,ホスト,データベース名等 設定する項目があるので$dbName、$dbUser、$dbPassの項目を自分のMySQLの アカウントに書き換えた。 もう一度example2にアクセスして 新規ユーザーの登録処理を行うと(userID:test password:test e-mail:[email protected]) 「User registered with user id 1」 ユーザーID 1 [...]

Fatal error: Call to undefined function mysql_connect()

Fatal error: Call to undefined function mysql_connect() 致命的なエラー:定義されていない関数「mysql_connect()」を呼び出しています。 php.iniの設定をしていなかったので以下を書き換えた。 ;extension=php_mysql.dll ↓ extension=php_mysql.dll アパッチ再起動。 今度はこんなエラーが。 Warning: mysql_connect() [function.mysql-connect]: Can’t connect to MySQL server on ‘localhost’ (10061) 警告:関数「mysql_connect()」の機能「function.mysql-connect」がLocalhostのMySQLに接続できません。 MySQLを起動しようとするが、ログインできない。 パスワードを忘れたのかと思いきや、MySQLがサービスとして開始されていなかった。 コマンドプロンプトから net start mysql を入力し、MySQLのサービス開始。 無事、接続完了。

Google chrome グーグルクローム レビュー 使ってみた感想

[速度] ・起動速度 普通 ・画面の表示速度 速い [挙動] ・タブを全て閉じるとクローム本体が終了してしまうので  うっかり閉じてしまうとまた起動しなおすはめに。  (設定で変更できないので拡張機能を追加しなければならない。   その拡張機能の仕様は常に2つのタブを開いた状態を保つというもの。   やっつけ感がする。) [いろいろ] ・タブの幅が変更できない  これも拡張機能? ・設定できることが少ないので基本的に拡張前提で使うのかも ・デザインは良い ・グーグルアカウントと連携している。  youtubeアカウント , ウェブマスターツール 等を利用したり  複数のパソコンでブックマークを連動させたいときは便利。

Call to undefined function mb_detect_encoding()

fatal error : Call to undefined function mb_detect_encoding() 致命的なエラー:定義されていない関数「mb_detect_encoding()」を呼び出しています。 PHPのバージョンは5.2.1.7くらいで最新版に近いはずなので mb_detect_encoding()が実装されていないとは考えにくい ・ ・ ・ php.iniの設定をしていないだけだった。 phpをインストールしたフォルダ「c:\php」にある「php.ini-dist」をコピーして 「php.ini」に名前を変更しphp.iniの以下の部分を書き換える。 ★ extension_dir = “./” ;extension_dirはphp_mbstring.dllが配置されているディレクトリを定義 ファイルの場所が c:\php\php.ini c:\php\ext\php_mbstring.dll なので extension_dir = “./ext” に変更。 ★ ;extension=php_mbstring.dll ;コメントされている部分を有効にする。。。要は先頭の”;”を取る http://www.scollabo.com/banban/php/apd_02.html

MySQL初心者入門講座 コマンドメモ

MySQL初心者入門講座 mysql -u root -p mysql -u pgtop -p show databases; use sampledb040; show tables; select * from t01prefecture; create table t01prefecture (pref_cd int(3),pref_name varchar(10),primary key(pref_cd) ); insert into t01prefecture (pref_cd,pref_name) values(1,’北海道’); INSERT INTO t01Prefecture (pref_cd,pref_name) VALUES(4,’宮城県’),(5,’秋田県’),(6,’山形県’); ※pref_cdやpref_nameの項目名は大文字小文字を区別する。PREF_CD ≠ pref_cd [...]

MySQL Windows7 文字コード

MySQL初心者入門講座を見ながら データベース:sampledb040 テーブル:t01prefecture を作成し、 データの挿入を行った。(pref_cd int(3),pref_name varchar(10) に (1,’北海道’)を挿入) select * from t01prefecture;で確認すると、 ‘北海道’の文字列が文字化けして???と表示されていた。 Xampp 1.7.7 インストール直後、MySQLの文字コードを確認。 (MySQLの設定を何もしていない状態) 環境:Windows7 Xampp1.7.7 コマンドプロンプト 確認方法:mysqlコマンド「show variables like ‘char%’;」 character_set_client : cp932 character_set_connection : cp932 character_set_database : latin1 character_set_filesystem : binary character_set_results : cp932 character_set_server [...]

WordPress インストール&初期設定

1. 無料レンタルサーバーにWordPressをインストールする方法。 WordPress日本語版をダウンロードして解凍するとwordpressフォルダができる。 wordpressフォルダの中にwp-config-sample.phpが入っているので wp-config.phpに名前を変更して、DB情報を書き換える。 (DB名、USER名、パスワード,HOST名) wordpressフォルダを丸ごとアップロードする。 レンタルサーバーでアカウントを取得した場合以下のようになる場合が多い。 [ http://ドメイン名/アカウント名/wordpress/ ] [ http://ドメイン名/アカウント名/wordpress/index.php ] にアクセスするとインストールできる 2. http://ドメイン名/アカウント名/ にアクセスしてブログを閲覧できるようにする方法 wordpressのメニュー[設定]>[一般]でサイトアドレスを変更する。 変更前)http://ドメイン名/アカウント名/wordpress/ 変更後)http://ドメイン名/アカウント名/ wordpressフォルダにあるindex.phpファイルを1.で設定したフォルダにコピーする。 上記でコピーしたindex.phpファイルの以下の行を書き換える。 変更前)require(‘./wp-blog-header.php’); 変更後)require(‘./wordpress/wp-blog-header.php’); 3. テーマの変更方法 WordPressの公式サイトでテーマ(Theme)をダウンロードし、解凍する。 解凍したテーマをフォルダごと[/wordpress/wp-content/themes/]フォルダにコピーする。 WordPressメニュー [概観] > [テーマ] で利用可能なテーマにあるテーマを有効化する。 4. プラグインのインストール方法 例)All in One SEO Pack [...]