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

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

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2006/04/09(日) 01:31:18ID:???
PHPに関するくだらねぇ質問用スレです。
ここなら本スレで回答のないお前の下らない質問に回答があるかも知れません。

まず読め【PHP マニュアル】
http://www.php.net/manual/ja/

本スレ【PHP】質問スレッドpart33【php】
http://pc8.2ch.net/test/read.cgi/php/1140027592/

【PHP】下らねぇ質問はここに書き込みやがれpart18
http://pc8.2ch.net/test/read.cgi/php/1142417901/

過去スレは>>2-3あたり
0070nobodyさん2006/04/09(日) 22:02:43ID:???
2chが未だにSQLを採用しないのにはどういうわけがあるんだろ
0071nobodyさん2006/04/09(日) 22:09:03ID:???
SQL(つーかデータベース)を使うメリットがあるならそっちの方が知りたいね。
0072nobodyさん2006/04/09(日) 22:10:01ID:???
ttp://bugs.php.net/search.php?search_for=child+process+exited+with+status+3221225477+--+Restarting&boolean=0&limit=90&order_by=&direction=ASC&cmd=display&status=All&php_os=&phpver=&assign=&author_email=&bug_age=0
0073nobodyさん2006/04/09(日) 22:18:52ID:qYTyFCRs
>>67
完全な乱数を、ダブらないことを保証して作るのは少し面倒だったりしない?
0074nobodyさん2006/04/09(日) 22:28:21ID:???
完全な乱数だなんて、そんなパンドラの箱を・・・
0075nobodyさん2006/04/09(日) 22:40:32ID:???
>>73
重複を許さないのであれば、それは乱数発生ではなくてシャッフルになるだろ
0076422006/04/09(日) 22:44:08ID:???
>>73
ご返信ありがとうございます。完全に均等である(事を目指している)が故に、ハッシュを使うのも乱数を使うのもコリジョンの確率は同程度だったと記憶しております。

先程のコードを検討してみたところループで馬鹿みたいにロスをしていたので、現在二度mt_randを使って生成するように頑張ってます。
素直にハッシュ使えば良いんですが、どうしてももやもやするので。。
0077nobodyさん2006/04/09(日) 23:01:58ID:???
>>70
単純でミニマムな要素を組み合わせて大規模にした構成の方が結果的に高速だから。
ここまででかくなると普通にDBにしても性能は出ない。
凝ったDBを構築するくらいなら生datを専ブラに拾わせる今の形態の方がずっとシンプルで性能がいい。
0078nobodyさん2006/04/09(日) 23:05:34ID:???
>>42
現在使用中の他と重複しない一意の文字列を生成するのに
1番手っ取り早くてリソースも食わなくて高速だからでは。
逆にもっといい手法ってあるの?と聞きたい。
色々書いてる1桁ずつ乱数使って…とかいう話は「バカ?」としか思えない。
普段から常用するセッションIDの生成にそんなリソース食う方法使えるわけないでしょ。
0079422006/04/09(日) 23:12:45ID:2atGm5L3
>>78
素人考だとハッシュの生成(同一性も確認できる均等に分配される文字列)より、乱数の生成(均等に分配される文字列)の方が早いような気がするのですが、
もしよろしければなぜハッシュの方が早いのか教えていただけないでしょうか?気になります。。
0080nobodyさん2006/04/09(日) 23:25:38ID:aTeqKq3o
前スレ988です。
前スレ990さんいますか?
javascriptでやる方法は検討していたのですが、分かりませんでした。
小窓からjavascriptを使って、メインウインドウのselectの内容(mysqlに
新規に追加した項目)を更新したいです。
使用する関数や具体的なコードのヒントが書かれたページなど
ご存知でしたら教えてください。
よろしくお願いします。
0081前スレ9902006/04/09(日) 23:27:26ID:???
>>80
JavaScriptの質問スレいきな
0082nobodyさん2006/04/09(日) 23:30:15ID:???
>>80
Ajax をぐぐってみたら?
0083822006/04/09(日) 23:34:05ID:???
あ、小窓を開くのね。
じゃあ Ajax なんていらないね。
>>81 が正解だと思う。
0084nobodyさん2006/04/09(日) 23:37:51ID:???
>>80
JavaScriptの基礎的テク。
その辺の初心者向けサンプル集にも書かれてるんじゃない?レベル。
0085nobodyさん2006/04/10(月) 00:20:37ID:???
会社がただのhtmlとcssでwebサイト作るだけからphpとDB使った仕事も受けるようになってから、勉強しながらこなした仕事の中には全くセキュリティ対策してないのもあるや。アヒャヒャ

