RSS
 

Archive for the ‘PHP’ Category

MAMP×CakePHPでBake使ってモデルを作ったらエラー

19 2月

モデルを作ろうとしたらターミナルに以下の様に聞かれたので


---------------------------------------------------------------
Interactive Bake Shell
---------------------------------------------------------------
[D]atabase Configuration
[M]odel
[V]iew
[C]ontroller
[P]roject
[Q]uit
What would you like to Bake? (D/M/V/C/P/Q)

Mって答えたら


Warning: mysql_connect(): Can't connect to local MySQL server through socket '/var/mysql/mysql.sock' (2) in /Applications/MAMP/htdocs/うんたらかんたら

って言われた。
Google先生に聞いたらMAMPの人はこのエラーが出るらしい。


cd /var
sudo mkdir mysql
sudo ln -s /Applications/MAMP/tmp/mysql/mysql.sock/var/mysql/mysql.sock

って打つと治るらしい。
意味はさっぱり分からないけど打ってみたらモデルが作れる様になった。わぁい。

 
2 Comments

Posted in PHP

 

CakePHPで何か作ろうとしたとき最初にやること

19 2月

開発環境

  • Mac OS 10.4.11
  • MAMP使用
  • CakePHP 1.2.1.8004

/app/config/database.phpの設定

MAMPの場合こんな感じ。

本番環境の時はhost・login・passwordを借りてる鯖のモノに変更。

接頭語はDBが1個しか作れない場合必要。
MAMPだといくつでも作れるけど本番環境はさくらかロリポの予定なので
1個しか作れないからローカルで作る時もつけてみた。


class DATABASE_CONFIG {

	var $default = array(
		'driver' => 'mysql',
		'persistent' => false,
		'host' => 'localhost',
		'login' => 'root',
		'password' => 'root',
		'database' => '●データベース名●',
		'prefix' => '●接頭語●_',
	);

	var $test = array(
		'driver' => 'mysql',
		'persistent' => false,
		'host' => 'localhost',
		'login' => 'root',
		'password' => 'root',
		'database' => '●データベース名●',
		'prefix' => '●接頭語●_',
	);

}

/app/config/core.phpの設定

何だか難しい事は良くわからないのでとりあえず変えた所。

開発中のデバックモードのレベルの設定

変更前
Configure::write('debug', 2);
変更後
Configure::write('debug', 3);

3がMax詳細だから3にしてみた。
本番環境に上げる時は0にするんだよ。

管理者用アクションにアクセスできるようにする

変更前
# Configure::write('Routing.admin', 'admin');
変更後
Configure::write('Routing.admin', 'admin');

管理画面を作りたかったら#を消す。
大概Cake使おうってサイトは管理画面作りたいよね。
管理画面のURlはこう↓

http://●サイトのURL●/admin/●コントローラー名●/●アクション名●

セキュリティ用の任意の文字列を変える

変更前
Configure::write('Security.salt', 'DYhG93b0qyJfIxfs2guVoUubWwvniR2G0FgaC9mi');
変更後
Configure::write('Security.salt', 'genkainadanoshiokazenikitaeshitubasatakumashiku');

何か良くわかんないけど変えるらしい。
後で変えたり変わったりするから今は適当にいざゆけ若鷹軍団の歌詞を入れてみた。

 
No Comments

Posted in PHP

 

A8.net×楽天サーチのキーワードリンクを表示する

17 2月

PHP練習第一弾です。
練習とはいえ「どうせ作るなら実用的なもんを!」とチャレンジしてみました。
本当に勉強しはじめの素人が書いたものなので突っ込みどころ満載かと思います。
詳しい方の突っ込みコメントお待ちしてます。

楽天の商品検索結果にアフィリエイトリンクを張るだけのシンプルなもんです。
アフィリエイトはA8.netを利用しています。

PHP


<?php 
function adKeyWord($keyword,$query){
	// 検索キーワード指定が無い場合表示キーワードで検索
	if($query == null){
			$query = $keyword ;
	}
	// A8の楽天アフィリエイト用URL
	$a8mat = '●あなたのアフィリエイト用URL●';
	// 楽天サーチ ウィンドウショッピングモードで安い順に並べる
	$search = 'http://esearch.rakuten.co.jp/rms/sd/esearch/vc?s=2%26v=3%26sitem=';
	// アフィリエイトURL生成
	$url = $a8mat.$search.urlencode(mb_convert_encoding($query,"EUC-JP","UTF-8"));
	echo '<a href="'.$url.'">'.$keyword.'</a><br />';
}
?>

HTML


検索キーワード指定: <?php adKeyWord('●表示キーワード●','●検索キーワード●') ?>
検索キーワード省略: <?php adKeyWord('●表示キーワード●','') ?>

表示例

検索キーワード指定: ソフトバンク
検索キーワード省略: ソフトバンク

準備

あなたのアフィリエイト用URLを取得します。
A8.netに登録してアフィリエイト用のアカウントを取って下さい。
テキスト付き簡易リンク作成画面にリンク先URLとリンク対象テキストを適当に入力して作成ボタンを押します。

作成されたURLのリンクタグにある「http://px.a8.net/svt/ejp?a8mat=●ここが人によって異なります●&a8ejpredirect=」の部分があなたのアフィリエイト用URLになります。

PHPの●あなたのアフィリエイト用URL●の部分にコピペしておいてください。

リンクの表示方法

●表示キーワード●に表示させたいキーワードを入力して下さい。
例】ソフトバンク

●検索キーワード●に楽天で検索したいキーワードを入力して下さい。
例】ソフトバンクホークス

検索キーワードは空でも大丈夫です。
表示キーワードと検索したいキーワードが別の場合は入力して下さい。
空の場合は表示キーワードで検索します。
複数ある場合は半角スペースで区切って下さい。

感想・工夫した点

以前A8で2年位バイトしてたのでA8の楽天アフィリエイトURLの仕組みを知ってたので割と簡単に出来ました。
アフィリエイトURL生成の際にキーワードをEUC-JPに変換した上でURLエンコードするのがミソかなぁと。
(元々EUC-JP使って書いてる人は多分ここの処理いらないので外しちゃって下さい。)

表示させたい文字列と検索キーワードを分けたのがこだわりです。
理由は上の例を見れば明白かと思うのですが
表示キーワードによっては意図した検索結果が得られない事がある為です。

ウチが言う「ソフトバンク」は大概「ソフトバンクホークス」(野球)の事なんです。
が、一般的には携帯の方が連想されるらしく、楽天の検索結果も例によってそうなんですよ……。
だもんで携帯関連商品が上位に出てくる……。
こりゃ困ったぞ。

と、言う訳で
表示は「ソフトバンク」にしたいけど検索は「ソフトバンクホークス」でしたい!
って時に便利かなと思って分けました。

注意事項

飛び先が検索結果というちょっとインチキ臭いリンク方法になるので
多分大丈夫だと思うけど、A8が不正と判断する可能性があります。
その場合、報酬は発生しないので自己判断でご利用下さい。

でも個別商品リンクだと品切れになったり削除されたりする事があるので
検索結果へのリンクの方が便利なので多めに見て欲しいな。

 
2 Comments

Posted in PHP