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

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

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

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

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

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

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

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
04614442007/11/10(土) 02:18:22ID:???
ありがとうございました
今は色々テストしながら勉強しているところです
0462nobodyさん2007/11/10(土) 02:21:38ID:???
>>461

Windows使ってるなら、XAMPPとか入れておくと、勉強するだけなら作業が早くなっていいとおもう。
がんがれ。

0463nobodyさん2007/11/10(土) 02:40:01ID:???
xamppはおすすめしない。
0464nobodyさん2007/11/10(土) 02:46:46ID:???
勉強するならXAMPPなんて入れんなよ。対極にあるもんじゃねぇか。
0465nobodyさん2007/11/10(土) 02:59:46ID:???
だな

Windows環境だと設定ファイルいじる習慣も無いだろうから
パッケージインストーラなんか使ってるとエラー出た時まともに対処できなくなるよ
0466nobodyさん2007/11/10(土) 03:03:26ID:???
しかしコンビニに置いてある雑誌にも「XAMPPを入れよう」なんて煽り記事が。
嫌な時代になったものだ。
0467nobodyさん2007/11/10(土) 03:27:35ID:???
>>466
うわぁ・・・

それって、ペーパードライバーに、
「キミも時速200km出るクルマを買って、一般の公道で最高速度で走ろう!」って
言ってるのに等しいな。
0468nobodyさん2007/11/10(土) 03:30:03ID:???
200kmが早いかそうでもないか別としてな
0469nobodyさん2007/11/10(土) 03:38:07ID:???
つか既にPHP環境があってフォームの取り扱いについて聞いていた461に対して
XAMPPを勧める462って何者なんだろう。
0470nobodyさん2007/11/10(土) 03:39:00ID:???
死なねぇし、そこまで危険じゃないだろw
0471nobodyさん2007/11/10(土) 06:10:55ID:???
テスト環境なんだからxamppでいいじゃん。
1個ずつ入れていって結局動かなくて無駄な時間過ごすやつなんて大勢いるわけで。
大体お前らはなんのためにPHPやってんの?
趣味だろ?そんな本格的に環境作る必要もあるめえ。
0472nobodyさん2007/11/10(土) 06:47:09ID:???
>>443
それは穿った考え方し過ぎだよ。
本人の為を思って言ってるんだよ。ここで聞いて解答待つよりも、調べた方が早い。
調べる習慣は身についてたほうがいいよ。

煽りだろうけど。
0473nobodyさん2007/11/10(土) 07:37:12ID:???
>>471
だな
実際動かすのは大抵レンタル鯖だしな
0474nobodyさん2007/11/10(土) 09:12:32ID:???
>>469

XAMPP知る前に、WindowsでApacheいれてPHPいれてMySQLいれて、設定に失敗して、PHPが正常に動作しなくて悩むことを一ヶ月続けたり、

「やっぱLinuxじゃね?」
とか始まってFC4とかセカンドPCに導入はじめてまた1ヶ月かかってみたり(しかもそれもうまく設定がされず)

結局PHPをいじりたいのにいつまでもいじれない状態になったり。
Webプログラミングとサーバ設定が密接なのはわかるけど、とりあえずPHPやる、ってことを遂行するならXAMPPインストールしてがんばる、っていうのでFAだと思ったんだ。
0475nobodyさん2007/11/10(土) 09:48:31ID:???
>>474
よお俺
0476nobodyさん2007/11/10(土) 10:00:39ID:???
>>469

実際にプログラムたたく前にここで聞いてるぐらいだから、環境はレンタルサーバとか
使ってんのかなと、思って書いたんだ。

環境もってるんだったら
>>461にあやまる。すみません。
0477nobodyさん2007/11/10(土) 10:10:34ID:???
人が自分と同じくらいできないと思うなw
0478nobodyさん2007/11/10(土) 13:19:38ID:???
こんなやつでも一人前のように回答できるすごいスレ
0479nobodyさん2007/11/10(土) 14:14:07ID:???
>>460
下記--without-mysqlの説明

MySQL 4.1以上の拡張MySQL APIに対応させるため、MySQL 4.0以下向けの標準MySQL APIには対応させません

つまり、--with-mysqlとすると拡張APIが使えない
0480nobodyさん2007/11/10(土) 14:18:48ID:OKv92uVB
2〜3ヶ月ぐらい休みの期間に入るんですが
お勧めのオープンソースあります?