>>31
array_mapだよね?
array_mapで、POST、GET、SESSION、COOKIEもしくは$_REQUESTにまとめて掛けちゃうのがやっぱり定番なんですかね?
その他、エラー処理なんかどうしてますか?>エラーとする文字列の検出
例えばあきらかに悪意のある文字列が含まれてる時とか・・・
漏れは、そういうときは、もう別画面に飛ばして、全部、自分に$_REQUESTの内容をメールで飛ばすって感じ。

個別に「○○欄に○○が含まれています」みたいなエラー処理(エラー告知)は、マンドクサ
顧客が記入するフォームはめんどくさいけど、項目数たかが知れてるから力技でなんとかしてる。


>>33
漏れはたいていこう書く

echo "名前: {$name}<br />年齢: {$age}";

これが一番可読性よくない?

>>前スレ993
POSTした検索条件をセッションに入れておいたうえでページングとか?
0086nobodyさん2006/04/10(月) 00:35:01ID:???
>>85
$_POST全部エスケープとかはしないなぁ。
必要なのはあくまでSQLに入れるデータとHTMLに吐き出すデータでしょ?
だからSQL用の関数・メソッドと表示用の関数・メソッドでそれぞれ
受け渡したデータのみ変換かけてる。
0087nobodyさん2006/04/10(月) 00:42:07ID:???
>>42
つ http://www.atmarkit.co.jp/fsecurity/rensai/webhole03/webhole01.html
0088nobodyさん2006/04/10(月) 00:57:08ID:???
>>45
> [notice] Child 5420: Starting 250 worker threads.
直接の原因は判らんがMPMあたりくさい。
workerで使ってるなら、そういうのが出るのも甘んじろというのが現状かも。
http://www.php.net/manual/ja/install.windows.apache2.php

0089nobodyさん2006/04/10(月) 00:57:33ID:???
>>76
予め文字列連番を数億個生成しておいて、
都度食いつぶしていけば?
0090nobodyさん2006/04/10(月) 00:59:58ID:???
>>79
単純な、ハッシュ値の算出vs1回の乱数ならそりゃ乱数の方が速いだろうけど、
今やろうとしてるのは30〜50桁を桁数分だけ毎回乱数取得だろ?
そんなのどうやってもハッシュほど速くなんて計算できないだろう。
0091422006/04/10(月) 01:17:38ID:EZQH4hCw
>>86
返信ありがとうございます。この実行時間差で悩んでるので、それはちょっと、、です。
>>90
forのところが悪いですか。。一度で算出しようにも桁数が大きくなりすぎてorzです。
いくつかに分ければ出来るかなぁ、と試行錯誤してますがスキル不足で出来ません><
もしよろしければコードを、、と甘えてみるテスト。
0092nobodyさん2006/04/10(月) 01:24:52ID:???
なんだこいつ
うぜえ
0093nobodyさん2006/04/10(月) 01:35:24ID:???
>>91
> もしよろしければコードを、、と甘えてみるテスト。
だからハッシュでやれって。無理だから。
何のためのハッシュだと思ってんのよ。
スキルも無いくせに「乱数の方が速いはずだ」とかいいかげんなことぬかしてんじゃねぇ。
0094422006/04/10(月) 01:47:28ID:???
ごめんなさい。非常に申し訳ないのですがベンチマークで致命的で初歩的なミスを犯していました。
普通にMTでの生成が早かったです。お騒がせいたしました。
0095nobodyさん2006/04/10(月) 01:53:29ID:???
釣りウザ
0096nobodyさん2006/04/10(月) 02:54:11ID:???
質問させてもらいます
Webサイトを作っているのですが
ページの一番下段に、コピーライトなどの文を入れています。
今までは一々、1ページ枚にHTMLで記述していたのですが
それだと、その文(コピーライト等)に変更があった場合全て書き直しが必要になるので
PHPを使い、その部分を読み込もうと思いました。

ですが、実際にやってみると
そのコピーライトの部分を読み込む際に
require('./under.php');
とやると、同位のディレクトリからは問題なく読み込めるのですが
その下位のディレクトリになると
require('./../under.php');
等としていかなければならず、ディレクトリ構成に変更があった場合は
結局書き直しが必要になってしまいます。

