【PHP】下らねぇ質問はここに書き込みやがれ 69
レス数が900を超えています。1000を超えると表示できなくなるよ。
0001nobodyさん
2008/05/27(火) 18:04:33ID:???PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 68
http://pc11.2ch.net/test/read.cgi/php/1209822736/
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0826nobodyさん
2008/06/22(日) 00:32:52ID:LpK23FuMってレベルの、携帯で表示できるphpのアクセスカウンタについて勉強して
作ってみようかなと思っているのですが参考になるサイトまたはスクリプトを知りませんか?
ググッてはみているのですが、知識があまりないので
色々多機能なスクリプトを見ても激しく処理落ちしてしまうんででででででd
0827nobodyさん
2008/06/22(日) 00:54:46ID:???0828nobodyさん
2008/06/22(日) 01:16:24ID:kUNjCWuS<?PHP
$a="あ";
echo $a . " ";
echo escapeshellarg($a);
?>
PHP5.2.4で上のようなコードを実行すると、
あ 'あ' のように想定通りの出力が得られるのですが
PHP5.2.6(yumでアップデート)では、
あ '' という出力になり、escapeshellargが
上手く動いてくれないようです。どうしたらよいでしょうか?
0829826
2008/06/22(日) 01:53:59ID:LpK23FuMとりあえず一通りの処理の仕組みを理解したいんですよ。
送る→受け取る→表示させる。くらいしかまだわからないので…
なんでカウントできんの?って感じなんです。
0830nobodyさん
2008/06/22(日) 02:16:52ID:G75vU74Ghttp://www.e-and-a.ws/06/093.asp
つーかあなたはこっち
http://pc11.2ch.net/test/read.cgi/php/1213356756/l50
0831nobodyさん
2008/06/22(日) 02:40:53ID:LpK23FuM申し訳ない。
逝ってきます…
0832nobodyさん
2008/06/22(日) 11:33:03ID:???改行されているようにするには何をつければよいでしょうか?
\nではメモ帳では改行されません(他のエディタなら改行されてます)
よろしくお願いします
0834nobodyさん
2008/06/22(日) 12:26:05ID:???0835nobodyさん
2008/06/22(日) 14:50:21ID:v+r8Rhilhttp://example.net/test/test
とアクセスすれば、
http://example.net/test/test.(testから始まる拡張子で)にアクセスされるようにしたいです。
http://example.net/test/test.cgiがあれば
http://example.net/test/testにアクセスしたら
http://example.net/test/test.cgiが表示されるというようにです。
こう考えましたが動きませんでした。
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ (.*).(.*) [L]
0836nobodyさん
2008/06/22(日) 14:57:03ID:???あとここはPHPスレだから、mod_rewriteはスレ違い
0837nobodyさん
2008/06/22(日) 15:32:36ID:???パネェwww
0839nobodyさん
2008/06/22(日) 17:06:54ID:???0840nobodyさん
2008/06/22(日) 19:01:41ID:???メモ帳はWindowsの改行コードでしか開けない
他の多くのエディタは改行コードを見て自動判別して開く
それだけの違い
メモ帳がしょぼいということなので諦めろ
どうしてもっていうならサーバOSをWindowsにしろ
0841nobodyさん
2008/06/22(日) 19:21:43ID:???0844nobodyさん
2008/06/22(日) 22:56:04ID:???改行コード:\r\n
これで、メモ帳で正常に出力される。必ず。
つまり、どこかに落ち度があるってことだ。
0845nobodyさん
2008/06/23(月) 02:12:57ID:wqaDeiWnrequire_onceでファイルを読み込む場合に
そのファイルがあるかどうか判断する方法を探しています。
file_existsだとインクルードパスを考慮してくれないので
それ以外の方法でないでしょうか?
何故このような質問をしたのかというと、
PHP5の__autoloadを使って動的にファイルを読み込む際に、
拡張子が2パターンある為、無ければこっちの拡張子という
分岐が発生するためです。
0846nobodyさん
2008/06/23(月) 02:18:58ID:???なんでそんな処理をする必要があるのか解らないな
0847nobodyさん
2008/06/23(月) 02:19:48ID:???>何故このような質問をしたのかというと、
から読めてなかったww
0848nobodyさん
2008/06/23(月) 02:58:20ID:???require_once();
}
ってやるしかないんでないの?
0849nobodyさん
2008/06/23(月) 03:03:57ID:???0850nobodyさん
2008/06/23(月) 04:11:57ID:PQglpgvePOSTするデータって最大何文字とかありますか?
ページAからページBに送られたPOSTデータを、そのまま配列にして
一つの値として次のページに渡したいと思ってます
0851nobodyさん
2008/06/23(月) 04:20:48ID:???0852nobodyさん
2008/06/23(月) 04:40:50ID:uq5ou2cMヘッダで読み込んでいるのですが、その外部JavaScriptのソースを
HTMLを吐きださせているPHP側から制御したいと考えています。
今は外部JavaScriptのソースを呼び出す時に、
JavaScript.php?val1=hoge&val2=hoge
の様にしてURLから変数を渡しているのですが、出来ればURLからの変数受け渡しは避けたいと考えています。
HTML側に直接JavaScriptソースを書き込む以外に、URLからの変数受け渡しを避ける方法は何かありませんでしょうか?
宜しくお願いします。
0853nobodyさん
2008/06/23(月) 05:03:48ID:???0854nobodyさん
2008/06/23(月) 05:39:37ID:???偽装されるからに決まっているだろ。
お前は、インジェクションとかサニタイジングって言葉すら知らないニートか前科者だろ?www
0855nobodyさん
2008/06/23(月) 05:44:29ID:???0856nobodyさん
2008/06/23(月) 05:47:54ID:???0857nobodyさん
2008/06/23(月) 05:55:28ID:???JavaScript.phpはval1の値によって違うJavaScriptになるっていうことなのか。
サニタイズはURL避けてもじゃなくてもやっとくことじゃね。
0859nobodyさん
2008/06/23(月) 06:12:55ID:???毒は内部になるべく入らないようにするのがシステム屋として当然の思考。
初めから、毒を入れる前提で作るってどういう設計思想なのか?
0860nobodyさん
2008/06/23(月) 06:17:49ID:???○毒が入る前提
クライアント側は任意のURLを入力できるんだから毒が入る前提で考えるほうが現実的だろ。
859の当然と言い切る自信はどこから来てるのか謎だ。
0861nobodyさん
2008/06/23(月) 06:20:35ID:???単純にアウトプットの問題であって、
アウトプットを元PHPにそのまま読み込ませてるってだけ。
なら、普通にGETがイヤならPOSTでやれば?
たまたまそういう用途に使ってるってだけで、
別にこの件、JavaScriptは全く関係ないよね。
セキュリティ? それ以前のお話だろ?
0862nobodyさん
2008/06/23(月) 06:21:34ID:???<script>
var val1="hoge"
var val2="hoge"
</script>
<script type="text/javascript" src="sample .js"></script>
</head>
で、sample.jsのJavaScriptからval1を使える。
インジェクションってSQLインジェクション?
JavaScript.phpがDBとか使って毎回違うJavaScriptを動的に生成しているの?
俺には分かりません。
セッションみたいなこととかかな?
0864nobodyさん
2008/06/23(月) 06:26:37ID:???0865nobodyさん
2008/06/23(月) 06:30:02ID:???val1やval2の値以外も動的に変わるJavaScriptとかDBにアクセスる必要あるとかなら
HTML側に直接JavaScriptソースを書き込めばいいよ。
0866nobodyさん
2008/06/23(月) 06:32:10ID:???残念ながら毒が100%入らないシステムは不可能なのだよ。
>>861
POSTでどうやって読み込ませると?
0867nobodyさん
2008/06/23(月) 06:33:26ID:???0870859
2008/06/23(月) 06:42:21ID:???俺は、「毒は内部になるべく入らないようにする」と主張しただけで、
誰も、毒が入らない前提で作れなんていってないだろ。
始めから、脆弱性が分かっている仕組みを作るな、といっているのに、
毒が入らないシステムを作れ、なんて一言も言ってないぞ。
俺が「毒を入れる前提で作るな」と書いたのが、
「毒が入らないシステム前提で作るな」と勝手な脳内変換されて馬鹿なレスが続いて吹いたww
0874nobodyさん
2008/06/23(月) 06:48:48ID:???それは仕方のないことなのか。
0875nobodyさん
2008/06/23(月) 06:49:03ID:???バカの相手疲れる。
function stringPost(){
var form=document.getElementById(form_id);
var postString=form.text.value;
postString=encodeURIComponent(postString);
var obj=XMLRequest();
obj.onreadystatechange = function(){
if (obj.readyState == 4 && obj.status == 200){
req=obj.responseText;
//hogehoge
}
}
var URL='responseURL';
obj.open("POST",URL,true);
obj.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
obj.send('string='+postString);
}
0876nobodyさん
2008/06/23(月) 06:59:48ID:???0877nobodyさん
2008/06/23(月) 07:04:29ID:???どうせAdsenseなんだろ。
0879nobodyさん
2008/06/23(月) 07:31:51ID:???煽ってる奴に比較すれば遙かにまとも。無知を棚にあげて恥ずかしくないの?
0880nobodyさん
2008/06/23(月) 07:39:56ID:???屁理屈だけが得意って感じだね
JavaScript使えばPOSTできるのは当たり前でしょw
それが>>852に対して提示する解決方法なの?
信じられないんだけどww
あと、課金者はsageてる人のIDも見えるから
そこんとこ宜しくねww
0881fushianasan
2008/06/23(月) 07:50:54ID:???可哀想だからそんなにムリしなくてもいいんだよ。
ほら、リモホくらい見せてやるから。
さすがに痛々しいわ……w
0884880
2008/06/23(月) 07:58:51ID:???痛々しいとか言うだけじゃなくてマトモに言い返してみせてよ。
>>852への解決方法がAjaxでPOSTしろなんて
ギャグとしか思えないんだけどww
他には浮かばなかったの?
0886nobodyさん
2008/06/23(月) 08:21:27ID:???これ最後ね。
ちょうど、Djangoでハマッて現実逃避してるとこだしなw
>あと、課金者はsageてる人のIDも見えるから
こういうのが無様なんだよ。やめようぜ。
何の課金だよw ●か? 株か? モリタポか? 言ってみてくれよ。
自分の知識を前提として、世の中を捉えてると、
視野が狭いどころじゃない、いずれ苦痛を味わうハメになる。
それをゆっくり理解していってくれ。
>JavaScript使えばPOSTできるのは当たり前でしょw
それができないと強く主張する奴に対して、「できるよ」と伝えた。
そして、どうしてもできないと言い張る奴に対して具体例を見せた。
それだけの話だよ。理路整然としていると思うけど。
>それが>>852に対して提示する解決方法なの?
仮に、外部JavaScriptが自分で書き出せる範囲なら、
PHPで書き出す処理に作り替えればいいだけだし、
上記の環境が不可能かどうかすら書いていないから、
それに対して、より具体的な回答はムリだよね? 分かるよね?
ただ「JSでGETで受け渡すのイヤだ」という要望に対して、
「じゃ、POSTでやれば?」は、まっとうな回答でしょ?
より、具体的な環境と要望を示してくれれば、
それに対して、より適切な回答を用意するのも構わないけどね。
>>>852への解決方法がAjaxでPOSTしろなんて
んなこと言ってないよw
受け渡しが目的なのに、Ajax側でPOSTしてどうすんだよw
0887nobodyさん
2008/06/23(月) 09:05:39ID:???0888nobodyさん
2008/06/23(月) 09:14:50ID:???0889nobodyさん
2008/06/23(月) 09:15:23ID:???セッション万能主義者。
完全な思考停止状態。
もう少し、質問者の仕様を理解してから言えよ
0890887
2008/06/23(月) 09:37:48ID:???ajax使ってもpostString書き換えたら一緒だろ
>>889
セッション嫌いな方なんですね
つーか>>852の情報だけでやるなら
>>862か>>865の方法がシンプルなわけだが
そもそもjavascriptファイルを動的に吐かなきゃできないってのは
ちゃんとロジックを分離できてないだけだろ
0891nobodyさん
2008/06/23(月) 10:00:09ID:???俺がセッションが嫌い理由を少しだけ教えてやるか。
セッションのデータは、セッションファイルに書き込まれる。
つまりファイル処理が発生するわけだが、
ページのリクエストが短い時間で接続されると、
前のリクエストのセッションが書き終わっていない前に、
古いセッションデータが読み込まれて大変なことになる。
そうなる頻度は、環境にもよるが10万回のうち3件前後。
弱小サイト運営しているやつには分からんだろうが、
一日数十万件のアクセスがあるサイトは、無視できなくなる。
0894nobodyさん
2008/06/23(月) 10:27:06ID:???0895nobodyさん
2008/06/23(月) 10:36:29ID:???(<!-- 1,2,3,4,5 -->とか)
それを呼び出したJSで取り出して使うってのはどう?
0896nobodyさん
2008/06/23(月) 16:13:57ID:???http://sugo69.adjt.jp/?a=intro&s=533045
0897nobodyさん
2008/06/23(月) 16:18:14ID:???>memcachedとDBでセッション管理している俺には関係ねぇ
どういう管理をしているのか分からないけど、
セッション管理に、memcachedを使うのはよくない。
アクセスが急増したりセッションに入れるデータが増えていくと、
急速にメモリーを食うようになる。それにメモリーの使用の予測がつかない。
やるならDBだと思うよ。
0898nobodyさん
2008/06/23(月) 16:27:48ID:0IlltlK0ログインしていない人までファイルが作られてしまうので、
先にクッキーにセッションIDがあるかどうか調べてからsession_start()するようにしているのですが、
これって意味のある行為でしょうか?
ファイルが作られる分の無駄な処理を減らしたいと思ってしているのですが。
0899852
2008/06/23(月) 16:45:14ID:???自分の質問でスレが荒れてしまったようで申し訳ないです。
URLからの受け渡しを避けたい理由はセキュリティ的な面と、
XHTML1.0TransitionalでURLから変数を渡そうとするとValidaterにぶーぶー文句言われるからです。
一応サニタイズはしていますが、ソースの美観の問題で工夫次第で避けられるなら避けたいなと。
JavaScript.phpに変数を渡して、それに応じてPHPで吐きだしたJavaScriptコードでDOMをいじらせたいんです。
>>862>>865
保守性の面で、JavaScriptはHTMLソースから完全に分離して管理したいこともあって、
js呼び出しに直書きJavaScriptを使うのはちょっと微妙です。
>>861
JavaScript経由無しでHTMLヘッダからPOSTって投げられるんでしょうか?
>>877
JavaScript.phpの内容はPHPで書き出しているんですが
>>887
セッションについては少し調べてみます。
>>895
HTMLコメントって外部JSから拾えるんでしょうか
0900nobodyさん
2008/06/23(月) 17:28:23ID:???掲示板やアンケート、ショップの記入欄とかは、なんとか作れそうです。
このレベル、もしくは少し上のレベルのプログラムのサンプルが
解説つきでたくさん載っている、実践的な教本があれば教えていただきたいのです。
よろしくお願いします。
0901nobodyさん
2008/06/23(月) 17:32:15ID:???0902nobodyさん
2008/06/23(月) 17:39:19ID:???PHP関連の書籍 第6版
http://pc11.2ch.net/test/read.cgi/php/1213919075/
0903nobodyさん
2008/06/23(月) 17:42:21ID:???すいませんでした。
0904nobodyさん
2008/06/23(月) 19:03:04ID:???次のプロジェクトでSQLSERVERに接続する必要が出て
再コンパイルが必要ということに行き着いたのですが、今までやったことが無く
いまいち実態がつかめていません。
php.iniやその他各種設定は保持されたままなのかといった、事後の影響が
どう出てしまうのか想像できず、怖くて踏み切れない状態です。
このあたりのことを詳細に解説してくれるようなサイトや書籍等はございますでしょうか。
0906nobodyさん
2008/06/23(月) 19:55:18ID:???>JavaScript経由無しでHTMLヘッダからPOSTって投げられるんでしょうか?
当たり前でしょ(;^ω^)
>JavaScript.phpの内容はPHPで書き出しているんですが
だから、Javascript.phpじゃなくて、外部jsそのものをPHP化できないの?って言ってる。
そしたらPHP間の通信だから、何でもできるだろ。
PHP→JSだとPOST受け渡しにAJAX使ったり多少技術力が必要になる局面もある。
つか、なんでも聞く前に調べろよ。
>>900
>>902は全く参考にならん。クソスレ。
はっきり言って要望の良書は少ない。
とりあえず、スーパーサンプルと活用編の2冊買えばいいんじゃね?
正直、PHPは簡単だから、わざわざ本買わなくても、
配布されてるやつをマニュアル片手に読み解けば、
半月でそれなりにはなれる。
>>904
なんで再コンパイルが必要なの?
php.iniの修正くらいで、普通、必要ないよ。
0907nobodyさん
2008/06/23(月) 19:56:26ID:???0909852
2008/06/23(月) 20:32:19ID:???> だから、Javascript.phpじゃなくて、外部jsそのものをPHP化できないの?って言ってる。
> そしたらPHP間の通信だから、何でもできるだろ。
説明に誤解があったようですが、外部jsそのものをPHP化しています。
その「何でも」を伺いたいです。
宜しくお願い致します。
0910nobodyさん
2008/06/23(月) 20:33:29ID:???0911age
2008/06/23(月) 20:37:48ID:DyP7tiX7PHPというよか正規表現の質問になってしまうかもですが
次のコードの出力が「aaa777aaaa」になります。
自分の予想だと「aaa777aaaa888」になると思ったのですが…。
888が入らないは正常でしょうか?
$string='11aaa1222333444555666777aaaa888';
$pattern = '/(a*)(.*?)(7*)/';
$replacement = '${1}${3}';
echo preg_replace($pattern, $replacement, $string);
0912nobodyさん
2008/06/23(月) 20:39:37ID:???なら、本当に何でもできるじゃん。POSTだろうが、他のあらゆる手段だろうが。
それとも、呼び出し側は静的なHTMLファイルなの?
なら、呼び出し側もPHPにしちゃえば?
0913nobodyさん
2008/06/23(月) 20:51:55ID:???とりあえず、jsのおいてあるディレクトリに、mod_rewriteで、書き換えるようにするのは?
<script type="text/javascript" src="hoge_hoge.js"></script>
.htaccessの中身-------
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^(.+?)_(.+?)\.js js.php?val1=$1&val2=$2 [L]
</IfModule>
とか。そんな感じで。
0915nobodyさん
2008/06/23(月) 21:18:08ID:???preg_replaceは、その正規表現にマッチする全てを置換するので、
何個も複合して、置換繰り返してると思われる。
preg_match_all($pattern, $string, $r);
echo "<pre>";
print_r($r);
echo "</pre>";
を見てみれば、なにやら不穏なことになっているのが分かると思う。
0916nobodyさん
2008/06/24(火) 00:01:36ID:xMpVBPQkどうしたらいいでしょうか?
$testAry = array('dog'=>5, 'cat'=>10, 'rat'=>15);
となっているとして、'dog'の位置(0)を返す方法を考えてます
調べたんですが一発で引き出せる関数があるんでしょうか?
なかったらどうしたらいいでしょう。キーはユニークです、重複しません。
アドバイスお願いします。
0917nobodyさん
2008/06/24(火) 00:15:21ID:???0918nobodyさん
2008/06/24(火) 00:22:50ID:???当 た り 前 だ w w w
array_search('dog', array_keys( $testAry ) );
0920nobodyさん
2008/06/24(火) 03:33:24ID:???分かりやすく書くと
$testAry = array();
$testAry['dog'] = 5;
$testAry['dog'] = 10;
print $testAry['dog']; // 10
0921nobodyさん
2008/06/24(火) 03:35:28ID:???0922nobodyさん
2008/06/24(火) 05:37:00ID:???$array[0] = 1 と、$array[0] = 5 は共存しない。
当たり前だよね。連想配列のKEYというのは、数字の添え字を文字に置き換えただけ。
つまり、上記と同様に、
$array['dog'] = 1 と、$array['dog'] = 5 は共存しない。
正直、>>919レベルの質問は初心者スレに書いてくれと毎回思う。
はっきり言うけど、邪魔。ちなみに俺は、>>918。
0923nobodyさん
2008/06/24(火) 05:51:34ID:???0924904
2008/06/24(火) 10:45:20ID:???mssqlの接続について調べたら、どこも再コンパイルするようにと書いてあったからなんですよ。
肝心の再コンパイルについてのことを詳しく書いてる場所が無かったので相談に乗っていただこうと
こちらに書かせていただきました。
0925nobodyさん
2008/06/24(火) 11:09:18ID:???レス数が900を超えています。1000を超えると表示できなくなるよ。