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

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

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

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

◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。

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

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

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0201nobodyさん2007/09/13(木) 13:28:50ID:???
>>201
相乗平均知らない低脳ハッケーン
0202nobodyさん2007/09/13(木) 13:29:29ID:???
6で割ってるのが見えないの?
0203nobodyさん2007/09/13(木) 13:31:02ID:???
>>200
6が見えてない馬鹿ハッケーン
0204nobodyさん2007/09/13(木) 13:33:55ID:???
+して/って1の方が早くない?
0205nobodyさん2007/09/13(木) 13:34:49ID:???
>>191
if ($a == $b && $a == $c && $a == $d && $a == $e && $a == $f) {
echo "同じ";
}
0206nobodyさん2007/09/13(木) 13:45:16ID:???
201 :nobodyさん:2007/09/13(木) 13:28:50 ID:???
>>201
相乗平均知らない低脳ハッケーン
0207nobodyさん2007/09/13(木) 13:50:32ID:???
191 :626:2007/09/13(木) 11:41:49 ID:???
6つの変数が同じかどうか比較するためにはどう書いたら一番効率がいいでしょうか?
教えてくださいえらい人

195 :nobodyさん:2007/09/13(木) 12:27:52 ID:???
>>191
if (($a * $b * $c * $d * $e * $f) / 6 == $a)





すべての変数が3という同じ値だとします。

(3 * 3 * 3 * 3 * 3 * 3) / 6 == 3

計算すると729 / 6 == 3


バカだな。ワロタwww
0208nobodyさん2007/09/13(木) 13:53:09ID:???
×と+の間違いだとしても、

(2 + 4 + 3 + 3 + 3 + 3) / 6 == 3

で全部同じじゃなくてもtrueになる。
0209nobodyさん2007/09/13(木) 14:04:27ID:???
perlで書くところのヒアドキュメント
$obj->msg(<<EOT);
ここにメッセージ
EOT

なんですが、phpで書いてもうまくいきません。
$obj->msg(<<< EOT)
ここにメッセージ
EOT;

正しい書き方教えてください。
0210nobodyさん2007/09/13(木) 14:51:35ID:???
寝る間もないくらい仕事がコンスタントにくるweb制作者というのは
それだけで、いいweb制作者ということです。(低レートに甘んじてりゃ
それなりに仕事くると思っている人がいますが、現実はそうじゃない)