こういう場合は、皆様はどのようにして
上記のようなことを実現しているのでしょうか?
すいませんが、教えていただけると幸いです。
どうかよろしくお願いいたします
0097nobodyさん2006/04/10(月) 03:09:59ID:???
日本語でおk
0098nobodyさん2006/04/10(月) 03:16:22ID:???
>>96
1.フルパスで書く
2.$_SERVER['DOCUMENT_ROOT']からのパスにする
3.includeパスを設定する
好み+TPOでご自由に
0099nobodyさん2006/04/10(月) 06:27:30ID:???
みなさんありがとうございました。
フレームワークのEthnaを使っていたのですが、その設定部分に
'log_facility' => 'user',
とするとこの現象が起きていたようで、結局この部分を書き換えてとりあえず
スクリプト自体は動くようになりました。
また、PEARをinclude_onceする部分をコメントアウトするとことでも
Apacheの強制終了が無くなりました(当然Fatal Errorでスクリプト自体は動きませんが)。
根本的な原因はわかりませんでしたが、PEARとEthnaのLogger周辺が原因となっていたようです。
0100nobodyさん2006/04/10(月) 06:27:49ID:???
>>96
98の続き。

4.その程度のことを自分で解決できない場合、
コンピュータのセンスが無さ過ぎのでプログラミングは諦める。
0101nobodyさん2006/04/10(月) 06:27:59ID:???
すいません、>>99は>>45です。
0102nobodyさん2006/04/10(月) 06:52:57ID:???
>>31
可読性が増すのでその方法を採用しようと思うのですが、
幾つか質問があります。

array_may という関数を使っているようですが、これはどのような処理のユーザ定義関数でしょうか?
0103nobodyさん2006/04/10(月) 07:18:38ID:???
>>102
array_mapの書き間違い
01041022006/04/10(月) 08:44:10ID:???
>>103
ありがとうございます。
幾つか質問があります、と言いましたがあまり質問しまくるのも良く無いので
続きは自分で調査、研究してみます。
0105nobodyさん2006/04/10(月) 10:15:55ID:???
>>104
一応言っとくと、>>31はあちこち書き間違ってるのでそのまま鵜呑みにしないのが吉。
0106nobodyさん2006/04/10(月) 11:39:39ID:???
このスレが一番面白いな。
0107nobodyさん2006/04/10(月) 13:14:26ID:???
> の引用符をテキスト文に加えたいのですが、
ぱっと思いついた方法は file()で各行を配列に加えて、
各要素に> を加えて、再度結合です。

もっと簡単な方法あったらきぼんぬです。
0108802006/04/10(月) 13:30:27ID:qYnFdAMk
81〜84レスありがとうございます。
javascript質問スレにいったのですが、あまり人がいないようで解決できていません。
onchangeとかonfocusでやるっぽいのですが、
どうやってリロードせずに新しいレコードをmysqlから引っ張るかが分からないです。
スレ違いだとは思いますが、ヒントをもらえるとうれしいです。
0109nobodyさん2006/04/10(月) 13:30:30ID:???
こんなのどう?
$text = Preg_Replace("/(.*\n|.+)/",">$1",$text);
01101092006/04/10(月) 13:31:51ID:???
>>107 へのレスね
0111nobodyさん2006/04/10(月) 13:39:09ID:???
改行コードを改行コード+>に置換
0112nobodyさん2006/04/10(月) 13:40:08ID:???
>>109
その正規表現おかしいだろ。
01131092006/04/10(月) 13:44:37ID:???
>>112
ん?どうおかしい?
0文字以上+改行か、1文字以上の行の先頭に > を付け足すようにしたつもりだけど。
.*\n だけだと $text の最後にも無条件で改行が付いちゃうし、
.* だけだと空行の先頭に改行が付かないからこんな感じに落ち着いたんだけど。
0114113=1092006/04/10(月) 13:45:49ID:???
× .* だけだと空行の先頭に改行が付かないからこんな感じに落ち着いたんだけど。
○ .+ だけだと空行の先頭に改行が付かないからこんな感じに落ち着いたんだけど。
0115nobodyさん2006/04/10(月) 13:53:06ID:???
>>108
メインウィンドウはリロードしなくても、データ自体は小窓を開くことによって取得するんだよね?
だったら小窓の onLoad からメインウィンドウのフォームオブジェクトに値をセットするんじゃだめなの?

