トップページphp
1001コメント317KB

【PHP】下らねぇ質問はID出して書き込みやがれ 97

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2010/07/23(金) 06:24:51ID:3G71fl8i
質問者はまず>>1を良く読むこと(必須!)
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。


【PHP】下らねぇ質問はID出して書き込みやがれ 96
http://pc11.2ch.net/test/read.cgi/php/1275032024/

◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】

◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)

◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
 (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。

【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0715nobodyさん2010/09/15(水) 11:28:53ID:???
>>714
他言語を貶すような事は書かないでくれ

perlがオッサンというのはちょっとずれてる
YAPCもPHPカンファレンスも年齢層は変わらない。

perlの方が日本発の携帯向けのフレームワークも多いし
今でも主流の一つ。

greeはPHP(藤本さんにはお世話になりました)
mixi・DeNAはperl

案件数ではLLの中ではPHPが一番多い
0716nobodyさん2010/09/15(水) 11:32:31ID:???
零細企業ならともかくいつまでもPHP使ったシステムのままってのはどうなんだ・・・
greeも儲かってんだからさっさとシステムを改修したほうがいい
そのうち積むぞ
0717nobodyさん2010/09/15(水) 11:34:51ID:???
よかったら積む理由を教えてくれないか
時代遅れだけは簡便な
0718nobodyさん2010/09/15(水) 11:39:27ID:???
Yahooのような大規模サイトでもフレームワーク使っててもあのクオリティなのに
どういう場合に積むのかこりゃ気になるな
0719nobodyさん2010/09/15(水) 11:47:54ID:???
ニフティでもCakePHPで構築されたコンテンツもあるけどね
どんだけPHPをなめてるんだろうw
0720nobodyさん2010/09/15(水) 11:56:19ID:???
処理が増大すると遅くなるとか
アクセス過多でレスポンスが遅くなるってのは
SpeedyCGIじゃなくてなんだっけか名前忘れたけど
それで改善できるんだっけ
0721nobodyさん2010/09/15(水) 11:57:05ID:???
処理が増大すると遅くなるのはPHPに限らないと思うけど
0722nobodyさん2010/09/15(水) 11:58:44ID:???
PHPの処理機構がとろくて
重アクセスでうんちゃらって記事を見たような
0723nobodyさん2010/09/15(水) 12:01:05ID:???
eAccelerator
0724nobodyさん2010/09/15(水) 12:07:59ID:???
APCとeAcceleratorどっちがいいの?
0725nobodyさん2010/09/15(水) 12:28:00ID:???
記事が書いてたからこうだって洗脳されたやつが1名いるなw
0726nobodyさん2010/09/15(水) 12:29:37ID:???
んじゃおまえがまともな記事かいて公開してやれ
0727nobodyさん2010/09/15(水) 12:31:33ID:???
誰がどんな記事書こうが、本書こうが、
洗脳されたの一言で済まされたら書く意味がない。
このスレも回答者に洗脳されたの一言で済まされるから存在意義がない。
0728nobodyさん2010/09/15(水) 12:33:06ID:???
重いと言われるsmartyもゲーム業界で利用されてるのにねw
記事マンセーおつかれ
0729nobodyさん2010/09/15(水) 12:42:41ID:???
>>727
誰が記事を書くかは自由だが自分が試したこともないのにこれは記事に書いてあるからこうだって自己主張するのは違うかな
0730nobodyさん2010/09/15(水) 13:13:06ID:???
実際レスポンスってプログラムっていうより、
DBがボトルネックになることがほとんどなんじゃないの?
0731nobodyさん2010/09/15(水) 13:20:59ID:???
smartyが遅いのは毎回コンパイルするように設定してるからだろ
0732nobodyさん2010/09/15(水) 13:32:39ID:???
>>730
個人的にはDBと回線が多いかな

SQLをあまり知らない人が、1度のクエリで済むところを何度もクエリ発行
→それをPHPで加工とかして無駄に負荷がかかるというのも結構見る

DBに登録されている時間から24時間経ったかどうか調べるだけで
PHP側でmktime使ったりとかもよくある(INTERVAL 1 dayとかdatediffとか知らない)
(この程度なら体感できる差はでないけど)

あとは無駄に凝ったJavaScriptを書いて、クライアント側で負荷がかかるとかも多い
もちろんPHPは関係無い

PostgreSQLが未だに「VACUUMするだけで早くなった」というのが多いのと同様に
php.iniとhttpd.confの設定と、アクセラレータ使うだけで問題解決の場合も結構多い
0733nobodyさん2010/09/15(水) 13:59:16ID:tjiwRP0q
要は道具は人の使いようによっていくらでも
かわるさ。
別にPerlだろうがPHPだろうがRubyだろうがJavaだろうが
好きなものを使えばいい。
0734nobodyさん2010/09/15(水) 14:03:18ID:???
木槌で金槌を叩くんですね
0735nobodyさん2010/09/15(水) 14:34:48ID:???
高木先生のサニタイズするなをどう捉えたのか分からないがまったくサイニタイズしないで出力するバカが新人にいてクソワロタ
0736nobodyさん2010/09/15(水) 14:36:06ID:???
サニタイズするなじゃなくてサニタイズ言うなっていう主張だったはずだが
0737nobodyさん2010/09/15(水) 15:31:08ID:???
サンプル見て書いたんだけど、なんか動かないんだけど???

<?php

if(a$ = 1){
 print "a$ は " + a$ + " です。":
}then{
 exit():
}else{
 b$ = *a:
 a++:
 print a:
}

?>
07387372010/09/15(水) 15:35:18ID:???
解決しました
0739nobodyさん2010/09/15(水) 15:38:28ID:???
>>735
内部では生のまま扱ってsmartyで$default_modifiers使うのが
いまのとこ俺としては一番楽だな。

入り口でエスケープ加工とかすると長さ調べたりといった処理で
わけわかんなくなってだめだわ。
0740nobodyさん2010/09/15(水) 15:44:19ID:???
解決してません。何で動かない???
0741nobodyさん2010/09/15(水) 15:45:25ID:???
パスワードをばれないようにしたいのですが
セッションに格納したらバレませんか?
0742nobodyさん2010/09/15(水) 15:46:44ID:???
>>737
すごく簡単な事だけど

スレのルールを守らない質問には答える義務はありません
0743nobodyさん2010/09/15(水) 15:50:07ID:???
義務とかどうでもいいんだけど、教えてよ!!
0744nobodyさん2010/09/15(水) 15:51:52ID:???
>>3
0745nobodyさん2010/09/15(水) 15:52:12ID:???
a$ = 1:
print a$:

これだけでもエラーが出る。わけわかんない。
0746nobodyさん2010/09/15(水) 15:54:24ID:???
釣り乙
0747nobodyさん2010/09/15(水) 15:55:25ID:???
釣りもここまでくると冷めるな
0748nobodyさん2010/09/15(水) 16:00:05ID:???
もういい。教えてで聞いてくる。
0749nobodyさん2010/09/15(水) 16:14:23ID:???
>>741
スレタイ

なんでパスワードをセッションに格納する必要があるの?
07507372010/09/15(水) 17:16:32ID:???
はい、時間切れ。

おまいらこんなあからさまな引っ掛けも分からないでやんの。
カス決定。
0751nobodyさん2010/09/15(水) 17:18:03ID:???
748 名前:nobodyさん[sage] 投稿日:2010/09/15(水) 16:00:05 ID:???
もういい。教えてで聞いてくる。

749 名前:nobodyさん[sage] 投稿日:2010/09/15(水) 16:14:23 ID:???
>>741
スレタイ

なんでパスワードをセッションに格納する必要があるの?

750 名前:あぼ〜ん[あぼ〜ん] 投稿日:あぼ〜ん
0752nobodyさん2010/09/15(水) 17:43:51ID:???
ちょっと気になったんだけどさ、PHPって言語はPerlだよな・・・?
F-BASICとPHPしかプログラム組んだことないんでわかんないwwww
0753nobodyさん2010/09/15(水) 17:47:38ID:???
   ∩___∩     /
   | ノ      ヽ  /
  /  >   < |/ そんな餌パクッ
  | //// ( _●_)/ミ
 彡、     l⌒l  ノ
 / __  \ \ヽ
. (___)   \__)
. O|       /
  |  /\ \
  | /    )  )
  ∪    (  \
        \,,_)