セキュリティ関連とコードの保守性を詳しく学びたいんで
0481nobodyさん2007/11/10(土) 14:28:14ID:???
コードの保守性ならフレームワークのソースでも見ればいいんじゃないの?
MVCモデルにたいして理解を深める。
セキュリティに関してはどういうの学びたいかしらないけど、
Webプログラムに関してでもPHPで学ぶのはやめたほうがいいとおもう。
0482nobodyさん2007/11/10(土) 14:52:10ID:OKv92uVB
>>481
情報ありがとうございます。
0483nobodyさん2007/11/10(土) 14:52:18ID:???
>>479
MySQL4.1以前は--with-mysql
MySQL4.1以降の機能を使うにはmsqli拡張サポートを有効にする為に--with-mysqli

デフォルトのphpはmysqlをサポートしていないので、いづれかのオプション指定して
phpをコンパイル、インストールしなければ使えんのでしょ

PEAR, PECLで対応できるのかは知らん
0484nobodyさん2007/11/10(土) 15:04:15ID:???
>>483
煽りたいのはわかるが無知をしれよWWWWWWWWWWWWWWWW
04853972007/11/10(土) 15:22:39ID:???
度々すんません。
自己解決しました。
ありがとうございました。
04863972007/11/10(土) 15:31:46ID:???
>>485誰ですか?

てんで解決できませんのでヒントだけでも・・・
0487nobodyさん2007/11/10(土) 15:56:15ID:???
>>468、>>470
>一般の公道で
>一般の公道で
>一般の公道で

お前らみたいなバカが猛スピードで一般道を走り、死亡事故を起こすんだよチンカス。
一人で田んぼに落ちて氏ね。
0488nobodyさん2007/11/10(土) 16:13:24ID:???
>一人で田んぼに落ちて氏ね。
なんかワロタ
0489nobodyさん2007/11/10(土) 16:16:58ID:???
田舎出身だが田んぼより用水路の方が危ないぜ
0490nobodyさん2007/11/10(土) 16:35:14ID:???
>>487
文盲乙w
0491nobodyさん2007/11/10(土) 17:09:57ID:???
print_r($array)
で表示される$arrayの内容を変数に入れたいのですが、
簡単な方法はあるでしょうか?
print_r だとそのまま画面に表示されてしまいますので。。
0492nobodyさん2007/11/10(土) 17:16:44ID:???
$a = $arr[0];
$b = $arr[1];
$c = $arr[2];
$d = $arr[3];
$e = $arr[4];
0493nobodyさん2007/11/10(土) 17:19:26ID:???
>>491
マニュアル見れ
0494nobodyさん2007/11/10(土) 17:21:26ID:???
子供のとき余所見して自転車のってたら4mぐらい下の田んぼに落ちて瀕死になったぞwwww
0495nobodyさん2007/11/10(土) 17:43:07ID:???
>>491
extract()
マニュアルの警告を読んでね
0496nobodyさん2007/11/10(土) 17:53:47ID:???
このスレにマニュアルの文面貼ったほうが早いような気がしてきた
0497nobodyさん2007/11/10(土) 17:56:42ID:hWD6ynZM
信頼できないユーザーからの入力で、画面に出力したりデータベースに登録したりしない、

例えば

if($_GET[name] == "nanashi")

とか

if(ereg("^[a-zA-Z0-9]+$",$_GET[name]))

とかのコードを書く場合に気をつけるべきことはありますか?
こういうコードが書かれている場合に、何か予期しない動作を引き起こさせることは可能ですか?
0498nobodyさん2007/11/10(土) 17:58:37ID:???
extractとかevalとかsystemとか、危険な関数使ってない限り問題ないんじゃないかな。
危険な関数の一覧とかどっかにあったっけ?
0499nobodyさん2007/11/10(土) 18:04:24ID:???
XSSがあるからechoも危険
0500nobodyさん2007/11/10(土) 18:45:43ID:???
UTF-8で作らない奴はXSS処理でコードがふえますよ
0501nobodyさん2007/11/10(土) 19:36:18ID:???
http://www.atmarkit.co.jp/fsecurity/rensai/hoshino10/hoshino02.html
これはどういうこと?
0502nobodyさん2007/11/10(土) 19:53:39ID:???
>>501
そんなに丁寧に説明されてるのに、これ以上どう説明しろというんだ
0503nobodyさん2007/11/10(土) 20:02:07ID:???
>>501
毎回思うんだけど、これって何が問題なの?
こんなことやっても、自分で見てる画面に自分が書いたスクリプト仕込めるだけじゃん。
悪戯するためには、自分が書いたスクリプトをほかの人に見せないとダメなんじゃねーの?
0504nobodyさん2007/11/10(土) 20:13:59ID:???
lol
0505nobodyさん2007/11/10(土) 20:20:34ID:HFAkC7DG
バカな質問ですが、