というか、JavaScript のリファレンスって持ってる?
無いなら http://www.tohoho-web.com/js/index.htm この辺はどうよ。
http://www.tohoho-web.com/www.htm から丸ごとダウンロードできるよ。
01161092006/04/10(月) 14:01:44ID:???
説明がメタメタでしたね・・・
スレ汚しとは思いつつも、気になるので書き直します。

.* だけだと $text の最後に無条件で > が付いてしまうから .*\n にしたんだけど、
これだと $text の最後の行が改行で終わってないとその行に > が付かないから
.*+ も付けてみた

が正しいです。
01171072006/04/10(月) 14:03:05ID:???
>>109
うまくいきました。
トンクスです!
0118nobodyさん2006/04/10(月) 14:09:06ID:???
正規表現の行頭
0119nobodyさん2006/04/10(月) 14:10:22ID:???
>>118
もっと詳しく
0120nobodyさん2006/04/10(月) 14:21:00ID:???
^
01211092006/04/10(月) 14:24:45ID:???
>>120
$text は複数行で構成されているつもりだったので、
シングルラインモードならそれ付けたらうまく動かないし、
マルチラインモードでは ^ はあっても無くても同じ動作になります。

01221082006/04/10(月) 14:38:17ID:qYnFdAMk
>115さん レスありがとうございます。
amazonでもオススメだった、mdnのjavascriptビジュアルリファレンスを買いました。

やりたいこととしては、
投稿フォームの真ん中あたりまで記入すると、カテゴリーのプルダウンが
出てくるん出すけど、そのプルダウンの下に「新規カテゴリーを登録」という
ボタンがあって、それを押すと小窓が開きます。
小窓には登録済みのカテゴリーのリストが出ていて、新規登録用の
inputがあって、カテゴリーの削除なんかもここでできます。
登録が完了して、小窓を閉じて、再びメインウインドウに戻ったときに
カテゴリーのプルダウンをクリックすると、さっき小窓で登録した
カテゴリーがリストに載っているという状態にしたいのです。
カテゴリーはカテゴリー名しか入っていないテーブルで管理されていて、
新規投稿フォーム(メインウインドウ)が開かれたときに
select category from categorytableみたいに呼び出されます。
小窓で新規登録した後に、リロードすれば反映させられますが、
カテゴリー選択以前に記入していた各inputの内容もクリアされてしまいます。

この場合でも、115さんの方法で解決できますでしょうか?
0123nobodyさん2006/04/10(月) 15:15:48ID:T3nuwwG3
教えてください。

$data = @file($file); //50行
for($i = 0; $i<10; $i++){ //最新10件表示
list($A,$B) = explode("<>", $data[$i]);
echo "<p>$A $B</p>";
}
こんな感じになってて、$dataには通し番号が入っていません。
最初に行数を数えて、
50
49
48
・・・と言う風に新しい方に大きな番号を振っていくにはどうしたらいいでしょうか?
0124nobodyさん2006/04/10(月) 15:31:18ID:???
>>122
できるよ。
小窓から登録なり削除をしたとき、submit するわけでしょ。
その応答ページに、メインウィンドウのフォームオブジェクトを書き換える JavaScript を埋めてやって、
処理完了後に小窓を閉じればいい。
メインウィンドウをリロードする必要なんて無い。
0125nobodyさん2006/04/10(月) 15:36:07ID:???
>>123
count($data) で件数が取れるよ
その例で言えば 50 が返ってくる
01261232006/04/10(月) 15:43:02ID:???
>>125
そんなことは分かってるんですー。タイミングが分からないんですー。。
って思ったんですけど、言われて改めて考えたら分かりました!
$no = count($data) - $i;
ってすれば良かったんですね!$x-1とかやって悩んでました。
ありがとうございました。
0127nobodyさん2006/04/10(月) 15:47:18ID:???
うざ
0128nobodyさん2006/04/10(月) 15:59:55ID:???
そんなことは分かってるんですー。
0129nobodyさん2006/04/10(月) 16:26:17ID:???
そんなことは分かってるんですー。
01301082006/04/10(月) 16:41:02ID:qYnFdAMk
124さん ありがとうございます。本当に感謝です。
板違いにもかかわらず、親切に答えてくださって助かります。
応答ページというのは、「登録が完了しました。」とか出るページでしょうか?
自分のコードではそこでinsert intoの処理をしています。
それとメインウィンドウのフォームオブジェクトを書き換える際に必要な
構文とかが具体的に分かれば教えて欲しいです。
それが分かればネットの情報とリファレンスを使って書いてみます。
よろしくお願いします。
0131nobodyさん2006/04/10(月) 18:36:15ID:???
>>130
opener
options[n].text
options[n].value
こんだけあれば十分でしょ
0132nobodyさん2006/04/10(月) 18:47:36ID:???
>>130
必要な値を子から親にPOSTかGETで渡してリロードさせればいいんじゃないの?
というか構文とか教えたらネットの情報とリファレンスで出きるなら、
自分で調べるか諦めて業者にだしたら?その方が早い予感
0133nobodyさん2006/04/10(月) 18:57:58ID:???
>>132
元々の話が、リロードさせると入力途中のフォームの内容が失われるって話で、
JavaScriptでselectの内容だけ書き換えたいって質問。
0134nobodyさん2006/04/10(月) 19:08:19ID:???
会社で、希望者へ独自メルマガ配信をやってるんだけど、
一部の登録者のサーバーでたまにスパムだと誤認されて
届かなくなり、その人から「メルマガが届いてないぞゴルァ!」って
怒られるんだけど、これってこちらではどうしようもないよねぇ?

