12/03/20 05:09:01.21
qdmailって、公式もサポートほとんどしてないだろあれ。
エラーメッセージもいいかげんだし。
801:nobodyさん
12/03/20 09:47:42.67
>>800
わかる。
802:nobodyさん
12/03/20 22:24:51.38
じゃ、qdmail使わずに自作しろよ。
メール送信なんて今まで作っていたのあるだろ。
803:nobodyさん
12/03/20 23:14:24.46
・マルチバイト対応
・HTMLメール
・添付ファイル
こういうの対応しようとすると結構自作でやるのはな、、、
804:nobodyさん
12/03/21 12:11:52.99
いやいや、普通に1000行もかからずコード書けるから。
フレームワーク使う前に作っていたものがあるだろ。それ使えよ。
805:nobodyさん
12/03/21 18:27:13.50
cake使っててシェルでURLを組み立てたいときは何を使えばいいですか?
806:nobodyさん
12/03/21 20:09:46.98
シェルでURLを組み立てたいって意味がわからないんだが
807:nobodyさん
12/03/21 21:31:40.83
>>804
オレオレフレームワークつかっとけよw
808:nobodyさん
12/03/21 23:19:44.62 ZAI6cSPi
$this->set('select', $this->Foo->find('list', array(//select要素
'fields' => array(
'Foo.id',
'Foo.firstname'
)))));
とすると、
$form->select("Foo.bar", array($select), 0, array('empty' => null))
で
select要素の中に
<option value="Fooのid">Fooのfirstnameの中身</option>
というのができるんですが、
これを
<option value="Fooのid">Fooのsecondnameの中身 Fooのfirstnameの中身</option>
としたいんですが、find('list')は一対でしか使えないんでしょうか?
やり方をご教示いただけたら幸いです
809:808
12/03/21 23:27:53.96 ZAI6cSPi
自己解決しました
allで読んで、
foreach ($select as $value) {
$talent_data[$value['Foo']['id']] = $value['Foo']['secondname'] . ' ' . $value['Foo']['firstname'];
}
$this->set('select', $select);
でlistで作ったoption群と同じ形式のリストデータが生成されました
810:nobodyさん
12/03/22 00:13:00.01
modelにrule=>urlを書いたらurl欄が空欄もurlが正しくないになってしまうんですが、
urlが空でもよくて、入っていれば正しいURLか判定する、という風にするやり方がありましたらお教えください
811:nobodyさん
12/03/22 00:20:23.77
allowEmpty
812:nobodyさん
12/03/22 00:35:14.75
>>811
ありがとうございます、解決できました!
813:nobodyさん
12/03/22 02:02:03.59
>>806
URLをTwitterに投稿するときに使おうと…
814:nobodyさん
12/03/22 10:58:28.03
>>807
煽る意味がわからん。他人のライブラリは使えないと言い、
自分でも自作できないとかワガママすぎるだろ。
815:nobodyさん
12/03/22 19:38:50.77
>>814
先に煽ったのは>>804じゃね
フレームワークスレで、自分で書いたもん使えて
816:nobodyさん
12/03/23 00:01:31.13
おかしくないだろ。なんでも他人を頼ろうとするなよ。
自分でコンポーネントやヘルパー作れるようになってるんだから。
817:nobodyさん
12/03/23 10:24:37.19
up
818:nobodyさん
12/03/23 11:50:45.97
自分で簡単に組める人はここで質問しないだろ。自分が見落としてるだけで、他のいいモジュールがあるのかも?って淡い期待で書き込んでるんだとおもうよ。自分で組むしか方法が無い。っていう結論を貰えるだけでも嬉しいのでは?
819:nobodyさん
12/03/23 13:36:50.00
なにかおかしくね?自分でプログラミングせずに、
いきなりフレームワーク使い出したというのか?
大体は参考書やらネットの情報やらで適当なプログラム作って、
慣れた後に効率化を求めてフレームワークを使い出すと思うんだが。
820:nobodyさん
12/03/23 13:42:01.91
mail関数やmb_send_mail関数でメール送信しようとして
文字化けしたり、上手く送れなくてネットで調べながら
自分なりの「メール送信ライブラリ」を作ると思うんだが。
で、その後に添付ファイルやらHTMLメールやらを送信したくなって
qdmailのような他人が作ったライブラリを探すというのなら分かるよ。
でも、いきなり上記の部分すっ飛ばしてCake使って
「上手く動きません><」とか言われても、勉強不足以外の何者でもないだろ。
821:nobodyさん
12/03/23 16:25:24.36
仲良くしようぜ。
822:nobodyさん
12/03/24 15:01:00.43 oSWZUaYy
メール関連の機能が大幅に向上したバージョン2.1を使えばよい。
823:nobodyさん
12/03/24 18:51:05.67
kwsk
824:nobodyさん
12/03/25 01:08:52.69
paginatorでクエリを渡そうと思って
$paginator->options(
array('url' => array('?id=' . $id))
);
とやったんですが、
foo/?id=100/page~1
みたいなurlになってしまってうまく動作できません
foo/page~1?id=100
となるようにしたいんですが、optionsをどう書き換えたらいいんでしょうか?
825:nobodyさん
12/03/25 19:19:28.98
>>824
array( '?' => array( 'id' => $id ))
って感じじゃなかったかな
826:nobodyさん
12/03/25 23:49:03.03
Router::url(array('controller' => 'test', 'action' => 'index', 'id' => $id))
みたいな事をしてURLを生成しているのですが、
パラメータ部分を予め設定しておく事は出来ないのでしょうか?
827:nobodyさん
12/03/26 08:08:50.35
>>826
ヘルパーでも作る
828:nobodyさん
12/03/26 18:44:48.32 +fypSFER
フォームヘルパーを使って同じフォームを1ページの二カ所以上に作ると
formタグのidが重複しちゃうけど、どうやって回避するのがスマートかな
今はform->createでid指定して別名にしてるけど、あまりスマートに思えない
829:nobodyさん
12/03/26 19:11:54.92
フォームヘルパーってぶっちゃけ要らない機能だよね
最初は便利なのかなと思ったけどしばらくいじって思い通りにいかないから
ないものとして普通にformタグ書くようにしたら能率上がったわ
830:nobodyさん
12/03/26 23:14:30.50
>>829
確認の時どうしてるんだ?次のページに推移して「エラーがあります」か?
831:nobodyさん
12/03/27 00:49:24.75
>>829
いや、使った方がいいよ。
俺もベタ書きやってたけど使わないとエラー処理が困る。
832:nobodyさん
12/03/27 01:42:43.77 J3nZuwJg
バリデーションエラー時に普通の方法だと
エラーが出たフォームの上(下だっけ?)にメッセージが表示されるけど
任意の場所に表示したい場合はどうしてる?
833:nobodyさん
12/03/27 03:37:14.44
<?php echo $form->error('Post.name')?>
834:nobodyさん
12/03/27 14:05:24.25
CakePHPで「INSERT~ON DUPLICATE KEY UPDATE」
は使えないのでしょうか?使える場合は書き方を押してください
835:nobodyさん
12/03/27 14:37:07.94
CakePHPの質問を書いたら、ちゃんと答が返ってくる掲示板ないでしょうか
836:nobodyさん
12/03/27 17:57:15.57
>>835
cakephpのコミュニティで質問すれば。
URLリンク(cakephp.jp)
837:nobodyさん
12/03/27 18:30:51.02
>>834
Model -> save()
838:nobodyさん
12/03/28 22:39:25.33
設計って結構迷うよね・・。
編集でidが2つある場合、URLが/post/edit/1/2
みたいになるけど、これってわかりづらいよね。
ピュアPHPの、edit.php?parent_id=1&id=2の方が分かりやすい気がする。
まぁ、Cakeでは/edit/parent_id:1/id:2 というURLにはなるんだけどさ・・・
839:nobodyさん
12/03/28 22:40:41.18
>>838
ID=一意に表すもの
だし1つで表せないとしたらそれはIDじゃない
1つで表せるならURLに含ませる必要ない
840:nobodyさん
12/03/28 23:05:18.11
>>839
別々のものに同じidが割り振られているのはおかしいが、
ひとつのものに二つ以上のidが振られているのは問題なくね?
841:nobodyさん
12/03/28 23:10:52.27
>>840
問題ないけど、2つ持たせる意味がわからないし、
仮に持たせたとしてもそれをURLに含ませる意味もわからない
842:nobodyさん
12/03/28 23:15:51.51
>>841
管理画面があったとして、
ユーザID・1が投稿したお知らせのID2を見たいとする。
ピュアPHPなら、edit.php?user_id=1&id=2だよな?
Cakeなら/edit/1/2か/edit/user_id:1/id:2だな。
セッションに含めて持ち回る方法もあるけど、
毎回セッションに入れるのはおかしくないか?って思うからさ。
843:nobodyさん
12/03/28 23:24:56.61
edit.php?id=2
じゃだめなの?
844:nobodyさん
12/03/28 23:32:10.02
ピュアPHPだとそれで良いんだよ。でもCakeだと迷うだろ?
Cakeの書き方で言えば、
/news/add/1 この1はuser_idの1
/news/edit/2 この2はidの2
URLを見ただけでは混乱する
845:nobodyさん
12/03/28 23:46:26.83
POSTすりゃええやん
846:nobodyさん
12/03/28 23:58:08.70
迷うだろって言われても迷わないよな
847:nobodyさん
12/03/28 23:59:20.33
>>846
ほんとに?自分だけで分かるからOKって考え方なの?
ちなみに、/edit/1/2みたいな書き方はBaserCMSでもやってた
848:nobodyさん
12/03/29 00:03:50.49
自己レスだけど、コーディング時は迷う事はないか。
Router::url('/news/edit/' . $data['Newsr']['userid'] . '/' . $data['News']['id'])
になるわけだし。単なるURL上での事ならこだわる必要ないかな。
外部に公開するわけでもないし。
849:nobodyさん
12/03/29 00:06:24.29
>>847
自分だけわかるもくそも、URLの規則を万民にわかるように書くことなんてそもそも無理じゃね?
850:nobodyさん
12/03/29 00:14:21.30
>>849
そうだな。規約に従おうとこだわりすぎてたわ。
自分が作りやすい方法でやるよ。色々ありがとう
851:nobodyさん
12/03/29 00:19:24.06
>>850
URLでなんのページかわかりやすくしようというのは、ユーザビリティの面からも正しい考え方だけど
この件に関しては>>844の書き方で充分わかりやすいといえる範疇だと思う
852:nobodyさん
12/03/29 04:02:59.81
>ピュアPHPなら、edit.php?user_id=1&id=2だよな?
>Cakeなら/edit/1/2か/edit/user_id:1/id:2だな。
誰がこんなこと決めたの?
Cakeだって/edit?id=1&id=2ってやるだろ。
853:nobodyさん
12/03/29 10:57:51.78
さすがにそれはやらない
854:nobodyさん
12/03/29 22:50:57.56
/edit/parent_id/1/id/2 とか
855:nobodyさん
12/03/29 23:14:23.59
user_idがidから引っ張ってこれるんならURLに含めないな
usernameなら/news/tanaka_ichiro/123みたいな感じで含めてもいいと思うけど
どうしてもuser_idもidも含めたいのならnamedパラメータ使って/news/user_id:1/id:2とかにする
856:nobodyさん
12/04/01 00:45:58.67 OiSFrCKx
ブラウザのエンコードの切替ができないんだけど2.x系って特別な設定あるのかな?
1.x系の場合コントローラに
function beforeFilter(){
//携帯なら
if($this->Ktai->is_ktai()){
Configure::write('App.encoding', 'SJIS');
$this->layout = "mobile_layout"; //charset=shift_jis"
}else{
って書けばブラウザのエンコードが既存の「UTF-8」から「SJIS」に切り替わるのに2.x系だと「UTF-8」のまんまだ。。。
かなり嵌ってるんだけど分かる人いるかな?
てか俺の環境がおかしいのかな??
857:nobodyさん
12/04/01 02:38:57.47
App.encodingってシステム的なエンコードの設定で、出力のエンコードとは関係ないんじゃないの
設定したことないから知らないが
ヘッダーはutf8とsjisどっちなの?
858:nobodyさん
12/04/01 03:16:24.89 OiSFrCKx
>>857
PCと携帯でエンコードを分岐したくて
PC -> UTF-8 携帯 -> shift_jis
core.php自体に記述しているのは
Configure::write('App.encoding', 'UTF-8');
なんだけど、携帯のページを表示するときは
beforeFilterでConfigure::write('App.encoding', 'SJIS'); に変更してます
cakephp1.3だとこの設定でブラウザのエンコードはshift_jisに変更されるんだけど
2.x系だとUTF-8のまま。。。
core.php自体をConfigure::write('App.encoding', 'UTF-8');に書き換えると
ブラウザのエンコードはshift_jisに代わるんだけどcore.phpだと分岐処理書けないから困っています。
2.x系だと別の処理が必要なのかな?
859:nobodyさん
12/04/01 03:18:29.30 OiSFrCKx
>>858
>core.php自体をConfigure::write('App.encoding', 'UTF-8');に書き換えると
上記は
Configure::write('App.encoding', 'SJIS');の間違いです。
誤植すいません。。。
860:nobodyさん
12/04/01 17:58:24.58
軽く調べてみたけどApp.encodingは内部コードの設定だからやっぱり出力のエンコードとは関係ないよ
ケータイ対応したいならこういう感じに書いたら?
URLリンク(webengineerlife.com)
861:nobodyさん
12/04/02 00:51:25.23 ZyijX88y
>860
ありがとう
ちょっと試してみます。
携帯ライブラリとか使って複雑になってるのも原因の1つかもです。。。
862:nobodyさん
12/04/03 18:18:51.92
cakephpでもhavingが使えるんだな。
そしてhavingってめちゃくちゃ便利だな。
これのお陰でDBの設計が楽になった。
863:nobodyさん
12/04/04 18:16:19.49
フォームヘルパーでのサニタイズは何もしなくても自動でしてくれるけど、
表示(コントローラからset)の場合は、個別でサニタイズしなきゃいけないんだな
この点忘れてた・・・
864:nobodyさん
12/04/05 00:28:36.65
1.2経験しかなかったんだけど初めて2.1使ってみたら
ローカルのxampp環境でmodelがbake出来ないんですけど。。
cliのphpが「問題が発生したため・・・」になる
865:nobodyさん
12/04/05 23:35:57.76
findの条件で、
テーブルFoosのflagがonのものだけ取り出したいとき、
'conditions' => array(
'Foo.flag' => 'on'
),
と書いてできたんですが、
Foosのflagがonでかつ、
Foosのlawと同じ値のBarsテーブルのidの、deleteがoffのもの、というのを条件にしたい場合どう書けばいいでしょうか?
具体的には、
Foosのテーブルには商品リスト、Barsには業者データがあり、
取り扱っている商品、でかつ、倒産していない業者、の商品リストだけ取り出したいのです
よろしくお願いします
866:nobodyさん
12/04/06 01:33:16.23
ローカル環境にApach + PHP + MySQLの設定をするのが
面倒なのでレンタルサーバにリモートプロジェクトとしてEclipseでバンドして
作業してるんですが、こういった開発手法ってNGでしょうか?
867:nobodyさん
12/04/06 11:00:58.23
自分が良ければおkだと思うよ
868:nobodyさん
12/04/06 11:22:58.85
ありがとう。勇気付けられました(?)
ローカルとサーバで2度設定をする手間を考えるとやはり
直接サーバ上でコードをいじった方が効率が良いと思うんだよね。
869:nobodyさん
12/04/06 11:44:34.19
>>868
俺もそう思う。
870:nobodyさん
12/04/07 00:51:33.09 4OZyxrY6
下記サイトを参考にしCakePHP 2.1.1安定板をダウンロードし
さくらインターネットに設定しようと思っているのですがどうしてもうまくいきません。
URLリンク(mori.moripower.jp)
どの部分でエラーが起きているか追いかけてみたところ
/home/user_name/www/app1/index.php
において、下記判定処理でインクルードに失敗していました。
if (!include(CAKE_CORE_INCLUDE_PATH . DS . 'Cake' . DS . 'bootstrap.php')) {
bootstrap.php自体のパスは下記が正の筈なので
直接(べた)書きで試してみましたがやはりダメでした。
(bootstrap.phpの権限を 755に設定してもダメ)
/home/user_name/cake/lib/Cake/bootstrap.php
どなたか同じ様な体験をされた方はいませんでしょうか?
871:nobodyさん
12/04/07 01:04:14.05 ET0rgidW
そんなこと今更知ったのか、バカを晒して楽しいか?
872:nobodyさん
12/04/07 01:11:46.23
>>870
それだけ見るとディレクトリ構成を間違えたかindex.phpのパスの設定が間違ってるっぽいけどなあ
873:nobodyさん
12/04/07 01:52:28.91
>>872
>>870
に記載のURL通りに指定しております。
ちなみに bootstrap.php の中では定数等を定義しているだけの様なのですが
このファイルの読込は、CakePHPの実行には必須なのでしょうか?
また、さくらインターネットにおいて、最新のCakePHPの導入が出来る様に
解説したサイトをご存じでしたらお教えください。
どうも私の方でぐぐってヒットするサイトは
2・3年前の古い物ばかりで最新のCakePHPには即していない様です。
874:nobodyさん
12/04/07 09:38:19.35 PHPJ9271
1.3時代からいじっていないから何か違うかもしれないが
>bootstrap.phpは必須か?
bootstrapは、起動時の設定をまとめたりしてるもんなんで必須なはず
おまいさんのスキルが見えないので余計なアドバイスかもしれないがとりあえず、CAKE_CORE_INCLUDE_PATHの内容を調べてみてどうよ?
875:519
12/04/07 11:17:18.36
>>874
見事なIDを見た
876:nobodyさん
12/04/07 11:21:45.79
名無しに戻し忘れorz
ぬかったわ。。。
877:nobodyさん
12/04/07 12:05:32.12
>>874
定義された内容でもって直接includeしたのですが
それでもダメでした。
もうちょっといろいろと試してみます。
878:nobodyさん
12/04/07 12:43:18.13
ちょっと気になっているんですけど
CakePHP って途中で開発終了の可能性は他のFWと比べて高いですか?低いですか?
879:nobodyさん
12/04/07 12:54:05.32
誰にもわからないことだな
1つ言えることは、ZFに比べたら確実に高いということぐらい。。
880:nobodyさん
12/04/07 13:09:04.61
せっかくCakePHPの癖をつかんだとしても
終了してしまったら学習コストの無駄になるのを恐れている。
やっぱしZFの方が無難かな?
881:nobodyさん
12/04/07 13:23:49.88
zendはコンポーネント群にすぎないから、位置づけがCakeとは異なるよな。
882:nobodyさん
12/04/07 14:05:56.13
コストの無駄たって、経営者が新人教育について言ってるんだならまだしも
自分の脳みそのしわを増やすのにコストで考えるのはわからんw
浅く広くでもどれでも触って使えるようになっとけばいいよ
883:nobodyさん
12/04/07 16:48:09.15
とりあえず、俺は1.3をあと2年は使い続ける
884:nobodyさん
12/04/07 18:01:43.94
フォームの確認ページでのサニタイズってどうしてます?
$this->dataを一括でサニタイズする処理をするか、
確認ページのビューで<?php echo h($this->data['Post']['name'])?>
みたいにするかどちらかだと思っているのですが、
他に良い方法や考え方はありますでしょうか?
885:nobodyさん
12/04/07 18:21:39.17
サニタイズいうなキャンペーン開始
886:nobodyさん
12/04/07 23:59:10.64
Cakeでそう言う名前だろw
887:nobodyさん
12/04/08 10:36:25.86 4ALRLsfw
>>875
うぉ!自分で書いてて気づかなかった。IDの仕組み分からんからこの書き込みIDどうなるか分からん。。。
>>884
ビューでエスケイプ。責任をしっかり分けておかないと後で後悔する
888:nobodyさん
12/04/09 01:52:30.87
>>873
さくらじゃなくてxreaとかcoreserverとかの設置方法見たら?
/home/username/cakephp
/home/username/www
という感じに分けて、コアファイルをパブリックに置かないようにするのは一緒だよ
xreaだと
/virtual/username/cakephp
/virtual/username/public_html
とかになるけど
889:nobodyさん
12/04/09 11:26:19.21 gWXPCP/C
Cakephp2.1.1のモデルのファイル名に関して質問させてください
ローカル(mac)の環境ではファイル名を小文字のみ(example.php)にしても読み込まれるのですが、
サーバー(centos)では一文字目を大文字(Example.php)にしないと読み込まれません
最新のCakephpはモデルのファイル名が大文字で始まるようなのですが
ローカル環境では小文字でも動いています
これはapacheの設定かphpの設定かosの設定なのでしょうか!?
890:nobodyさん
12/04/09 12:26:26.44
ローカルのOSがファイル名の大小を区別するかは調べた?
891:nobodyさん
12/04/09 13:37:22.79
下記階層にCakePHP一式を配置し各種設定を行った後、
マルチドメインにて設定したパスに、アクセスしてみたところ
一応CakeFW自体は正常に動作している様に見受けられるのですが
(CakePHP:the rapid development php framework が表示されました。)
/home/{user_name}/www/multi_domain_directory
下記CSSがあたっていません。
<link rel="stylesheet" type="text/css" href="/css/cake.generic.css" />
ソースを開きその中のCSSの読込をクリックすると
本来は app/webroot/css/cake.generiuc.css
が認識されないといけないハズなのですが webroot/css が認識されないです。
どうすればCSSが正常に認識される様になりますでしょうか?
※一応CakeFWを追いかけると lib/Cake/view/Helper/HtmlHelper.php / function css()
にてロードをやっている様なのですが
こちらは、FW本体なので手は入れたく無いです。
892:nobodyさん
12/04/09 16:51:20.49 gWXPCP/C
>>890
おーこれだ
macのファイルシステムがHFS+ってのでこれが大文字小文字区別しないんですね
半日も嵌ってしまたけど勉強になった
どうもです
893:nobodyさん
12/04/09 17:02:12.28
1.3系でプラグインの作成で質問です。
>>721でindexアクションを作ればプラグイン名のみでアクセス可能となりますが、
/pizza/addの場合、エラーになります。/pizza/indexでもエラーです。
プラグイン内のコントローラを参照しているからこうなると思うのですが、
プラグインで/pizza/addとか/pizza/editのアクション指定したい場合は、
ルーティングをいじらないといけないのでしょうか?
894:nobodyさん
12/04/09 20:13:47.19
cakePHPってYiiとかなり似通ってるね。
895:nobodyさん
12/04/10 11:26:36.93
レイアウト全体をキャッシュせずに
「$content_for_layout」の内容のみキャッシュしたいのですが、
どうすればいいのでしょうか?
896:nobodyさん
12/04/10 12:05:36.17
外部に公開する場合に
→ Error: 23423Controller could not be found. ←
こーいうエラーメッセージを表示せずに
存在しないページ、URLでアクセスされた場合には
事前に用意したエラーページ(メッセージ)を表示したいのですが
どうすればよいでしょうか?
897:nobodyさん
12/04/10 12:24:22.68 R7ZoSsIJ
2になってから$_GET['url']って読まなくなった?
898:nobodyさん
12/04/10 13:53:53.12
>>897
マイグレーションガイドぐらいは読もうぜ
URLリンク(book.cakephp.org)
899:nobodyさん
12/04/10 15:35:48.29
仕様を変える方が悪い
900:nobodyさん
12/04/10 15:45:33.60
POSTフォームだと$this->request->dataの内容に応じて
インプットの値が自動で上書きされるのに、
GETフォームだと、空のままなんですが、
自分でマージするしかないのでしょうか・・・?
$this->request->data = $this->request->query;
とやってもダメでした。
901:nobodyさん
12/04/10 16:19:05.60
>>895
layoutのcontent_for_layout以外のところをnocacheでくくってみたら?
>>900
getでもフォームの内容は引き継がれるはずだよ
遷移先のフォームのIDとかnameが変わっちゃってない?
902:900
12/04/10 16:51:59.32
>>901
うーん・・・私の環境だと引き継がれませんね。
ちなみに2.1系です。
903:864
12/04/10 23:50:19.65
もし同じ状況の人がいたらあれなんで一応動いた解決法
URLリンク(d.hatena.ne.jp)
↑のとおりdll書き換えてCLI落ちなくなった
904:nobodyさん
12/04/11 10:44:38.27
誘導されましたのでよろしくお願い致します。
cakePHPのヘルパーを使って画面遷移させようと
しているのですが、出力されたリンクに関係ない文字列(ここでは、 /app )
が勝手に付加されてしまい困っています。
<?php echo $this->Html->link('JUMP', '/jump', array('class' => 'button', 'target' => '_self')); ?>
ここでは、本当は (B)の形でhtmlを出力したいです。どうすれば良いでしょうか?
(A) <a href="/app/jump" class="button" target="_self">jump</a>
(B) <a href="/jump" class="button" target="_self">jump</a>
905:nobodyさん
12/04/11 16:48:45.18
管理者が管理画面から会員ページに移動したいと思っています。
会員のパスワードは暗号化されるので、通常のログインでは無理です。
こういう場合って、単にAuthのセッション情報を付与して
会員ページにリダイレクトするだけでしょうか?
906:nobodyさん
12/04/11 18:45:08.55
管理者としてではなく、管理者が会員Aさんになりすましてログインするってこと?
嫌な仕様だなw
会員ページのメンテナンスとかしたいなら管理者権限でそう言うのできるアクションを
作ればいいのでは
907:nobodyさん
12/04/11 21:58:40.91
>>904
PHP上級者スレとのマルチ
908:864
12/04/11 22:08:14.47
>>904
cakeでの/はcake_appのルートになるからその動作が適切だよ
普通にHTMLで
<a href="/jump" class="button" target="_self">jump</a>
って書けばいいじゃん。
もしかしたら
'/../jump'で解釈してくれたりしないかな?知らないけど
909:nobodyさん
12/04/11 22:08:55.22
名前やちまたorz
910:nobodyさん
12/04/11 22:12:31.92
てかこれでブラウザが解釈してくれるわな
吐き出されるのはこうなるけど
<a href="/app/../jump" class="button" target="_self">jump</a>
911:nobodyさん
12/04/11 22:50:15.55 Ko+Ap9VU
>>904
routingのprefixかなんかで特殊な設定してない?
appという文字列がどこからやってきたのか検討もつかない状態なの?
>>905
Authでログインしようとしても無理だと思うので>>906でいいんじゃない
912:nobodyさん
12/04/11 23:12:38.64
>>908
cakePHPをせっかく使っているので直接書きはしたくないです。
>>911
基本的にcakePHPのベースコードは何もいじっていないのですが
FWにデバッグコードを入れておっかけてみます。
>>907
お前の投稿自体マルチだろ。しね。
913:nobodyさん
12/04/11 23:16:31.45
>>908ですが、、、
あれ?cakeルートがサーバーのウェブルートで無い場合に、
Html->link()つかってサーバールートへリンクしたいってことじゃないの?
つまり、サーバールートの下にappってディレクトリがあってそこがcakeのルートになってるんじゃないの?
914:nobodyさん
12/04/12 12:04:20.30
cakePHPでは一般的に共通で使用されるファンクションは
どこに定義しますか?
パスを教えてください。
Utility的な自己ライブラリを定義したいと考えています。
915:nobodyさん
12/04/12 12:18:39.89
ファンクション群ならbootstrapじゃね
外部にしてincludeか
916:905
12/04/12 13:56:49.96
>>906、>>911
私も管理画面に会員情報を編集できるページを作っていたのですが、
管理画面から対象の会員としてログインし、
会員情報の修正をしている市販CMSを結構見るんです。
たぶん、同じような箇所を管理画面用・会員用と分けて作るのは
手間がかかるからログインし直すという事で対処していると思うのですが、
あまり良いやり方ではないみたいですね。
917:nobodyさん
12/04/12 18:05:37.36
成りすましをしているようで変態的
918:nobodyさん
12/04/13 01:19:58.45
>>914
vendorにライブラリとして突っ込む
>>916
ユーザーが実行できる範囲の行動を管理者が行うという前提であれば
手抜きの方法としてナシではないのかもしれないけど、スマートでないのは確か
というかユーザーが修正できるんならユーザーに修正させるべきじゃね?
管理者がユーザーの設定代行するって言うのはかなりの最終手段のような気がする
919:nobodyさん
12/04/13 14:04:43.06
Cakephp のメソッド引数として全角文字列を入れて動かしているのですが、
なぜかIEでだけ、動きません。
URLリンク(hostname.jp)全角の検索ワード
という感じのアクションなのですが、Chromeでは問題なく動いているのですが、
IE系のブラウザではまったく動いてくれません。検索ワードが半角文字だけですと、IEでも動いています。
そもそもCakeのメソッド引数に上記の方法で全角文字列を渡してもいいものなのでしょうか?
なにか別にいい策があればご教示ください。
920:nobodyさん
12/04/13 14:52:39.24
全角?
古臭い用語だな
921:nobodyさん
12/04/13 15:01:55.33
>>920
マルチバイト文字のことです。正確にはUTF-8の日本語文字列です。
922:nobodyさん
12/04/14 00:10:19.08
>>919
Cakeとか関係ない。
UTF-8で書かれたページでPOSTしたら
サーバーに投げられる文字コード何か?
EUC-JPで書かれたページでPOSTしたら
サーバーに投げられる文字コード何か?
この2つの例でサーバーに投げられ文字コードは何で決まるのか?
URLリンク(hostname.jp)全角の検索ワード
の「全角の検索ワード 」の部分の文字コードはどうやって決めるのが正しいか
考えてみれば良い。
923:nobodyさん
12/04/14 09:35:05.93
文字コードも関係ないwww
924:nobodyさん
12/04/14 10:00:41.58
URLエンコード
925:nobodyさん
12/04/14 10:52:00.00
アホか。URLエンコード するときの
文字コードは何だよ。言ってみろ
926:nobodyさん
12/04/14 12:26:15.35
cakePHP2.1.1を使用してコントローラの中からモデル内に定義した
ファンクションをコールしようとしているのですが
下記の様なエラーが出てしまいます。
どこに間違いがあるのでしょうか?
[model]
class Test extends AppModel
{
var $name = 'Test';
function Testxxx(){echo "Test!";}
}
[controller]
var $uses = array('Test');
$this->Test->Testxxx();
[error]
Error: SQLSTATE[42000]: Syntax error or access violation: 1064
You have an error in your SQL syntax; check the manual that corresponds to your
MySQL server version for the right syntax to use near 'Testxxx' at line 1
927:nobodyさん
12/04/14 13:43:48.92
Error: SQLSTATE[42000]: Syntax error or access violation: 1064
You have an error in your SQL syntax; check the manual that corresponds to your
MySQL server version for the right syntax to use near 'Testxxx' at line 1
928:nobodyさん
12/04/14 13:50:12.49
エラーメッセージを繰り返したら誰かが答えるとでも?
929:nobodyさん
12/04/14 14:11:27.02
>>926 と >>927 は別人だろうが。
>>928お前はミサイルで頭を破壊した方がいいよ。どうせまともなルックスしていない下種野郎だろうしな。
930:nobodyさん
12/04/14 15:09:22.75
で?それが質問者の態度?
931:nobodyさん
12/04/14 18:06:38.12
cakePHP で特定のコントローラ
例)
denyController.php
へのアクセスを禁止するには一般的にどうしますか?
.htaccess or cakePHPでなにがしかの設定が可能?
932:nobodyさん
12/04/14 18:42:11.68
cakePHPでdeleteAllに削除条件を指定しても無効なのでしょうか?
下記コードを実行すると、全レコードが削除されてしまいます><;
$deleteCondition = array("hoge_id" => 3333);
$this->Hoge->deleteAll( $deleteCondition );
933:nobodyさん
12/04/14 18:52:06.84
>>932
条件の与え方はfindと同じだよ。
その条件でfindしたら検索されるの?
934:nobodyさん
12/04/14 19:34:52.76 V2giXwsG
>>931
俺ならコントローラー全てのアクションにprefixつけてprefixルーティング&アクセス制御って感じかな
935:nobodyさん
12/04/14 19:38:18.38
>>933
自己解決しました。
英語のドキュメントを見たところ
cake2.1.1 になってから呼出し方が微妙に変わっていました。
936:nobodyさん
12/04/14 19:55:02.70
>>935
一応、どう変わったのか書いてほしいな
937:nobodyさん
12/04/14 20:25:02.13
>>936
実際には delete は変わってませんでした。
findについては、
findAll → find('all')
といった感じです。
しかし、なぜ同じコードで>>932が今度は正常に削除出来たか不明。
938:nobodyさん
12/04/14 20:33:32.07
controllersの下にサブフォルダを作ってコントローラーを置くと認識されますが、view以下で同じことをやるとエラーになります。
viewsのパスを任意に追加するにはどうすればいいのでしょうか?
ソース見たらApp::path('views')でパスは取れるみたいだけど追加の関数がない。
939:nobodyさん
12/04/15 02:11:36.29
なれると cakePHP むっちゃ便利やんかぁ。
940:nobodyさん
12/04/15 08:46:03.26
cakePHP と Pear って一緒に使える?
941:nobodyさん
12/04/15 19:57:59.30
はい
942:nobodyさん
12/04/15 20:19:36.67
cakePHP で
URLリンク(hogehoge.com?age=17)<)
として処理を行うにはどうしたら良いでしょうか?
943:nobodyさん
12/04/15 20:27:24.52
>>942
ブログチュートリアルでもやればやり方わかるだろう
944:nobodyさん
12/04/16 13:39:36.79
cakePHP(2.1.1) で AController / Hoge() 内の処理で
AController / Hage()
や
BController / Chabin()
を呼び出すにはどうすれば良いでしょうか?
945:nobodyさん
12/04/16 13:50:55.75
>>944
異なるコントローラ間で同じ処理をやらせないなら、コンポーネントを使うといい。
946:nobodyさん
12/04/16 14:00:58.75
>>945
ありがとうございます。
どうしても重複処理があり使いまわしたと思ってました。
947:nobodyさん
12/04/16 19:03:36.34
cake2.1.1(サクラ) でcronでcakePHPを実行させる為に、まずコマンドラインから
正常にキック出来る事の確認をしているのですがうまくいきません。
1.x系と2.xとでは記述方法が異なっている事を考慮に入れ
下記コードを記述しているのですがなぜかシェルクラスが認識されないです。
【作成したシェルクラス】
Console/Command/TestHelloShell.php
<?php
class TestHelloShell extends AppShell
{
public function main()
{
$this->log('[Shell]main() が実行されました。', LOG_DEBUG);
}
}
?>
【コマンドライン】
%/usr/local/bin/php /home/{my_account}/cake/lib/Cake/Console/cake.php test_hello -app /home/{my_account}/www/{my_directory}/app
Error: Shell class TestHelloShell could not be found.
#0 /home/{my_account}/cake/lib/Cake/Console/ShellDispatcher.php(167): ShellDispatcher->_getShell('test_hello')
#1 /home/{my_account}/cake/lib/Cake/Console/ShellDispatcher.php(69): ShellDispatcher->dispatch()
#2 /home/{my_account}/cake/lib/Cake/Console/cake.php(41): ShellDispatcher::run(Array)
#3 {main}
948:nobodyさん
12/04/16 23:25:38.33
>>947
ドキュメントをよめ
949:nobodyさん
12/04/19 01:38:53.63
cakePHP ってなんでこんなに便利なんだ。楽しすぎる
950:nobodyさん
12/04/19 16:26:48.17 GZ2gdGu2
ログイン認証とかの制御をいれたいんですけど
お勧めの方法はありますか?
951:nobodyさん
12/04/19 17:13:57.30
Auth使えば
952:nobodyさん
12/04/19 17:14:15.72
Authコンポーネント
953:nobodyさん
12/04/19 17:29:14.82
良く使用する変数(サイトのURLなど)をDBで管理して
設定ファイルに出力したいのですが、良い方法は無いでしょうか?
考えたのは、モデルキャッシュして設定ファイルが必要な時に
そのキャッシュを読み込むパターンです。
954:nobodyさん
12/04/19 19:06:23.24
>>953
bootstrap.phpでDBから設定データを読み込んでConfigure::Storeでキャッシュ。
…でもいいんだけど、
Cake2からは ConfigReaderInterfaceっつうのがついたからね。
Readerを書けばモデルから直接Configureに読み込むができるようになった。
Configureファイルに書いた時と同じようにConfigure::read()でどこでも読めるから便利よ
955:nobodyさん
12/04/19 21:31:47.54
あと、Sanitize::escape() でサニタイズしたデータを復元するときって
みなさんどんな感じでやってますか?
956:nobodyさん
12/04/19 22:16:25.42
サニタイズいうな
957:nobodyさん
12/04/19 22:18:18.29
サニタイズ時々
958:nobodyさん
12/04/20 00:36:04.30
>>956
本当はなんていうの?
マジレス希望。
959:nobodyさん
12/04/20 00:54:10.36
サニタイズが正しいよ
verbだからな。
>>958
つまり >>956 は英語が出来ないばか
960:nobodyさん
12/04/20 01:41:15.34
>>951 >>952
ありがとう
961:nobodyさん
12/04/20 04:26:48.64
サニタイズ言うなを知らない方が馬鹿
962:nobodyさん
12/04/20 11:16:59.61
英語の出来ない >>961はもっとバカ
963:nobodyさん
12/04/20 12:22:03.72 PezrE8Wt
うんごぶりぶりんこ!!!!ドビュビュビュビュドバババババブッ!!!
ドリュルリュルウリュリィブブブブブブッッ!!!!あへあへうんこまん!!!ぶりっちょ!!!
ケツの穴からドババババババババッバwwwwwwwwwwwwWWWW
wwwwwwwwwwww
WWWwwwwwwwwwww??? ? ? ? ? ? ? ????? ????????wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
なお、まにあわんもよう
964:nobodyさん
12/04/20 12:25:44.92
↑サニタイズよろしく
965:nobodyさん
12/04/20 12:32:52.78
アホが露呈して ファビョル >>963
低能乙w
いまどき英語なんて小学生でもペラペラなのにwww
966:nobodyさん
12/04/20 13:43:18.88
>>954
1.3系使ってるので、Configure::storeを使うパターンで行きます。
これってfindした配列を保存して、loadで読み込んでreadで参照
出来るから便利ですよね。参考になりました。ありがとうございます。
967:nobodyさん
12/04/20 23:58:00.96
俺がバカなら、お前もバカぁ~
バカを承知でなぜ惚れた~
968:nobodyさん
12/04/21 11:00:21.04
cakeでは当たり前だと思うのですが、
URLリンク(example.com)とかURLリンク(example.com)
というようにアクション名だけ指定したい場合、
ルーティングでアクション名を追加する必要がありますよね?
URLリンク(example.com)のコントローラがhomeであり、
/views/home/内にアクション用のファイルがあれば
routes.phpに記載しなくてもアクション名だけで
アクセスできないかと思い、質問しました。
969:nobodyさん
12/04/21 14:00:03.01
>>968
一行書くことになるけど
Router::connect('/:action', array('controller' => 'home'));
とかでいけるんじゃない
970:nobodyさん
12/04/21 14:43:21.86
>>969
この方法だと、コントローラにアクションを追加しないとアクセスできません。
pagesを使うように、アクション名を書かずにビューファイルを追加するだけで
アクセスできるようにしたいのですが・・・
971:nobodyさん
12/04/21 17:21:29.95
リモートデバッグについて質問なんですけど
Eclipseでレンタルサーバ上に展開したPHPファイルを
ローカルのEclipseにてデバッグ実行って出来ますか?
※ブレークポイントが正常に止まるか。
972:nobodyさん
12/04/21 22:21:07.57
>>970
アクション追加せずにビューだけ表示したいのならpagesでいいんじゃないの?
アクションが無いのだから特定のコントローラーを介する理由も無いし
Router::connect('/*', array('controller' => 'pages', 'action' => 'display'));
973:nobodyさん
12/04/22 10:29:18.10 L2FF/0Tg
>>971
リモートデバッグは、サーバー側のデバッグ用ポートにコネクトしてする感じ
そのレンタルサーバとやらに聞いてみて、デバッグ用ポートが開いていないのなら無理
まぁ、普通のレンタルサーバでデバッグポート開いている事はたぶん無いんじゃないかな
974:nobodyさん
12/04/22 11:01:45.48
>>973
ありがとうございます。
鯖屋に確認してみます。
ローカル環境に開発環境を作ると重たいので
全てレンタルサーバ上でやりたいなぁー、なんて考えてました。
975:nobodyさん
12/04/22 11:32:49.43 L2FF/0Tg
>>ローカル環境に開発環境を作ると重たいので
重いのはたぶんEclipseだよ
他のエディタとか使う事あるのなら、XAMPP+エディタで試してみるといい
ただ、GUIのデバッグ環境は無いと思うが。
976:nobodyさん
12/04/22 15:41:01.67
debugレベルを 0 にしても
適当なURLを入力すると次の様にサイトがcakePHPを使用している事がわかる様な
エラーメッセージが出てしまいます。
これを消す方法とかってありますか?
CakePHP: the rapid development php framework
977:nobodyさん
12/04/22 15:57:27.32
バカはしね
978:nobodyさん
12/04/22 18:19:37.02
>>976
default.ctpとかテンプレートのどっかに書かれてるんだろ
どこから出力されてるか突き止めてそれを消せ
979:nobodyさん
12/04/22 19:19:39.84
今どきデバッガの力を借りないとデバッグできないなんて
980:nobodyさん
12/04/22 19:53:54.59
デバッガすら使えない誰かさん >>979w
981:nobodyさん
12/04/22 20:33:38.25
HTMLでいうと
<li><input type="checkbox" name="data[Post][]"></li>
<li><input type="checkbox" name="data[Post][]"></li>
<li><input type="checkbox" name="data[Post][]"></li>
みたいな出力にしたい時、フォームヘルパーを使って出来ますか?
982:nobodyさん
12/04/23 16:08:34.29 3JcMmxsm
cakePHPでブラウザからアクセスがあった場合に
次の様に解釈させ、処理を実現をしたいのですがどうすれば良いでしょうか?
@アクセスされる際のURL
URLリンク(unnko.com)
@Controllerに定義した内容
class PrinController extends AppController
{
function food($menu,$id)
{
echo $menu."<br>"; // ← rice を表示したい。
echo $id."<br>; // ← 333 を表示したい。
}
}
983:nobodyさん
12/04/23 16:13:23.70
バカはしね
984:nobodyさん
12/04/23 17:14:29.71
いつものウンコ野郎はスルー
頭の中にウンコがぎっしり詰まってるんだろ
985:nobodyさん
12/04/23 20:52:22.44
Lithium安定版でねーなぁ
986:nobodyさん
12/04/23 22:52:36.10
>>982
それで実現できてないか?
987:nobodyさん
12/04/24 11:09:19.41
>>981
<li>$this->Form->checkbox('post.xxx');</li>
988:nobodyさん
12/04/24 11:12:03.63
モデルでクッキーを読みに行きたい場合、皆どうしてる?
DB登録時に、クッキーからログインユーザーの情報吸い上げて登録しにいくフローって多くない?
モデル内でApp::usesでクッキーコンポーネント呼ぶのは邪道?
989:nobodyさん
12/04/24 11:24:40.31
モデルでくっきーを読もうってのがそもそも設計としてゴキブリレベル
990:nobodyさん
12/04/24 11:28:43.67
いや蛆虫だろう
991:nobodyさん
12/04/24 11:58:40.78
ああ、そうやっぱモデルでクッキー読むのは邪道なのね。サンクス
992:nobodyさん
12/04/24 11:59:56.14
>>982
View フォルダの下にPrinフォルダつくってfood.ctp作ったか?
993:nobodyさん
12/04/24 12:59:47.43
>>992
Thank you!
994:981
12/04/24 14:05:37.49
↓こんな感じでやってみたのですが、エラー時など同じビューを表示した時、
チェックした項目がチェックされていません。どうすればいいのでしょうか?
<li><?php echo $form->checkbox('Post.xxx', array('value' => 1)); ?></li>
<li><?php echo $form->checkbox('Post.xxx', array('value' => 2)); ?></li>
<li><?php echo $form->checkbox('Post.xxx', array('value' => 3)); ?></li>
995:nobodyさん
12/04/24 15:11:46.26
2.0のAuthがsessionKeyをself::$sessionKeyとしてるもんだから
コントローラーからモデル名に変えようにも
$this->Auth->sessionKey = 'Auth.Hoge';
じゃだめで
AuthComponent::$sessionKey = 'Auth.Hoge';
って市内とダメなんだけどそもそもいじっちゃマズイのかな?