$_SERVER["HTTP_REFERER"]

コレだと直近のURLだと思うのですが、その一つ前のURLをゲットできる
関数はあるのでしょうか?

0506nobodyさん2007/11/10(土) 20:21:27ID:???
無理です。というか、そもそもリファラはブラウザの自己申告です。
はい次
0507nobodyさん2007/11/10(土) 20:22:10ID:???
↓これクリックして見れ。
http://www.example.com/break_quote.php?text1=%82&text2=%20onsubmit=alert('xss')%20%8

って書き込むとか
0508nobodyさん2007/11/10(土) 20:25:55ID:???
>>507
どっかの鯖借りてブラクラ自分で書いたほうが速くね?
0509nobodyさん2007/11/10(土) 21:10:38ID:???
$aisatsu='$nameさんからの挨拶です';
これじゃうまく表示されませんが、$nameのぶぶんはどう書けばいいのでしょうか?

.$name.
<?=name?>
{$name}

いろいろ試してみましたが・・・ できませんでした
0510あ2007/11/10(土) 21:14:29ID:???
これでできました ^^:;

$aisatsu="{$f_name}さんからの挨拶です";
0511nobodyさん2007/11/10(土) 21:15:55ID:???
^0^;
0512nobodyさん2007/11/10(土) 21:16:37ID:lwmhHRu6
>>509
$aisatsu = $name.'さんからの挨拶です';
0513nobodyさん2007/11/10(土) 21:20:53ID:???
>>512
 $aisatsu="{$name}さんからの挨拶です";

 より

 $aisatsu = $name.'さんからの挨拶です';

 のほうがいいんですか? ^^;

0514nobodyさん2007/11/10(土) 21:35:48ID:lwmhHRu6
>>513
どちらでもよい。
0515nobodyさん2007/11/10(土) 21:38:43ID:???
速度面での違いがある。気にする程じゃないけどねw
後者の方が速かったはず。
0516nobodyさん2007/11/10(土) 23:39:49ID:???
速さのことは気にするな。


出力するなら
echo $name,'さんからの挨拶です';
が最強
0517nobodyさん2007/11/10(土) 23:43:01ID:???
テンプレートが最強
0518nobodyさん2007/11/11(日) 00:46:08ID:???
>>509
シングルクオートとダブルクオートの違い。
あとはググるかマニュアル
0519nobodyさん2007/11/11(日) 02:02:28ID:???
phpでアクセスカウンタを作りました。
TOPページに表示したいのですが
トップページは.htmlにしたいのです。

よく、アクセスカウンタの貸し出し屋さんがやってるように
<img>を貼り付けるやり方を真似てみて
アクセスカウンタのphpファイルをリンクで貼り付けても
当たり前ですができませんw

どうやればできるのでしょう?

おねがいします!
0520nobodyさん2007/11/11(日) 02:13:15ID:???
カウンタからトップページにリダイレクトすれば
もしくはframeかなにかでカウンタを表示するとか
0521nobodyさん2007/11/11(日) 02:17:11ID:???
>>519
phpをhtmlに変えればいいじゃんhtaccessで
つか普通はそうしてると思うけど。
0522nobodyさん2007/11/11(日) 02:19:45ID:???
frameをすすめるやつがいるなんて(笑)
0523nobodyさん2007/11/11(日) 02:23:11ID:???
>>522
こんなやつのサイトみるとphpなくせに
フレームでメニューとかつくってんだろなw
まったくphpの意味なしw
0524nobodyさん2007/11/11(日) 02:29:00ID:???
みなさん、ありがとうございました。
>>521さんの方法でやりたいと思います。
0525nobodyさん2007/11/11(日) 02:52:27ID:???
>>524
topはindexだからなんでもいいと思うぞ
0526nobodyさん2007/11/11(日) 02:58:03ID:???
imgタグのsrc属性でphp叩けばいいじゃん
0527nobodyさん2007/11/11(日) 03:18:08ID:???
>>523
わかったわかった(笑)
顔真っ赤にして言わなくてもいいよ、だまっとくからさ(笑)
0528nobodyさん2007/11/11(日) 03:44:35ID:???
>>520=>>527が全然黙っていない件
0529nobodyさん2007/11/11(日) 13:14:30ID:O7WKfppj
質問なんですけど、、
登録1→確認1→確定1→登録2→確認2→確定2 という処理をするとき、
確認用の.phpの動作は、DBの確認用テーブルに登録情報を仮登録して、
続けて、その仮登録したデータを呼び出して表示、確定ボタンで確定ページへ 
…という処理を考えてます。