0754nobodyさん2010/09/15(水) 17:48:13ID:???
>>752
YES
0755nobodyさん2010/09/15(水) 17:49:04ID:???
         \   ∩─ー、    ====
           \/ ● 、_ `ヽ   ======
           / \( ●  ● |つ
           |   X_入__ノ   ミ   
            、 (_/   ノ /⌒l
            /\___ノ゛_/  /  =====
            〈         __ノ  ====
            \ \_    \
             \___)     \   ======(´⌒
                \   ___ \__  (´⌒;;(´⌒;;
                  \___)___)(´;;⌒  (´⌒;;
07567412010/09/15(水) 17:54:02ID:???
パスワードをcookieに保存するとばれますよね?
なのでsessionに保存しようと思うのですが
cookieとsessionは同じですか?
0757nobodyさん2010/09/15(水) 18:00:38ID:???
やべぇ
マジで初心者だw
0758nobodyさん2010/09/15(水) 18:01:43ID:???
100MBぐらいのテキストをセッションに保存したらわかるんじゃねw
07597412010/09/15(水) 18:03:35ID:???
すいません、質問なのにsageてしまいました…
0760nobodyさん2010/09/15(水) 18:05:19ID:???
最近の流行はmemcached
0761nobodyさん2010/09/15(水) 18:08:28ID:???
>>756
>cookieとsessionは同じですか?

違う
簡単に言うと、cookieはクライアント側に、sessionはサーバ側に格納される
そのためセッションIDが盗まれる事はあっても、sessionの中身を直接見られる事は普通は無い

>>749で聞きたかったのは、パスワードをセッションに入れて持ち回す理由が知りたかった。
07627412010/09/15(水) 18:31:39ID:???
sessionの中身って・・・
0763nobodyさん2010/09/15(水) 18:37:59ID:???
何が言いたいのかはっきりしろよ
07647412010/09/15(水) 18:41:01ID:???
それ、リアでよく言われるんです。なんで??
0765nobodyさん2010/09/15(水) 19:45:23ID:???
>>756
sessionだってクッキー使うんだからsessionで発行したクッキーをハイジャックされりゃあ同じ事
0766nobodyさん2010/09/15(水) 20:07:20ID:???
>>719
kswk
0767nobodyさん2010/09/15(水) 20:13:08ID:???
>>766
cakeで作られたページ
ttp://topic.nifty.com/
0768nobodyさん2010/09/15(水) 20:14:43ID:tjiwRP0q
test
07696462010/09/15(水) 20:17:24ID:KXuGaOGr
いろいろ検討しましたがsessionを使う方向で調整していこうと思います。
アドバイスありがとうございました(´・ω・`)ノシ
0770nobodyさん2010/09/15(水) 20:18:23ID:???
cookie使わなくてもsession使えるし
セキュリティに拘るならsession IDとIPを紐付けしたりリクエスト毎にsession ID変えたりhttpsで丸ごと暗号化したり
07717412010/09/15(水) 21:36:18ID:???
暗号化って、SSLのことですか?
07726462010/09/15(水) 22:02:53ID:KXuGaOGr
ところでsession情報をURLに表示させないようにするには
訪問者の方がブラウザでcookieを受け入れてもらうよう設定してくるのを望むほか無いんでしたっけ?
0773nobodyさん2010/09/15(水) 22:04:57ID:???
>>772
hiddenでもたせれば?
0774nobodyさん2010/09/15(水) 22:21:48ID:???
クッキーを拒否ってるクライアントの事は考えないのですか、そうですか
07756462010/09/15(水) 22:32:50ID:KXuGaOGr
>>773
> hiddenでもたせれば?