当然レートは高いのです。
年収1000万なんて軽いですよ。
0211nobodyさん2007/09/13(木) 15:51:15ID:???
うん。技術力とは関係ないけどね。
0212nobodyさん2007/09/13(木) 16:42:03ID:e5IQPewW
PHP5のPDOで、HTTP_Session的に、
sessionをデータベースに格納してくれるライブラリってありませんか?
0213nobodyさん2007/09/13(木) 16:44:06ID:???
>>212
いまいち意味がわからないけどシリアライズでもしたら?
0214nobodyさん2007/09/13(木) 18:38:27ID:???
>>209
マニュアル
0215nobodyさん2007/09/13(木) 19:14:09ID:p1bkeaSR
携帯用掲示板を作っているのですが、
セッションを使わずに
入力→確認→投稿
のようなものを作りたいのですが
何か良い方法はないでしょうか?
hiddenも考えたのですが、ページの容量(入力したテキスト)が2倍になってしまいます。
0216nobodyさん2007/09/13(木) 19:34:09ID:???
3画面構成のファイルを作りたいのですが、1ファイルのみで3画面を構成する事は出来ますか?
習った事を考えると3ファイル作らないと行けないのですが、出来ますか?
0217nobodyさん2007/09/13(木) 19:37:40ID:???
>>215
自分でトークン発行すれば〜
>>216
出来るよ
02182162007/09/13(木) 19:38:43ID:???
>>217
有難うございました。
0219nobodyさん2007/09/13(木) 19:45:40ID:p1bkeaSR
>>217
トークンとは何でしょうか?
02202162007/09/13(木) 19:47:53ID:HG9TD0jf
>>217
どのようにしたらいいでしょうか?POSTで別ファイルにデータを送り取得する方法以外で
ヒントでも教えて頂けると嬉しいのですが。
02212162007/09/13(木) 20:09:07ID:HG9TD0jf
PHP内で条件分岐をさせれば良かったのですね。すいませんでした
0222nobodyさん2007/09/13(木) 20:38:16ID:???
>>219
徹君の愛称
0223nobodyさん2007/09/13(木) 20:57:25ID:???
PHPに限ったことではないのですが、例えば
if (・・・) {
 $error+=1;
} else {
 if (・・・) {
  $error+=2;
 } else {
  if (・・・) {
   $error+=4;
  } else {
   //エラーが無いなら処理
  }
 }
}
このように様のifのネストが深くなっていくことが想定された場合
swich (0) {
default:
 if (・・・) {
  $error+=1;
  break;
 }
 if (・・・) {
  $error+=2;
  break;
 }
 if (・・・) {
  $error+=4;
  break;
 }
 //エラーが無いなら処理
}
上記の様にswitchまたはdo-whileなどで囲み、エラーはbreakで脱出するという書き方は邪道でしょうか?
0224nobodyさん2007/09/13(木) 20:59:11ID:???
ネストしない書き方にしろよ
0225nobodyさん2007/09/13(木) 21:24:00ID:???
>>223
それ以前の書き方に問題がある気がしてならない
0226nobodyさん2007/09/13(木) 21:33:08ID:???
正統も邪道もあるかい。自分がいいならそれでいい
0227nobodyさん2007/09/13(木) 21:41:18ID:???
基本的には好きなように書けばいいが、物には限度ってものがある
02282232007/09/13(木) 21:43:20ID:???
$sql = "SELECT hoge FROM tableA WHERE foo=?";
$res=& $db->query($sql, $foo);
if (!DB::isError($res) && $res->numRows()==1) {
 $res->fetchInto($row);
 $sql = "UPDATE tableB SET hoge=? WHERE foo=?";
 $res=& $db->query($sql, array($row['hoge'], $foo));
 if (!DB::isError($res) && $db->affectedRows()==1) {
  $res->fetchInto($row);
  $sql = "UPDATE tableC SET hoge=? WHERE foo=?";
  $res=& $db->query($sql, array($row['hoge'], $foo));
  if (!DB::isError($res) && $db->affectedRows()==1) {
   //以下(ry
  }
 }
}
こんなケースはどうでしょう?
どうやってネストを回避しますか?
0229nobodyさん2007/09/13(木) 21:55:01ID:???
あくまで一例としてエラー情報を持たせてエラー画面に飛ぶ
即座に中断
ぐらいは誰でも瞬時に思いつく
0230nobodyさん2007/09/13(木) 21:58:54ID:???
>>223
俺はこうする
if (・・・) {
 $error+=1;
} elseif (・・・) {
 $error+=2;
} elseif (・・・) {
 $error+=4;
} else {
 //エラーが無いなら処理
}
0231nobodyさん2007/09/13(木) 22:08:30ID:???
(1行目)|項目1-0,項目2-0,項目3-0,項目4-0,項目5-0
(2行目)|項目1-1,項目2-1,項目3-1,項目4-1,項目5-1
(3行目)|,,,,
(4行目)|項目1-2,項目2-2,項目3-2,項目4-2,項目5-2
(5行目)|,,,,
(6行目)|項目1-3,項目2-3,項目3-3,項目4-3,項目5-3
↑…というcsvファイルを

データのない行(上の例では3・5行目)で区切って、
1〜2行目、4行目、6行目とそれぞれ配列に格納するには
どういう考え方でプログラムを組んだらよいでしょうか。