このとき、確認.phpを登録処理ごとに用意するとファイル数が膨大になるんで、登録.phpで
<input type="hidden" name="touroku_page" value="<?php echo basename(__FILE__); ?>" />
として、確認.phpでは セッションでわたってきたtouroku_pageの値ごとに、仮登録用に接続する
テーブル名その他を振り分けようかと思っています。

こういう処理って一般的ではないというかおかしいでしょうか? 
素人なんでちょっと不安です   ご回答お願いします。
0530nobodyさん2007/11/11(日) 13:18:44ID:Y1Wz2D6O
板違いかもしれませんが、お願いします。

scriptタグのsrc属性でphpを指定する場合、

<script type="text/javascript"
src="http://example.com/example.php?param=1";></script>

のように、変数はURLと一緒に渡すしか方法は存在しないのでしょうか?
フォームなどから値をPOSTするなどはできますか?
0531nobodyさん2007/11/11(日) 13:19:08ID:???
>>529
一般的ではないというかおかしいです。
普通はDBに突っ込まずにセッション変数に突っ込みます。
0532nobodyさん2007/11/11(日) 13:30:32ID:???
・&#31090(Shift_JIS)->?(UTF-8)
・?(UTF-8)->&#31090(Shift_JIS)

後者が出来ない・・・。?とか以外のShift_JISで表現出来る文字はおkなんだけど・・・

mb_decode_numericentityとmb_encode_numericentityを上手に使えばいいっぽいけど、文字化け。
最初から全部数値参照にすればおkなんだけど、それだと出力されたソースが見にくい。

0x0,0x10000,0,0xfffffでは無謀であると出力された文字が言っております
上手なconvert mapの書き方教えてくれ。
05335292007/11/11(日) 13:39:05ID:???
>>531
ありがとうございます
>普通はDBに突っ込まずにセッション変数に突っ込みます。
これは、確認用の表示はセッションの値を参照するってことですよね?
そのことは承知で仮登録テーブルを使ってやることにしました(別の話だったらすみません)

振り分けについてはどうでしょう? まずいやりかたでしょうか
05345322007/11/11(日) 13:51:36ID:???
あれ? >>532[?]がテラ文字化けしてる?

ttp://en.wiktionary.org/wiki/%E7%A5%B2
>>532 の&#31090;はこの字。まぁどの字でもいいんだけど
なぜこの字かって聞かれるとムシキングといえばわかる人がいるかもしれない
0535nobodyさん2007/11/11(日) 20:43:20ID:???
質問です。

音楽のストリーミング配信を行っております。
そこで、何回ダウンロードされたかを知るには何の関数を使えばよろしいでしょうか?
「ダウンロードカウンタ」で検索してそのまま使おうかと思ったのですが
気に入ったのが無かったので自分で作ろうと思いました。
けど、ダウンロードを感知するにはどうすればよいのかが分かりません。
0536nobodyさん2007/11/11(日) 20:46:50ID:???
ダウンロード処理の前か後に回数+1して記録する処理を加えればおk
0537nobodyさん2007/11/11(日) 21:06:44ID:D5pinUYp
質問させてください。

文字列を16進数として変数に格納するにはどうしたらよいのでしょうか。

例:

$hensu = 'AA';
を
$hensu = 0xAA;
として扱いたいのです。
05385352007/11/11(日) 21:08:47ID:???
例えば、ページアクセスの場合は
$_SERVER['SCRIPT_NAME']
で取得できると思いますが、
asxファイルやmp3ファイルの場合は
どうすれば、取得できるのでしょうか?
05395352007/11/11(日) 21:16:10ID:???
ん・・・。
メディアプレーヤーの再生ボタンを「ポチッ」だから
ややこしくなるのか?
プレーヤー表示させないで1回だけ再生するようにして
もう1回聞きたいときは、リロードするなりして
もう一回ページにアクセスするようにすれば、
ページのカウンタでもいいのか・・・。

という、自己解決で大ジョブですか?w
0540nobodyさん2007/11/11(日) 21:17:33ID:???
自分でそうしたいならそれでいいじゃん。
壁にぶつかる前から石橋を叩いて渡るようなことしてんじゃねえよ
0541nobodyさん2007/11/11(日) 21:19:10ID:???
>>537
やりたいことが違ってたら悪いけど
$hensu = hexdec($hensu);
05425352007/11/11(日) 21:21:37ID:???
>>540
了解!
もうちょっと悩んでみます。
しかも、上のやり方だと全部にhtmlファイルを作らなきゃ
いけないので、変更があったりした場合大変だと言う事に
気づきました。