http://www.yc.tcu.ac.jp/~yamada/doc/php/0802.html

のサイトの

> ■HTMLフォームのhiddenコントロールでセッションIDを引き渡す方法

で解説している方法ですね。

 <form action="session_start6a.php" method="post">
 <input type="hidden" name="<?=session_name()?>" value="<?=session_id()?>">
 <input type="submit" value="次ページ">
 </form>

確かにこの方法ですとcookieを拒否している人がリンクをクリックしてもURLにsession変数関係のゴミが
付くことはなくなりますがリンクは input で実現しなければならないんですね・・・
単なる画像リンクなんで input で表示するのはちと大げさかと・・・

普通の <a href="photo_hyouji.php?file=shashin_01.jpg">写真</a> という感じで、なおかつURLにゴミが
付かないようにセッション情報を渡せれば万々歳なんですが・・・
0776nobodyさん2010/09/15(水) 22:35:54ID:???
statefulにしろカス
0777nobodyさん2010/09/15(水) 22:47:26ID:???
ブラウザのURLに出るのが嫌なのか?
ならGETじゃなくてPOSTにすりゃいいんじゃね
0778nobodyさん2010/09/15(水) 23:03:33ID:???
>>775
B.phpをA.phpと同じ場所に置くという話で解決したんじゃなかった?
07796462010/09/15(水) 23:08:36ID:KXuGaOGr
>>777
> ならGETじゃなくてPOSTにすりゃいいんじゃね