横方向であれば、file()で読み込ませた後に、
list()やexplode()関数で分割する考え方になりますが…
0232nobodyさん2007/09/13(木) 22:15:31ID:???
switch case
02332312007/09/13(木) 22:17:17ID:???
>>232
それで解決しました
ありがとうございます
0234nobodyさん2007/09/13(木) 22:33:59ID:???
>>228
function hoge() {
 $sql = "SELECT hoge FROM tableA WHERE foo=?";
 $res=& $db->query($sql, $foo);
 if (DB::isError($res) || $res->numRows()!=1) return false;
 $res->fetchInto($row);
 $sql = "UPDATE tableB SET hoge=? WHERE foo=?";
 $res=& $db->query($sql, array($row['hoge'], $foo));
 if (DB::isError($res) || $db->affectedRows()!=1) return false;
 $res->fetchInto($row);
 $sql = "UPDATE tableC SET hoge=? WHERE foo=?";
 $res=& $db->query($sql, array($row['hoge'], $foo));
 if (DB::isError($res) || $db->affectedRows() != 1) return;
 //以下(ry
 return true;
}

0235nobodyさん2007/09/13(木) 22:34:31ID:???
or exit
でいいじゃんw
0236nobodyさん2007/09/13(木) 23:06:47ID:???
つうか似たようなUPDATEが2回続いた時点で関数を分けたほうが(ry
0237nobodyさん2007/09/13(木) 23:07:57ID:KIVNzqAT
正規表現のエスケープを一括で行ってくれる関数ってないですかね。
皆さんは自力でエスケープしてます?
0238nobodyさん2007/09/13(木) 23:09:13ID:???
PHP 4.3.9 をダウンロードしたいのですが、
本家ダウンロードページでは最新バージョンへのリンクしか見つかりませんでした。
どこかでダウンロードできないでしょうか。
0239nobodyさん2007/09/13(木) 23:19:59ID:???
>>237
preg_quote()
0240nobodyさん2007/09/13(木) 23:20:28ID:???
最新バージョンを使いましょう
0241nobodyさん2007/09/13(木) 23:21:35ID:???
なんでそんなセキュリティホールあるものをダウンロードしたいんだか。
つttp://jp2.php.net/releases/
0242nobodyさん2007/09/13(木) 23:23:39ID:KIVNzqAT
>>239
ありがとうございます。そしてさすがPHP。
かゆい所に手が届きすぎです。
0243nobodyさん2007/09/13(木) 23:24:04ID:???
3とかあるんだwww
すげー、逆に使ってみたい。
0244nobodyさん2007/09/13(木) 23:26:29ID:???
>>241
見つかりました。ありがとうございます

なんでこのバージョンかというとクライアントの指定してきた
ミドルウェア(これもまた相当古いバージョンですが)が4.4系に対応していない為なのです。
最新版でもいけんだろ、と高をくくっていたら本当に4.4.7では動かなかったもので…
ともあれこれで作業できます。助かりました
0245nobodyさん2007/09/13(木) 23:29:52ID:???
ネックになってる箇所特定して修正したほうが数十倍はいいと思うが・・・
0246nobodyさん2007/09/13(木) 23:30:06ID:???
あー、確かに4.4で構造変わってPECLとか互換性無くなってたもんね。
まーそんなときもあるよな。
0247nobodyさん2007/09/14(金) 01:10:03ID:rv5QGrrD
質問させてください

$a = "きしkydpxckdyyrxはにr6ksれなつにxsrrkyちてとyrkきくなにき";
($aは不規則の連続文字)

だとして行の先頭から指定の文字数(またはバイト)で
改行を差し込みたい場合はどうすればいいのでしょうか?


mb_substrでバイトを測れても、これだと
最初の改行を入れた後に次の行の先頭から測ることが必要ですよね
で、正規表現で測っても、eregi_replaceなどで変換ではなく
文中に差し込む必要があるため、どうしていいのかわからなくなってます;;
0248nobodyさん2007/09/14(金) 01:36:49ID:???
指定の文字列+残りの文字列で正規表現取って間にコード入れて次に改行コードで切って同じことすれ
0249nobodyさん2007/09/14(金) 01:38:38ID:???
つかmb_substrでいいじゃん。mb_substrがバイト数測るものとは知らなかったけど。
0250nobodyさん2007/09/14(金) 01:56:33ID:rv5QGrrD
>>248
すいません、どうかソースでお願いします。
>>249
文字列を返すものでした。無知です。
0251nobodyさん2007/09/14(金) 02:36:09ID:07nleTLs
すいません、初心者です。お教えいただきたいんですけど、
&&をつかうと"Parse error: syntax error, unexpected T_STRING "
がでてしまいます。
if(($a) == "XX" && ($c) == "XX"){
でなにかおかしいところってありますか?
0252nobodyさん2007/09/14(金) 03:03:06ID:???
>>250
あとは置き換えてやるだけじゃね?
0253nobodyさん2007/09/14(金) 03:11:47ID:???
>>251
($a)($c) のカッコが邪魔
0254nobodyさん2007/09/14(金) 03:26:09ID:n3vYsmYw
OS:Windows
DB:SQL Server or Oracle
Webサーバ:Apache

次のような処理を現在ではPHP(+APC)を使っておこなっています。
これよりも、もっと高速に処理したい場合、どんな手段があるでしょうか?
(例えば、Cで作ったCGIとか、Apacheモジュール使うとか)
また、どの程度(1割くらい、とか倍以上、とかレベルでOK)早くなるでしょうか。

ちなみに、Webサーバを分散させる、マシンのスペックを上げる、そもそもHTTP使うな、
では、ちょっと無理な事情があるので、これ以外でお願いします。

やりたいこと
クライアント(ブラウザではない)からPOSTされてきたデータを元に以下の処理をします。
1.SQL文のWhere句にくっつけて実行、結果の値をクライアントに返す
2.パラメータの値により異なるファイルをダウンロードさせる
3.ファイルがアップロードされてきたときは特定のフォルダに保存
※1〜3はURLによって処理内容を分けています。

これらを1時間に20万リクエストくらいをさくさくこなしたい。
ちなみにサーバはCPU:3GHz、メモリ2〜3GBな感じを考えてます。

よろしくお願いします。
0255nobodyさん2007/09/14(金) 06:54:59ID:???
>>254
Cで専用のApacheモジュールを作るのが1番早いけど
ボトルネックはファイルのアップダウンでプログラムの処理する部分はたいしたことないから全然変わらないと思う
0256nobodyさん2007/09/14(金) 08:34:24ID:???
>>254
20万リクエストなんてそんなこそらじゃ出せないだろ。
会社の宿題かな?
0257nobodyさん2007/09/14(金) 08:36:46ID:???
アップローダでも作るんだろ
Javaで作ったほうがいいと思うが・・・
0258nobodyさん2007/09/14(金) 09:02:48ID:rtA26Ijr
>>254
20万アクセスに耐えるプログラムは組めたとしても
サーバー構成が1台でWEB+DBの設計だと持たないと思われるので
むりじゃね?
0259nobodyさん2007/09/14(金) 09:05:19ID:???
>>254
処理内容を見る限りプログラム側の処理なんて微々たるもので
ほとんどはWebサーバーのパワーと帯域次第って感じに見えるから
PHPでもmod_perlでもJavaでもそんな変わんないんじゃないかな。
(CGIだとCで作ったって何で作ったって確実に今より遅くなると思う。
あとApacheモジュールって…PHPは最初からApacheモジュールなんだが)

ちなみにこれ、
1.Whereに付加する条件って何項目くらいあるの?十分に最適化されてるの?
2.ダウンロード・アップロードするファイルの平均サイズは?
3.ダウンロード・アップロードのリクエスト頻度は?
が気になるけど、処理速度を改善するとしたらダウンロード用か
アップロード用にWebサーバーと回線を分離してやるのがまず第一だと思うけどね。
聞いてる限りじゃボトルネックになりそうなのはここしか見当たらないから
それ以外に改善の余地なんてほとんどない気がする。

まずボトルネックになってるのはどこかちゃんと分析してやりなよ。
少ない資源でチューンしようって言うならそんな漠然とした話じゃ無理。
0260nobodyさん2007/09/14(金) 09:27:38ID:???
test
0261nobodyさん2007/09/14(金) 09:31:26ID:???
>>247
こんなんでどうだろ。
$a = "きしkydpxckdyyrxはにr6ksれなつにxsrrkyちてとyrkきくなにき";
$b = $a;
do {
$a = $b;
$b = mb_ereg_replace('^([^\n]{4})([^\n])', "\\1\n\\2", $a, "m");
} while($a != $b);
var_dump($b);

結果:
string(67) "きしky
dpxc
kdyy
rxはに
r6ks
れなつに
xsrr
kyちて
とyrk
きくなに
き"
0262nobodyさん2007/09/14(金) 09:32:18ID:ri4+Axdv
mb_strlenって文字の長さを取得する関数ですよね?
<?

$text = "あいうえお";

echo mb_strlen($text);

?>
での出力が「8」になるのですがなぜでしょう?
ちなみに、文字コードはUTF-8です。
Shift_JISに直すと「5」と、正常に表示されます。
0263nobodyさん2007/09/14(金) 10:00:05ID:???
>>262
mb_strlen("あいうえお","UTF8");
0264nobodyさん2007/09/14(金) 10:01:15ID:ri4+Axdv
>>263
有難うございます
文字コードを指定して使えるんですね。
完全に見逃していました。
0265nobodyさん2007/09/14(金) 10:08:58ID:???
>>262
>>264
つか、mbstring.internal_encodingの設定はどーなってんのよ。
0266nobodyさん2007/09/14(金) 10:12:11ID:ri4+Axdv
すんません、Shift_JISなってました
0267nobodyさん2007/09/14(金) 13:16:52ID:ri4+Axdv
include専用のPHPを作ったときって
パーミッション何にするのがいいのでしょうか?
0700?
0268nobodyさん2007/09/14(金) 13:22:09ID:???
>>267
パーミッションは特に気にせずDOCUMENT_ROOTの範囲外に置くのがいいと思う。
0269nobodyさん2007/09/14(金) 13:23:29ID:ri4+Axdv
>>268
サンクス
その方法頂きます
0270nobodyさん2007/09/14(金) 13:30:44ID:ri4+Axdv
と思ったらレンサバだから置けなかったorz
0271nobodyさん2007/09/14(金) 13:34:58ID:???
レン鯖でも置けるでしょ。今どきpublic_html内のみなんて鯖あるの?
0272nobodyさん2007/09/14(金) 13:38:12ID:ri4+Axdv
無料鯖ならめちゃくちゃあるね・・・
0273nobodyさん2007/09/14(金) 14:19:16ID:???
それじゃしょうがないな。
600か606にするしかないんじゃないかな。
600にしようと思ったらApacheの実行ユーザで
アップロードしないといかんと思うけど。
0274nobodyさん2007/09/14(金) 14:21:28ID:ri4+Axdv
>>273
そかー
どもです。
0275nobodyさん2007/09/14(金) 14:22:42ID:???
あ、606よりは604がいいのか。
0276nobodyさん2007/09/14(金) 14:47:02ID:???
あたしゃ拡張子を.cgiにしてパーミッションで実行させないように
してるよ。
0277nobodyさん2007/09/14(金) 16:45:35ID:sODpU595
EUC-JPなPostgres上に登録されてある'@'という文字を含むデータを読み込んできて
EUC-JPなPHPで処理をしているのですが、IE7やFirefoxなどでは化けてしまいます。
JIS-X0213(でしたっけ?)のローマ数字なのだと思うのですが、
正しく扱えない文字なのでしょうか?それともPHPが何か変な変換でも
かましていたりするのでしょうか?

UTF-8を使うのが正解なのかな。
0278nobodyさん2007/09/14(金) 16:50:55ID:???
>>IE7やFirefoxなどでは化けてしまいます。

こういう事では?
0279nobodyさん2007/09/14(金) 18:29:39ID:???
>>277
UTF-8がいいと思うけど
EUC-JPにも種類があってはしごたかやローマ数字等の拡張文字部分に違いがある
Postgresは知らないけどたぶんeucJP-ms(eucJP-win)だと思う
一方IEやFirefoxのEUC-JPはコードページ51932というやつ
最新のPHPではCP51932が使えたと思うから変換すれば使えるかも
$str = mb_convert_encoding($str, "CP51932", "eucjp-win");
でもEUCからEUCへの変換ってあほっぽいよね
何のために文字コード統一したのかわからない
で1行目に戻る
0280nobodyさん2007/09/14(金) 18:46:54ID:sODpU595
まず mb_convert_encoding($str, "utf-8"); のように、
utf-8やsjis-winに変換すると '?' になります。

>>279 さんのを試してみると見事に変換に成功しました。
("utf8", "eucjp-win"); とか("sjis-win", "eucjp-win");
でもうまくいけるようです。

EUCからEUCへ変換するのは確かに間抜けですけど、
まぁ仕方ないのかもしれません。
これがバッドノウハウって奴でしょうか。
0281nobodyさん2007/09/14(金) 18:50:25ID:???
>>274
htaccessが置けるなら、includeされるファイルを置くディレクトリを用意して、直アクセスは弾けば良い
0282nobodyさん2007/09/14(金) 19:23:17ID:sODpU595
>>280 追記
Javaで書かれたコードでは正しく処理されていたので、
Javaはeucjp-winと同じ方法でutf-8と変換していたという事でしょうか。
0283nobodyさん2007/09/14(金) 21:37:58ID:PTuC71hk
前回訪れた訪問日時を表示するように作りたいのですが、何かヒントを下さい・・・
0284nobodyさん2007/09/14(金) 21:41:13ID:???
1.日時を記録する
2.次に訪れたら保存した日時を取り出す+記録する
3.表示する
0285nobodyさん2007/09/14(金) 21:45:51ID:???
>>283
COOKIE
0286nobodyさん2007/09/14(金) 21:46:58ID:???
携帯端末は?
0287nobodyさん2007/09/14(金) 21:50:15ID:???
>>286
機器固有番号
0288nobodyさん2007/09/14(金) 22:09:16ID:PTuC71hk
>>284-285
挑戦してきます。レス有難うございました。
0289nobodyさん2007/09/14(金) 22:53:02ID:???
>>287 意味ねぇじゃん
0290nobodyさん2007/09/14(金) 23:11:59ID:???
前回訪れた訪問日時なんて、
ログイン認証するようなサイトならともかく、
一般的な個人サイトならやめときな。
仕組み知らない訪問者は不気味がってアクセス数減るよ。
0291nobodyさん2007/09/15(土) 02:17:30ID:???
仕組み知ってれば尚更行かないけどな
0292nobodyさん2007/09/15(土) 04:39:32ID:V+kYhkB1
すいません。質問です。
10〜60の時はそのままで、0〜9の時は先頭に0をつけてて00や05にするには
何かいい方法ないでしょうか?
今は、if($a<10){ などとしてるのですが。
0293nobodyさん2007/09/15(土) 04:43:39ID:???
sprintf("%02d",$a);
0294nobodyさん2007/09/15(土) 04:59:01ID:???
>>293
うわ!すごい!ありがとうございます!
いままでifで数行使ってたのが1行で終わりました!
感謝です!
0295nobodyさん2007/09/15(土) 05:59:12ID:???
wwwwwwwwwwwwwwwww
0296nobodyさん2007/09/15(土) 07:51:26ID:rDYCANkK
おーーーーーーーーーーーーーーーーーーーーー
0297nobodyさん2007/09/15(土) 10:58:43ID:???
mbではじまる関数が多いけどこれはなにか意味があるのでしょうか?
0298nobodyさん2007/09/15(土) 11:01:39ID:???
っぱい
0299nobodyさん2007/09/15(土) 11:52:54ID:FRg1UB2S
>>297
マルチバイト関数
0300nobodyさん2007/09/15(土) 12:26:59ID:V+kYhkB1
phpでブラウザーがjavascriptが有効か無効かを調べるのはどうすればいいのでしょうか
■ このスレッドは過去ログ倉庫に格納されています