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

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

レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん2006/10/25(水) 08:45:46ID:???
PHPに関するくだらねぇ質問用スレです。ここならお前の下らない質問に回答があるかも知れません。

まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り

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

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

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

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

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークはそれぞれの該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
・速さについては自分でベンチをとってここに書け(違う環境の人も調べてくれるかも)
0930nobodyさん2006/11/05(日) 12:45:24ID:???
一応貼っておきますね
【PHPアクセラレータで一番高速なのはどれか?】
ttp://gigazine.net/index.php?/news/comments/20061103_php_accelerator/
0931nobodyさん2006/11/05(日) 12:51:06ID:???
安定性重視のXCacheか…ちょっといいな。
うちでもAPCを使ってるが、月1くらいで再起動かけないと
どうも動作が不安定になることが多くてちょっと困ってる…
0932nobodyさん2006/11/05(日) 13:12:38ID:???
>>928-929
別に高木は「prepared statementを使用すれば良い」っていう
書き方をしろなんて書いてないでしょ

Webアプリケーション対策のところにprepared statementを始めとする
セキュリティが考慮された上位DB抽象インターフェイスを使う事が
説明されてないっていう事がダメって言ってるわけで

何故起こるのかを書く事は必要だけどその対策方法が
低レベルAPIの対策方法しか書かれてなくて
しかもそれらがさも「一般的な対策」であるかのように
書かれてるっていうのが問題だってのが高木の言い分だろ