<a href="photo_hyouji.php?file=shashin_01.jpg">写真</a>
の書式でGETではなくPOSTにする方法はありますか?

>>778
やはり管理上写真を表示するPHPファイルと、日記のPHPファイルは別ディレクトリの方がいいかと・・・
0780nobodyさん2010/09/15(水) 23:15:11ID:???
あるよ
ただそれはjavascriptだからここじゃスレ違いになる
調べてみるといいよ
0781nobodyさん2010/09/15(水) 23:17:14ID:???
>>646
javascriptでならPOSTはできるが
javascript切ってる人がいるかもしれないのでだめだよな

質問時にもうちょっとやりたい事と現状を整理して書くべきだ
あと条件もあるなら条件も

リファラとれないやCOOKIE使えないなんて
WEB全体で考えると数%だろそれをフォローする労力と
その見返りからも考えるべきだな

まぁ仮に貴方のサイトでそれらの人が5割超えるとかって話なら別だが
0782nobodyさん2010/09/15(水) 23:18:28ID:???
>>779
> <a href="photo_hyouji.php?file=shashin_01.jpg">写真</a>
> の書式でGETではなくPOSTにする方法はありますか?

アホだとは思うが
hogehoge/photo_hyouji.php?file=shashin_01.jpg
fugafuga/photo_hyouji.php?file=shashin_01.jpg
hagehage/photo_hyouji.php?file=shashin_01.jpg
みたいにsessionidをディレクトリに含めて
rewriteでどのディレクトリにあっても同じCGI呼ぶようにすればいい
0783nobodyさん2010/09/15(水) 23:31:30ID:???
>>779
> やはり管理上写真を表示するPHPファイルと、日記のPHPファイルは別ディレクトリの方がいいかと・・・

どういう理由で?
そうしたせいで今困ってるわけじゃないの?
0784nobodyさん2010/09/15(水) 23:45:43ID:???
あ、いい方法を思いついた!

A.phpと同じディレクトリにB.phpを読み込むC.phpを置く。

■A.php
<a href="C.php?file=B.phpのパス">写真</a>

■C.php
<?php
require_once($_GET['file']);
?>