う〜ん。
0543nobodyさん2007/11/11(日) 21:23:32ID:dpXsmrQl
PHP Version 5.2.4
mysqlのことなんですけど
phpでmysqlのテーブルのフィールド情報を取得して
| Field | Type | Null | Key | Default | Extra |
ってありますよね?
そのフィールドの一つのNULLがありますよね?
配列で全フィールド情報を取得して
print_r($field_array);
でみたら
[NULL] => YES
[NULL] => NO
などとなってるので
[NULL]がNOだけなのを選ぼうと
foreach($field as $key => $value)
if($value["NULL"]=="NO")
print($value["Field"]);
とやってもなにもえられませんでした。。。
"NO"の代わりにTRUE,FALSE,NULL,0,'0',"0",1,'1',"1","YES","NO",YES,NO
全部試しましたけど。
期待してる値は帰ってきませんでした。
FALSE,0,NULL,FALSEは($value["NULL"]がYESのも含んで)全部の値が戻ってくるんですが
[NULL] => NOだけとか[NULL] => YESだけとかって制御文で振り分けることって出来ないんしょうか?
0544nobodyさん2007/11/11(日) 21:24:12ID:???
なんのためにPHPがあるんだ馬鹿
0545nobodyさん2007/11/11(日) 21:37:27ID:???
教える気がないなら黙って放置しとけばいいのに
くだらない優越感に浸ってんじゃねーよ馬鹿
0546nobodyさん2007/11/11(日) 21:41:02ID:???
>>545
id消してまで文句はよくない。
0547nobodyさん2007/11/11(日) 21:49:29ID:???
>>545
教えてほしいからってID伏せて文句いうのは逆効果
0548nobodyさん2007/11/11(日) 21:50:21ID:???
そう考えるのが普通だが、このスレには きゃつ が潜んでいる
05495432007/11/11(日) 21:56:09ID:???
543ですけど545自分じゃないですよ;;
0550nobodyさん2007/11/11(日) 22:09:32ID:???
>>537
$hensu = 'AA';
$hensu = pack('H2', $hensu);
// echo bin2hex($hensu);

実際は 'H2' じゃ足りないんだろうけど、あとはマニュアル読んでみてください。
0551nobodyさん2007/11/11(日) 22:09:36ID:???
はいはい(笑)
0552nobodyさん2007/11/11(日) 22:17:47ID:???
>>541
>>550

ありがとん。
試してみますね。
0553nobodyさん2007/11/11(日) 22:37:23ID:P3ZXl3i/
まだphp最近学びだしたばかりで本見ながらやってるんですが、
わからないので質問します。
mkdir関数やtouch関数で、ディレクトリやファイルを作成できません。
ネットワーク上にディレクトリやファイルを作成する場合は、
ftp_****関数など使わないとできないんでしょうか?
もしそうなら、mkdir関数などは何故必要なのでしょうか?
行き詰ってしまいました、教えて下さいおねがいします。
0554nobodyさん2007/11/11(日) 22:39:17ID:???
>>553
権限がない
05555532007/11/11(日) 22:51:33ID:???
>>554
ありがとうございます
作成するにも権限があるのは知りませんでした
今はコアサーバーでレンタルしてるんですが、どうすれば権限を持てますか?
質問の内容がまったくずれていたらすいません
0556nobodyさん2007/11/11(日) 22:56:09ID:???
ウインの人にはパーミッションとか理解出来ないんだろうな。
0557nobodyさん2007/11/11(日) 23:03:04ID:???
>>555
レン鯖でPHP使うならパーミッションとセーフモードは知っておかないと
0558nobodyさん2007/11/11(日) 23:12:48ID:???
>>555
ひょっとして、おうちのPC上で動いてるPHPさんで

mkdir('http://coreserver.example.com/test/', 0705);

できないのが納得いかない、なんでリモートのサーバにディレクトリ掘るのに
いちいち ftp_login しなきゃいけないんだよ面倒だ、っていう話なんだろーか。
05595532007/11/11(日) 23:38:36ID:???
>>556
ウインの人とは私の事でしょうか?意味がわかりません
>>557
ffftp使ってるんで、パーミッションは見た事あります。
でも作成権限はわかりませんでした。
セーフモード知らないんでググってきます。
>>558
そうは思っていません
0560nobodyさん2007/11/11(日) 23:51:23ID:???
ウインの人 = ffftp使ってるんで
0561nobodyさん2007/11/11(日) 23:54:05ID:???
ftpって懐かしいなー
いまだに使ってるのか
■ このスレッドは過去ログ倉庫に格納されています