@ITの記事が説明不足だっていうのは正しい指摘だと思うよ
高木の「addslashesはバグだ」ってのもちょwおまwって感じだけど
0933925 928 9292006/11/05(日) 13:43:48ID:???
>>932
まあ、そうですね。
そんなおいらも >>901 みたいなアフォな事やってるフォー
901=925,928,929なんです(`・ω・´)シャキーン

高木氏の文に説明書いてあるけど顔見知りみたいだし(?)書いているのは個人日記みたいだし、
高木氏本人も自分専用チラシの裏程度の感覚で書いてるのかもしれないですしね。
0934nobodyさん2006/11/05(日) 13:59:56ID:???
>>933
901はかなりバカすぎると思いまっす!w
0935nobodyさん2006/11/05(日) 14:27:01ID:???
うにこーどなら問題は発生しないからこんな感じの関数作れば解決

function mb_stripslashes($str)
{
  $enc = mb_detect_encoding($str, 'UTF-8,EUC-JP,SJIS');
  $str = mb_convert_encoding($str, 'UTF-8', $enc);
  $str = stripslashes($str);
  $str = mb_convert_encoding($str, $enc, 'UTF-8');
  return $str;
}
0936nobodyさん2006/11/05(日) 14:38:59ID:???
>>935
そこでstripslashesするってことはaddslashes済みのデータってことだよね?
SJISデータにaddslashesするとデータが破壊されるから正常なUTF-8には変換できないよ。
それ、addslashesの間違いなんじゃ…
0937nobodyさん2006/11/05(日) 18:29:10ID:???
結局phpをSJISなんかで動かすヤツがバカってことでおk? >件の記事の件
まぁ俺は元々UFT-8使ってるから関係ないけど。
0938nobodyさん2006/11/05(日) 18:41:22ID:???
UFT-8ね、、、
釣られたよ俺の負けだ
09399372006/11/05(日) 19:02:15ID:???
うはwww orz
0940nobodyさん2006/11/05(日) 22:10:07ID:???
てか、mb てのもウザい。ちゃんと国際化設計やってほしいよな。
0941nobodyさん2006/11/05(日) 22:14:31ID:???
日本語であるために浪費した時間、プライスレス。
0942nobodyさん2006/11/05(日) 22:43:56ID:???
マルチバイト実装やってるのって誰なの?
0943nobodyさん2006/11/05(日) 22:54:54ID:???
パートのおばちゃん
0944nobodyさん2006/11/05(日) 23:11:20ID:???
>>940
php6はネイティブでunicodeサポートされる予定
0945nobodyさん2006/11/06(月) 00:13:36ID:???
PHP6っていつ出るんだ?
0946nobodyさん2006/11/06(月) 00:54:45ID:???
まだ仕様をどうするかについて議論してる最中だよ。
0947nobodyさん2006/11/06(月) 02:10:13ID:NtdVX8J9
PHPでPOSTのデータを動的に作る方法を教えてください。
受け側で $_POST['a'] == 'b'; なるようなソースを教えてください。
0948nobodyさん2006/11/06(月) 02:30:15ID:???
<?php
$_POST['a'] == 'b';
?>
0949nobodyさん2006/11/06(月) 02:31:12ID:???
(´ロ`)
0950nobodyさん2006/11/06(月) 02:31:34ID:???
ああごめん、=は1個
これで以下のスクリプトでどこでも$_POST['a']がbとして使えるよ
0951nobodyさん2006/11/06(月) 02:36:04ID:NtdVX8J9
(´ロ`) ありがとう。
0952nobodyさん2006/11/06(月) 03:27:09ID:mhsSMHja
ちょっと笑った
0953nobodyさん2006/11/06(月) 04:35:02ID:???
>>945
もうでてるよ。評価版だけど。
0954nobodyさん2006/11/06(月) 04:38:56ID:???
PHP6もがらっとかわってるの?
4→5はオブジェクト周りがかなりJavaっぽくなったが、
また6で覚えなおすこと多くなるのかな。
0955nobodyさん2006/11/06(月) 04:48:47ID:???
4から5はそんなに変わってないでしょ?
6への移行はなかなか進まないんじゃないかな。
あまりしらないんだが、そんな予感。
0956nobodyさん2006/11/06(月) 05:31:37ID:???
いや、4から5はだいぶ変わったよ。
6で気になるとこはgotoとネームスペースかな。
gotoは無くていいけど、ネームスペースは欲しい。
デリミタは「:::」になるみたいね。
0957nobodyさん2006/11/06(月) 05:35:56ID:???
6では古臭い旧バージョンとの互換オプションを全部消そうぜ、
って話になってるよね。register_globalsをはじめ、関数エイリアスとか。
0958nobodyさん2006/11/06(月) 05:38:05ID:???
join()とかsizeof()使ってるよ・・・( ´Д`)
0959nobodyさん2006/11/06(月) 06:26:33ID:???
結局、PHP6でのParrot採用は提案だけで終わっちゃったのかな?
処理速度が最低5倍、最大30倍も向上するらしいって話だったけど。
0960nobodyさん2006/11/06(月) 06:56:53ID:???
デリミタ:って何で使われないのかしら
0961nobodyさん2006/11/06(月) 10:21:56ID:???
高級言語だから
0962nobodyさん2006/11/06(月) 12:08:48ID:rJsIKc5I
index.phpからhoge.phpをincludeしたとします
さらにhoge.phpの中にconfig.phpをincludeする文があるのですが、
これってincludeしてくれるんでしょうか?
09639622006/11/06(月) 12:10:06ID:rJsIKc5I
書き忘れました、PHPです
0964nobodyさん2006/11/06(月) 12:11:11ID:???
>>962
するよ。
>>963
いや、PHP以外の質問されても困るけどさ。
どうせ書くならPHPのバージョンとかその辺りを…
0965nobodyさん2006/11/06(月) 12:12:56ID:???
>>963
ウケタ
0966nobodyさん2006/11/06(月) 12:25:06ID:???
perlのMethPost、ReadParseに相当するものはありますでしょうか?
参考書読んでもわからないもので。
0967nobodyさん2006/11/06(月) 12:32:27ID:???
perl知らんけど
$_SERVER['REQUEST_METHOD'] / getenv('REQUEST_METHOD'')
func_get_args()
でどうかしら
0968nobodyさん2006/11/06(月) 12:39:53ID:???
>>966
Perlの機能で質問するならMethPost、ReadParseがどういう機能なのか説明しなよ。
なんでPHP知ってる人がPerlのしかも標準でないライブラリについて知ってると思うのさ。
MethPost → ($_SERVER['REQUEST_METHOD'] == 'POST')
ReadParse → 標準で自動的に$_GETと$_POSTに格納される。
0969nobodyさん2006/11/06(月) 12:47:43ID:???
>>967
>>968
ありがとうございます。
以後、気をつけます。
0970nobodyさん2006/11/06(月) 12:48:06ID:???
ReadParseってGET/POSTの変数を受け取るやつだったのね
0971nobodyさん2006/11/06(月) 13:58:45ID:???
>>968 みたいな人にこそ勲章をあたえたいね。 
0972nobodyさん2006/11/06(月) 14:28:39ID:???
プログラムの設計について質問です。
登録フォームなどで
フォーム(form.php)→入力内容失敗(フォーム上に表示)→成功・送信完了(entry.php)

と言うように入力判定を登録フォーム上に表示する仕様がよく見かけますが、
これは以下のような考え方でいいのでしょうか?(form.phpに記述するとして)

if($name=""){
echo"名前が入力されていません"
}else{
$_SESSION[name]=$name;
header(location: entry.php);
}
0973nobodyさん2006/11/06(月) 14:35:20ID:???
>>972
$name = ""じゃなくて$name == ""な

俺だったらわざわざロケーションするくらいなら
同じファイルで値チェック+成功後の処理もやっちゃうけどね
09749722006/11/06(月) 15:11:30ID:???
>>973
すみません、結構記述ミスがありましたね。。

それで同じファイル上で値チェック+成功後の処理をすると
デザイン面などの編集がしづらいんです。
また、間に確認するページを入れた場合など。

それで、sessionで保持してロケーションするのが良いのかな?
っと思い、設計の質問をした次第です。
0975nobodyさん2006/11/06(月) 15:39:50ID:???
>>974
いいんじゃないの?
09769722006/11/06(月) 15:54:43ID:???
>>975
わかりました。胸のつかえが取れました。ありがとうございます。
0977nobodyさん2006/11/06(月) 16:08:11ID:???
>>976

entry.phpで、session_destroy(); 忘れるなよ
0978nobodyさん2006/11/06(月) 16:27:53ID:???
>>964
sesison fixation の脆弱性になるんじゃまいか?
0979nobodyさん2006/11/06(月) 16:43:52ID:???
PEARのコードで書くけど

(1)
$num = $db->getOne("SELECT COUNT(*) FROM hoge");

(2)
if(!DB::isError($rs = $db->query("SELECT * FROM hoge"))){
$num = $rs->numRows();
}

1と2ってどっちが早い?
行数にもよると思うけど。
0980nobodyさん2006/11/06(月) 16:52:47ID:???
>>974
if($name==""){
echo"名前が入力されていません"
}else{
include "entry.php";
exit;
}

でもいいんじゃないの
0981nobodyさん2006/11/06(月) 16:56:34ID:???
次スレマダー
0982nobodyさん2006/11/06(月) 17:15:44ID:???
>>979
DB板で聞けやーって感じだが
count(*)の方がずっと速い。
行数が極端に少なければ差が出ないかも。
0983nobodyさん2006/11/06(月) 17:21:15ID:???
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-JP" />
<meta http-equiv="Content-Script-Type" content="text/javascript" />
<title><?php echo "$title" ?></title>
<link href="style.css" type="text/css" rel="stylesheet" />
</head>

さーせん、コレで書いてるのになぜかブラウザはshift_jisで表示してしまいます。
考えられる原因は何でしょうか?
0984nobodyさん2006/11/06(月) 17:27:45ID:???
ぎゃああああああああああああ
php.iniのdefault_charset変えたら行けました。
死んできます。
0985nobodyさん2006/11/06(月) 17:32:19ID:???
そこまでびびらなくても。
0986nobodyさん2006/11/06(月) 17:55:24ID:L/507IWY
携帯無料サイトなどによくある空メール機能を作りたいのですが、
メールフォームを使えば楽なのですが、携帯利用者にとって
自分のメールアドレスを打つのはご法度だと考えております。
どなたかアドバイスお願いいたします。
0987nobodyさん2006/11/06(月) 18:27:27ID:???
mailtoのリンクを用意すればいいだけだろ?
0988nobodyさん2006/11/06(月) 19:03:02ID:???
ワロタ
0989nobodyさん2006/11/06(月) 19:14:25ID:???
>>987のバカさ加減にあきれたのでおれが>>986に答えてやる。

ヒント:cron
0990nobodyさん2006/11/06(月) 19:15:56ID:???
>>986
なんで御法度だと?
0991nobodyさん2006/11/06(月) 19:20:51ID:???
>>986
cronでやるのは素人
ヒント:alias .forward .qmail
0992nobodyさん2006/11/06(月) 19:23:14ID:???
男なら黙って伝書鳩
0993nobodyさん2006/11/06(月) 19:26:38ID:???

まだ伝書鳩使ってるんですか?

php-5.2.0からは糸電話が実装されたので非常にセキュアです。
dos攻撃にも強いですよ。
0994nobodyさん2006/11/06(月) 19:34:26ID:???
糸電話のRFCは?。

伝書鳩
RFC 1149 鳥類キャリアによるIPデータグラム送信標準
0995nobodyさん2006/11/06(月) 20:37:35ID:???

鳥インフルエンザが心配だな。
パケットが落ちる可能性がある。
しかも、インコとか暗号しゃべれないでしょ?平文は不安だよ。

やっぱり糸電話は物理層でつながっている安心感が違うよ。
インフラでコストがかかるけど、うちは全部 ”糸”だよ。
0996nobodyさん2006/11/06(月) 20:59:33ID:???
>>986
それ、PHPの質問じゃないぞ。

.forwardとかでメールの内容をスクリプトに渡してやって
正規表現で相手のメールアドレス抽出。
PHP STDINあたりで検索かけてみ?
0997nobodyさん2006/11/06(月) 21:03:54ID:???
>>996
PHPの質問じゃないのにPHPで検索すんの?
09989862006/11/06(月) 21:06:11ID:???
PHPに関連した質問ですがなにか?
0999nobodyさん2006/11/06(月) 21:06:42ID:???
>>997
受け取った後は言語はなんでもいい。もちろんPHPでもできる。
問題はスクリプトにどうデータを渡すか。これはPHP全然関係ない。
10009862006/11/06(月) 21:07:06ID:???
ありがとう諸君!

For ever you!!!1000
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。