「おたくの会社のサーバー管理者に相談してね」って言うしかないよね?
01351342006/04/10(月) 19:11:14ID:???
ちなみにある登録者宛のメルマガがエラー戻ってきたときに
付加されていたメッセージはこれ↓

Remote host said: 450 Recognized as SPAM. Please set your server address in DNS. Till then!
0136nobodyさん2006/04/10(月) 19:15:02ID:???
>>135
DNSの逆引きが出来てないんじゃね?
0137nobodyさん2006/04/10(月) 19:16:28ID:???
>>135
見覚えのある目欄だけど、配信鯖の逆引きを設定すれば?
01381342006/04/10(月) 19:16:51ID:???
>>136
あ・・・・・・・今、気が付いたんだけど・・・・・・・・
こっちが使ってるサーバーが実はXREAなんだよね・・・・

そういえばXREAはここ数日、大騒動になってるんだったっけか。。。
ウチは独ドメだから関係ないと思っていたけど、この騒動と関係ありそうだな。。。
01391342006/04/10(月) 19:19:35ID:???
>>137
すいません、逆引きって自分で設定できるんでしょうか・・・??
0140nobodyさん2006/04/10(月) 19:22:28ID:???
>>138
届いたり届かなかったりするならXREAがどうとかじゃないと思われる
おそらく届かないユーザーにaolだとかaolだとかaolだとかあとaolとか
のユーザーはいないか?
0141nobodyさん2006/04/10(月) 19:25:02ID:???
>>139
曖昧だが、IP管理元に言わないと駄目だった気がする
そして別途費用がかかった気がする
01421342006/04/10(月) 19:27:43ID:???
>>140
日によって届いたり届かなかったりする登録者もいるし、
毎回必ず届かない登録者もいます。
そしてaolは見たことがありません。登録者のドメインはいろいろです。
01431342006/04/10(月) 19:29:21ID:???
>>141
自鯖ならDNSサーバをいじればいいのかもしれませんけど、
XREAはレン鯖だからどうしようもないですよねぇ。。。

ちなみにXREAの大騒動については↓です。
http://pc8.2ch.net/test/read.cgi/hosting/1144506157/l50
0144nobodyさん2006/04/10(月) 19:29:58ID:???
>>134
そりゃそうだろ。無理矢理送信できたらスパムだって簡単に大量に受信させられるってことだし。
01451342006/04/10(月) 19:32:15ID:???
>>144
え? ちょっと意味がよく分からないのですが、
何を指して「無理矢理」なのでしょうか??

ちゃんと受信者からはメルマガ送信許可をもらっています。
0146nobodyさん2006/04/10(月) 19:35:37ID:???
>>140
いま、xrea.comドメインがREGISTRAR-HOLD食らってるから
DNS鯖によってはどっち向きにも引けないのよ。

だから、aolとかaolとかaolとかだと蹴られるだろうし、
先方さんが「逆引きできないMTAとは話さない」設定でも蹴られると思う。

