Home > PHP Archive
PHP Archive
【CakePHP】SQL文を実行する
- 2010年1月17日 12:52
CakePHPはSQL文を書かなくても、決まりに沿ってコードを書けば、データを取ってこれるのですが、やっぱりSQL書きたい!と思ったのでやってみた。
1.モデルの作成
app/models/に適当な名前のモデルを作成(Test.php)
Test.php
--------------------------------------
<?php
class Test extends AppModel{
var $name = 'Test';
function findNow(){
$sql = "select now()";
return $this->query($sql)
}
}
?>
-------------------------------------
ここのモデル名はテーブル名と連動しているので、これを動かすには"tests"というテーブルが必要。
作成したSQLをqueryメソッドに投げるだけ。
2.コントローラからの呼び出し
コントローラからは以下のようにして呼び出す
-------------------------------------
$this->Test->findNow()
-------------------------------------
結果はこんなかんじ↓
Array
(
[0] => Array
(
[0] => Array
(
[now()] => 2010-01-17 13:02:01
)
)
)
だんだん、CakePHPにも慣れてきたな。
【CakePHP】Hello World!
- 2010年1月17日 00:05
フレームワークってのは、しっかり構造を理解しないとなかなか使いこなせない。
とりあえず、HelloWorld!
1.コントローラを作る
app/controllers/にtest_controller.phpを作る
test_controller.php
---------------------------------------
<?php
class TestController extends AppController{
var $name = 'Test';
var $uses = null;
function index(){
echo "Hello World!"
}
}
?>
----------------------------------------
$nameにはコントローラ名を入れる
$usesはまずはModelを使わないので、nullにしておく。
2.http://localhost/testにアクセスすると"Hello World!"と表示される。
CakePHPの使用としてURLは
http://localhost/コントローラ名/アクション名/パラメーター
となっている。
3.コントローラに対するビューを作成する
app/views/にtestフォルダを作成し、index.thtmlを作成
コントローラに対するビューは
app/views/コントローラ名/アクション名.thtml
となる。
これで、とりあえず基本的な表示はOK。
【CakePHP】データベースに接続
- 2010年1月16日 23:16
CakePHPでデータベースに接続します。
1.app/config/の中のdatabase.php.defaultをdatabase.phpにリネーム
2.以下のように設定
var $default = array(
'driver' => 'mysql',
'persistent' => false,
'host' => 'ホスト名',
'login' => 'ユーザー名',
'password' => 'パスワード',
'database' => 'データベース名',
'prefix' => '',
);
3.CakePHPのwelcomeページで
[Cake is able to connect to the database.]
となればOK
【Windows】PHP開発環境の構築(XAMPP+EclipsePDT+CakePHP)
- 2010年1月16日 20:57
XAMPP+EclipsePDT+CakePHPの環境を、64bitのWindowsVistaに構築していきます。
1.XAMPPのインストール
・http://www.apachefriends.org/jp/xampp-windows.htmlからXAMPP Windows版をダウンロード
(自己解凍型RAR アーカイブ)をダウンロードしました。
・Cドライブ直下に保存。(C:\xampp)
・XAMPP Control Panelを起動し、Apacheを起動する。
・http://localhost/ にアクセスし、正常にインストールされたか確認する。
2.Eclipse PDTのインストール
・http://www.eclipse.org/pdt/downloads/から[PDT2.1 SR-1 All in Ones / Eclipse PHP Pacage]の[All-In-One Windows 32-bit]をダウンロード
・解凍して、Cドライブ直下に保存。(c:\eclipse)
・c:\eclipse\eclipse.exeからeclipseを起動。
・メニューの[Window]→[Preferences]を開く
・[PHP]→[PHP Executables]を開き、Addをクリック
・以下のように設定
Name:任意の名前
Executable path:C:\xampp\php\php.exe
PHP ini file:C:\xampp\php\php.ini
3.CakePHPのインストール
・http://cakephp.jp/からcake_1.2.5.zipをダウンロード
・ファイルを解凍し、C:\xampp\htdocsに任意のディレクトリ名で保存(C:\xampp\htdocs\test)
・http://localhost/testでCakePHPがインストールされていることを確認。
やっと環境が整った。
これからだな。
1.XAMPPのインストール
・http://www.apachefriends.org/jp/xampp-windows.htmlからXAMPP Windows版をダウンロード
(自己解凍型RAR アーカイブ)をダウンロードしました。
・Cドライブ直下に保存。(C:\xampp)
・XAMPP Control Panelを起動し、Apacheを起動する。
・http://localhost/ にアクセスし、正常にインストールされたか確認する。
2.Eclipse PDTのインストール
・http://www.eclipse.org/pdt/downloads/から[PDT2.1 SR-1 All in Ones / Eclipse PHP Pacage]の[All-In-One Windows 32-bit]をダウンロード
・解凍して、Cドライブ直下に保存。(c:\eclipse)
・c:\eclipse\eclipse.exeからeclipseを起動。
・メニューの[Window]→[Preferences]を開く
・[PHP]→[PHP Executables]を開き、Addをクリック
・以下のように設定
Name:任意の名前
Executable path:C:\xampp\php\php.exe
PHP ini file:C:\xampp\php\php.ini
3.CakePHPのインストール
・http://cakephp.jp/からcake_1.2.5.zipをダウンロード
・ファイルを解凍し、C:\xampp\htdocsに任意のディレクトリ名で保存(C:\xampp\htdocs\test)
・http://localhost/testでCakePHPがインストールされていることを確認。
やっと環境が整った。
これからだな。
【PHP】標準クラスのstdClass
- 2009年5月12日 19:06
PHPの標準クラス stdClass の使い方メモ
$hogeArr = array();
$a = new stdClass();
$a->name = "大塚愛";
$a->sex = "女";
$a->age = "26";
array_push($hogeArr,$a);
print_r($hogeArr);
-----------------------------------
(出力結果)
Array
(
[0] => stdClass Object
(
[name] => 大塚愛
[sex] => 女
[age] => 26
)
)
【PHP】fgetcsvと改行コード
- 2009年1月30日 21:27
ある案件で、CSVデータをアップロードして、DBに保存するというプログラムをPHPで作りました。
何回も、テストして完璧に作ったつもりなのに、なぜか先方から送られたcsvファイルのみ
アップロードできなかったのです。
原因は、改行コードでした。
WindowsかMacかでデフォルトの改行コードが違うみたいです。
(winは[CR+LF]、macは[CR])
CRの場合で、PHP側が行末を認識できずに、1行しか表示できない状態になってました。
いろいろ、調べてみたら、いちばん手っ取り早い方法は。php.iniの設定を変えることです。
デフォルトで、
auto_detect_line_endings = Off
になってるのを
auto_detect_line_endings = On
に変えればいいだけです。
これで、何とか解決。
FLASH+PHP+IE+SSLの不具合
- 2009年1月23日 16:36
最近の案件で、FLASHからPHPにsendAndLoadする機能を作ったのですが、
なぜか、IEだけsendAndLoadが失敗してしまうという、不具合が起きた。
調べてみると、原因はPHPみたい。
レスポンスヘッダに、
Pragma: no-cache;
があるとIEでは、だめらしい。
ふぅ。とりあえず解決してよかった。
【PHP】携帯からかPCからのアクセスかを判別する
- 2008年11月18日 19:05
またまた、PHPネタ。
表記のプログラムです。
下記URLを参考にして、実装しました。
というか、丸々パクリました。
http://noongoro.main.jp/note/note0035.html
少しずつ、慣れてきたな、PHP。
表記のプログラムです。
下記URLを参考にして、実装しました。
というか、丸々パクリました。
http://noongoro.main.jp/note/note0035.html
少しずつ、慣れてきたな、PHP。
【PHP】フォーム内に複数のSubmitボタンを設置して、違うページにジャンプする
- 2008年11月17日 17:28
また、PHPネタです。
表記の方法をメモ。
--------------------------------------------------------------------------
<form name="frm" method="post" action="jump.php">
<input type="submit" name="back" value="戻る">
<input type="submit" name="next" value="次へ">
</form>
--------------------------------------------------------------------------
こんな感じで書いて、actionで指定しているjump.phpには
--------------------------------------------------------------------------
<?php
if(isset($_POST['back'])){
//戻るボタンを押したときの処理
require "hoge.php";
}
if(isset($_POST['next'])){
//次へボタンを押したときの処理
require "hoge2.php";
}
?>
--------------------------------------------------------------------------
こんな感じで書くと、戻るボタンを押したときはhoge.phpへ、
次へボタンを押したときは、hoge2.phpへ飛びます。
少しずつ、PHPに慣れていこう!
表記の方法をメモ。
--------------------------------------------------------------------------
<form name="frm" method="post" action="jump.php">
<input type="submit" name="back" value="戻る">
<input type="submit" name="next" value="次へ">
</form>
--------------------------------------------------------------------------
こんな感じで書いて、actionで指定しているjump.phpには
--------------------------------------------------------------------------
<?php
if(isset($_POST['back'])){
//戻るボタンを押したときの処理
require "hoge.php";
}
if(isset($_POST['next'])){
//次へボタンを押したときの処理
require "hoge2.php";
}
?>
--------------------------------------------------------------------------
こんな感じで書くと、戻るボタンを押したときはhoge.phpへ、
次へボタンを押したときは、hoge2.phpへ飛びます。
少しずつ、PHPに慣れていこう!
【PHP】PHPによるShift-JIS文字列のURLエンコード/デコード時における文字化け
- 2008年11月17日 14:00
案件で、文字コードをEUCからShift-JISに変換する必要が出てきて、そのときに文字化けするので悩んでいたのですが、下記URLに載っている方法で、解決しました。
http://www.syon.co.jp/syontech/tech003.html
文字化けは、やっかいだな。
でも、これで、一安心。
さぁて、後ちょっとだ。
http://www.syon.co.jp/syontech/tech003.html
文字化けは、やっかいだな。
でも、これで、一安心。
さぁて、後ちょっとだ。
【PHP・MySQL】SQLインジェクション
- 2008年11月15日 20:40
PHPでMySQLのインジェクションを防ぐには
使用方法はこちら
開発者側は、こういうことも考えて開発しないとしけないのですね。
SQLインジェクションなんか考えずに実装してたら怒られました。
開発者側は、さまざまな事象に対処しないといけないですね。
mysql_real_escape_string()という関数を使えばいいみたいです。
使用方法はこちら
開発者側は、こういうことも考えて開発しないとしけないのですね。
SQLインジェクションなんか考えずに実装してたら怒られました。
開発者側は、さまざまな事象に対処しないといけないですね。
Home > PHP Archive