こんな感じにしておけば、B.phpで画像のパスは不要となり、ファイル名だけでいける。
0785nobodyさん2010/09/16(木) 00:18:08ID:???
何そのセンスのない方法は
クラス使えばいいでしょ
0786nobodyさん2010/09/16(木) 00:19:57ID:???
>>785
クラスでの解決策を提示してから言いなよ
0787nobodyさん2010/09/16(木) 00:29:51ID:???
>>786

>>1
0788nobodyさん2010/09/16(木) 00:45:53ID:???
お前のクラスの事なんかしらねぇよ
0789nobodyさん2010/09/16(木) 00:48:50ID:???
>>785はクラス覚えたてで興奮してるだけだよ
0790nobodyさん2010/09/16(木) 03:42:09ID:???
関係ないけどサイト上からHTTPリクエスト送ってヘッダーとか見れるサイト教えてください
0791nobodyさん2010/09/16(木) 06:23:15ID:???
meta tagの中にrdf使った複雑な補足説明みたいなのものを記述するのってだめなんでしょうか
0792nobodyさん2010/09/16(木) 06:53:56ID:???
チンピラが復活するとスレの進行速度はええな
0793nobodyさん2010/09/16(木) 09:11:39ID:???
なんか無駄なことに労力かけてるようにしか見えないな...
0794nobodyさん2010/09/16(木) 09:57:46ID:???
>>791
板違い
0795nobodyさん2010/09/16(木) 10:29:11ID:???
おまえらPHPも使いこなせないくせに偉そうな無駄レスしてんじゃねえぞ
0796nobodyさん2010/09/16(木) 10:31:43ID:???
>>794
じゃあどこいけばいいんだ
0797nobodyさん2010/09/16(木) 10:43:43ID:???
>>1
0798nobodyさん2010/09/16(木) 12:01:55ID:/BVvHaMj
セッション変数を複数利用する場合、hiddenを使ったほうがいいでしょうか?

firefoxでは動作するのに、IEやChromeでは途中でセッションがなくなってしまうバグが起きていて悩んでいます。


※ ちなみにセッションの中身はこんな感じです。 (これが多すぎるのか、別に容量に問題が出ないレベルなのかは分かっておりません)

array
'total_page' => int 1
'totalItems' => int 9
'lastPageItems' => int 9
'lastPageSignal' => boolean true
'page_list' =>   //ここがたまに100行の配列になる時もある。
array
0 => int 1
'page_number' => int 0
'item_number' => int 0
'Config' =>
array
'userAgent' => string '7c0b362895da60915e17b51a0a55e3aa' (length=32)
'time' => int 1284607023
'timeout' => int 10
'category' => string '500592' (length=6)
'date' => string 'pubdate:after 08-2010 and pubdate:before 10-2010' (length=48)
07997982010/09/16(木) 12:06:53ID:/BVvHaMj
ちなみに、セキュリティ的には外部に見られても問題ない情報です。
0800nobodyさん2010/09/16(木) 12:11:43ID:???
セッションは鯖側に普通は保持されてクライアントとやりとりするのは
セッションIDだけだから、中身の多い少ないでクライアント依存の問題
が出るとは普通考えられないな。

クライアント依存の問題は似たような問題で悩んだ人がいないかぐぐって
解決されてればラッキー、みつからなければ頑張って自分で追いかける
しかないよ。まずはクライアントーサーバ間のやり取りを追いかけてどっち
の問題か切り分けるのが第一歩だと思う。
0801nobodyさん2010/09/16(木) 12:18:57ID:zCfQEIBb
クラス内に持ちたい配列を別ファイルに書いておいてincludeしようとしてますが
syntax error, unexpected T_INCLUDE_ONCE, expecting T_FUNCTION in includeした行
と出てしまってうまくいきません。
ぐぐっても情報を見つけられないのですが、どうすれば良いでしょうか。

params.php

var $test = array(
array('id' => 1, 'name' => 'yui'),
array('id' => 2, 'name' => 'mio'),
...
);