>>139
>>134がカ)デジロックの中の人なら、ns[1-3].value-domain.comの設定をごにょごにょ。

ていうか、いくつか前のスレで「1万人の会員にメルマガを…」って言ってた人とは別?
XREAでどんくらいの数を撒いてるのか、ちょっと気になる。
0147nobodyさん2006/04/10(月) 20:01:11ID:???
>>146
>REGISTRAR-HOLD食らってるから

いま調べたら「Status: Active」だったYO。
01481082006/04/10(月) 20:56:32ID:qYnFdAMk
131さん ありがとうございます。
色々ググったりして、近い処理など見つけたのですが、
とりあえず自分のjavascriptの知識が足り無さ過ぎですね。
ttp://www.game.gr.jp/about/log/board_whole_javascript.abc_seq_605.htm
↑などは近いですが(DBが絡んでない)苦戦してそうですし、
結構長いスクリプトを書かないとダメみたいですね。
やろうとしてること自体、結構難易度が高いんでしょうか?
0149nobodyさん2006/04/10(月) 21:27:59ID:???
>>148
難易度は高くないよ。スクリプトもそんなに長くならないはず。
おれだったら、メインウィンドウに JavaScript の関数を作って、そいつにフォームの select に値を設定させるようにするかな。
たとえば function setup(a) みたいな関数を作っておいて、小窓の「登録が完了しました」画面から opener.setup(a) で呼び出す。
小窓から渡す a は、Array('選択肢1', '選択肢2', '選択肢3', ...) みたいに配列にしてさ。

ようするに、PHP は小窓の完了画面の HTML にこんな風に出力する

<html>
<body onLoad="opener.setup(Array('選択肢1', '選択肢2', '選択肢3'));">
登録が完了しました
</body>
</html>

メインウィンドウに実装する setup の中身は自分で考えてみて
0150nobodyさん2006/04/10(月) 21:29:34ID:ZFW0IoNM
質問です。
作成中のサイトはhttp://domain.jp/のようにアクセスすることでトップページへ飛びます。
その飛び先のデフォルトとして.htaccess内でDirectoryIndex index.phpとして
phpがコールされるようにしています。
念のためダミーでindex.htmlを作ってありますが、METAタグのrefreshで
http://domain.jp/をコールするようにしています。
ここで問題なのですが、サーバの解析ログをみたところ
http://domain.jp/を1度だけアクセスしたはずなのに
index.phpが連続して呼び出されているログが残っています。
最後にサーバ側から強制的にプロセスをシャットされているようなログも記録されています。
どのような原因が考えられますか?
01511492006/04/10(月) 21:45:45ID:???
× <body onLoad="opener.setup(Array('選択肢1', '選択肢2', '選択肢3'));">
○ <body onLoad="opener.setup(new Array('選択肢1', '選択肢2', '選択肢3'));">

ただ、new Array は引数が 1個の場合には 2個以上の場合と機能が違って使いづらいこともあるから、
小窓からの呼び出しは
<body onLoad="opener.setup('選択肢1', '選択肢2', '選択肢3');">
にして、メインウィンドウの関数は

function setup()
{
 var i;
 for(i = 0; i < argments.length; i++) {
  argments[i] をごにょごにょ
 }
}

みたいにするとか。
0152nobodyさん2006/04/10(月) 21:56:06ID:???
>>150
まず、インターネット上で、ドメインなどを例として挙げる時は、
example.com、example.net、example.orgなりを使う。
RFC2606で規定されているから、まずはそれを覚えろ。

で、ログがあるなら、そのログをコピペしてみれ。
01531082006/04/10(月) 22:49:43ID:qYnFdAMk
149さん
なんて親切なんだ!泣きそうなくらい感謝します。
ちょっと検証します。結果は明日また書きます。
ありがとうございました。
0154nobodyさん2006/04/10(月) 22:54:41ID:???
なんだかんだでお前ら優しいな。
惚れたぜ
01551502006/04/10(月) 23:59:28ID:ZFW0IoNM
>152
決まりごとを知らずに失礼しました。
あらためて質問します。

作成中のサイトはhttp://example.com/のようにアクセスすることでトップページへ飛びます。
その飛び先のデフォルトとして.htaccess内でDirectoryIndex index.phpとして
phpがコールされるようにしています。
念のためダミーでindex.htmlを作ってありますが、METAタグのrefreshで
http://example.com/をコールするようにしています。
ここで問題なのですが、サーバの解析ログをみたところ次のようになっていました。