test_model.php

<?php

class TestModel extends AppModel{

include_once('params.php');

...

}
08027982010/09/16(木) 12:38:34ID:/BVvHaMj
>>800

レスありがとうございます。とても参考になります。

セッションIDの中の中身が多くなっても、影響はなさそうだということですね。
さらに、この程度なら上限のサイズにも達していないだろうということですよね?


実は、処理ごとにvar_dumpを何行試したりして、firefoxとIEでの違いを
チェックしているのですが、IEだとなぜかセッションの挙動が変わって原因がつかめないのです。。

かれこれ昨日からググったり、debugしたり、18時間ぐらいずっとやってて、かなり近いとこまでたどり着いたけど、
そもそも全部配列に格納して、hiddenでやればいいんじゃないか?と思ったわけです。
0803nobodyさん2010/09/16(木) 12:48:23ID:???
>>801
今サンプル書いてるから待ちたまえ
0804nobodyさん2010/09/16(木) 12:59:09ID:???
>>801
行数多くなるから詰めてあるけど
自分で整形して見やすいようにしてから見てね

■program.php
include "setting.php";include "class.php";$obj = new B();
echo $obj->text_A, "\n";echo $obj->text_B, "\n";$obj->setText();echo $obj->text_B, "\n";
$obj->hash = $ary;print_r($obj->hash);
■class.php
class A{public $text_A = "This is A.";public function getText(){return $this->text_A; }}
class B extends A{public $hash;public $text_B = "This is B.";public function setText(){$this->text_B = parent::getText();}}
■setting.php
$ary = array("1ch", "3ch", "4ch", "6ch", "8ch", "10ch", "12ch");
0805nobodyさん2010/09/16(木) 13:01:45ID:???
おかしくなったからやっぱ1つづつ張るわ

■program.php
<?php
include "include.php";
include "class.php";

$obj = new B();

echo $obj->text_A, "\n";
echo $obj->text_B, "\n";
$obj->setText();
echo $obj->text_B, "\n";
$obj->hash = $ary;
print_r($obj->hash);
0806nobodyさん2010/09/16(木) 13:02:25ID:???
<?php

class A
{
public $text_A = "This is A.";

public function getText()
{
return $this->text_A;
}

}

class B extends A
{
public $hash; // 外部ファイルに書いた配列データが入る所
public $text_B = "This is B.";

public function setText()
{
$this->text_B = parent::getText();
}
}
0807nobodyさん2010/09/16(木) 13:03:54ID:???
806はclass.php

■setting.php
<?php
$ary = array("1ch", "3ch", "4ch", "6ch", "8ch", "10ch", "12ch");
0808nobodyさん2010/09/16(木) 13:06:12ID:???
>>806
ちなみにクラスの中にincludeをする書き方は今日からやめよう
08098082010/09/16(木) 13:07:16ID:???
アンカーミス
>>801
↓みたいにクラスの中にinclude使うのは今日からやめよう

class TestModel extends AppModel{

include_once('params.php');

...

}
0810nobodyさん2010/09/16(木) 13:18:54ID:???
>>798
ttp://q.hatena.ne.jp/1143083535
これを呼んで容量を調節して
0811nobodyさん2010/09/16(木) 13:23:47ID:???
AppModelってことはcakeとか使ってたりするのか
0812nobodyさん2010/09/16(木) 13:35:15ID:???
はてなも馬鹿な解答が増えたもんだ
0813nobodyさん2010/09/16(木) 13:39:32ID:???
知恵袋とか教えて●●とかの質問系のサイトって質問とは関係ない回答してポイントを稼ぐサイトでしょ
0814nobodyさん2010/09/16(木) 13:42:01ID:???
「セッションIDの中の中身が多くなっても」なんて言い回しを見ると
あきらかに理解できてなさそうだなぁ。近くに聞ける人はいないの?
■ このスレッドは過去ログ倉庫に格納されています