23:01 stop.example.com index.php ←おそらくサーバによるプロセス強制終了
23:01 user.example.net index.php
23:01 user.example.net index.php
23:01 user.example.net index.php
        中  略
23:00 user.example.net index.php
23:00 user.example.net index.php
23:00 user.example.net index.php ← 実際にアクセスした時間

http://example.com/の呼び出しは1度だけです。
この場合どのような原因が考えられますか?
0156nobodyさん2006/04/11(火) 00:17:56ID:???
っていうかPHPと関係無いんじゃねぇの?
0157nobodyさん2006/04/11(火) 00:48:25ID:???
>>155
index.phpの中でindex.phpにLocationしてるとか、
実は403になってて、かつ403の飛び先がまたhttp://example.com/になってるとか。
0158nobodyさん2006/04/11(火) 01:45:57ID:Vmfip3pd
すいません質問です
magic_quotes on
sjisで書いてます。

文字列をPOSTすると「表」とか文字化けするのでstripslashes使ってるんですが、
ブラウザに出力する場合はこれでOKなのに、
MYSQLに送ろうとすると後ろのタグまで格納されておかしくなっちゃいます

stripslashesをはずしてMYSQLに送ると正常に動くのですが、何か納得いきません
(例:格納前の文字列は確かに「予\定」なのに、DBには「予定」で入ってます。)

この辺詳しい人いたら教えてください。
0159nobodyさん2006/04/11(火) 01:53:59ID:???
>>158
DBはEUCになってるんじゃないの?
それにSJISのコードを無理やり格納しようとするもんだから、\ 記号がエスケープ記号として有効に働いちゃってるとか。
01601582006/04/11(火) 02:12:01ID:Vmfip3pd
>159
いやDBはSJISなんです
それで自分で書いときながら何ですが、タグまで格納されると言うのがミソかなと
何で「予定」が「嵐・></TD></TR><TR><TD></TD><TD><SELECT、、」
みたいなとんでもない文字列になっちゃうの?
0161nobodyさん2006/04/11(火) 02:26:55ID:???
1. HTML 上の文字コード(ブラウザが送信に使用するのは一般的にコレ)
2. (設定があれば)PHPによる文字コード自動変換
3. スクリプトによる文字コード変換
4. (環境次第では)MySQL の文字コード自動変換(SQL による INSERT/UPDATE 時)
5. (環境次第では)MySQL の文字コード自動変換(SQL による SELECT 時)
6. HTML として表示する際の HTTP ヘッダと meta 要素による Content-Type の文字コード

どれかがおかしい
0162nobodyさん2006/04/11(火) 02:48:39ID:???
ENVチェッカーを作りたいのですが
そういう関係の定義済み変数が載っているサイトはありませんか?
0163nobodyさん2006/04/11(火) 03:01:50ID:???
>>158
本当にDBはSJISになってるか?
MySQLのiniファイルをC:の直下に置いてみろ
MySQLはデフォルトの場所にiniファイルを置いてると読み込みに行かないことがあるぞ?
0164nobodyさん2006/04/11(火) 03:05:23ID:???
>>158
>magic_quotes on
1秒でも早くoffにしろ。

>sjisで書いてます。
5秒以内にEUCにしろ。
0165nobodyさん2006/04/11(火) 05:04:46ID:???
>>158
とりあえず
stripslashesした文字列をMySQLに投げるときはmysql_real_escape_stringとかしとくが吉
\は文字コード関係なくエスケープの必要あり。SJISは漢字に\が含まれるからいまいち
0166nobodyさん2006/04/11(火) 07:17:53ID:h7+HNAKj
phpmyadminでmysql管理したいのに、config.inc.php?入ってないじゃん。
しかも公式の説明では、自分で作れ。とか。知るか。


もう誰か教えれ。
0167nobodyさん2006/04/11(火) 07:45:39ID:???
正直eucもださいからutf-8にしてほしい
0168nobodyさん2006/04/11(火) 08:39:16ID:???
>>162
print_r($_SERVER);
0169nobodyさん2006/04/11(火) 09:46:37ID:???
>>7-8
適当なこと言うなカス。
■ このスレッドは過去ログ倉庫に格納されています