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

【PHP】質問スレッドpart30【php】

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2005/10/25(火) 06:50:06ID:Q4oGlTH3
PHP全般の質問スレです。
【基本ルール】
・新規質問の方は上げてください。age進行でお願いします。
・質問者は2回目以降、最初のレス番号を名前欄に入れてください。
・回答者は質問者に対して>>(アンカー)をつけてください。
・煽り・荒らしは放置。荒らしに反応した香具師も荒(ry
・解決しなくてもこたえてもらったら礼を。
【質問テンプレ】
・マニュアルを調べたか、google検索したか(調べたキーワード)
・タイトル(禁:教えてください!etc) 例:requireとinclude
・内容 例:requireとincludeはどう違うのですか?
・質問する際には環境も明記。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークはそれぞれの該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
・オブジェクト指向については良スレがないから本を買え
・速さについては自分でベンチをとってここに書け(違う環境の人も調べてくれるかも)
【PHP マニュアル】
http://www.php.net/manual/ja/
※マニュアル上部の「search for」から検索を活用すべし(便利)。

過去スレ、関連リンク、FAQ等>>2-10辺り
0604nobodyさん2005/11/15(火) 22:16:29ID:???
やはり一味も二味も違うな
06056002005/11/15(火) 22:18:14ID:???
>>601
ポート8040ってのはどこから出てきたんだ…
その状況だと >>490 の時点とはエラーメッセージが変わってるんじゃないのか?

1) 念のため聞くが、WEBサーバー(PHPが動作しているサーバー)とpostgresが動作している
  サーバーは同じサーバー?
2) 現在のエラーメッセージは?
3) 接続パラメータにパスワードがないが、パスワードなしでOK?
4) 先のカキコで聞いたが、無視しやがるので再度。postgresへ接続する部分の具体的なコードは?
0606nobodyさん2005/11/15(火) 22:20:00ID:???
回答をもらってるのに部分的にスルーって時点で釣りか、精神的にアレなんじゃないのか・・・
0607nobodyさん2005/11/15(火) 22:21:25ID:???
>>605

4)は501あたりじゃね?昨日と同じなら
0608nobodyさん2005/11/15(火) 22:27:04ID:AP0zNwzy
PHPでheader("Content-type: image/png")のように画像を出力しています。
通常の画像〜.pngなどはサーバー側で更新されていなければ再取得せずにキャッシュが使われますが、PHPで書いてある場合にはどのようにしたら同じような挙動をさせることができるでしょうか?
0609nobodyさん2005/11/15(火) 22:29:05ID:???
よく考えりゃテンプレも読めなきゃレスも読めてないんだから
参考書とかマニュアルなんて読めるわけが無いよな
0610nobodyさん2005/11/15(火) 22:29:49ID:???
>>608
ブラウザに依るから何とも言いようが無い
06116082005/11/15(火) 22:32:05ID:???
>>610
むむー、そうなのですか。IEとFirefoxが大半だと思うので、この2つだけでも何とかなりませんか?
06124902005/11/15(火) 22:34:07ID:NEc3YLTa
>>603
ありがとうございます。
>>603
これでいいでしょうか?
config.php
<?php
if(ereg("config.php",$_SERVER["PHP_SELF"]))
{
exit();
}
define("DB_NAME","testdb2");
define("DB_CONN","dbname=" .DB_NAME);
?>
結果ですが、ダメみたいです。
<br /><b>Warning</b>:
pg_connect()
[<a href='function.pg-connect'>
function.pg-connect</a>]
Unable to connect to PostgreSQL server: FATAL:
user "nobody" does not exist
---------------------------------------------------
06134902005/11/15(火) 22:34:33ID:NEc3YLTa
test1.php
<?php
require("config.php");
$db=pg_connect(DB_CONN);
header("Content-Type:text/plain;Charset=EUC-JP");
if($db==FALSE)
{
echo " not connect db?n " ;
}
else
{
echo "database connect ok?n" ;
}
?>
0614nobodyさん2005/11/15(火) 22:38:35ID:???
>>611
Last-Modifiedで何とかならんかな?
0615nobodyさん2005/11/15(火) 22:39:06ID:???
490はもうスルーしようよ
0616nobodyさん2005/11/15(火) 22:45:26ID:???
>>608
rfc嫁
last-modifiedとif-none-matchをみてレスポンス返せばいいが
HTTP1.1に準拠するのは結構面倒だぞ
06176082005/11/15(火) 22:55:52ID:???
>>614
header("Last-modified: 〜")のようにすればいいのですね。

>>616
if-none-matchというのもこれから調べてみます。

ありがとうございました。
0618nobodyさん2005/11/15(火) 22:57:48ID:???
>>617
違う。304レスポンス/ステータスを返す
Web鯖がやってるのと同じことをする
ところで下のほうにくだスレがあるの見えてる?
0619nobodyさん2005/11/15(火) 22:58:47ID:???
>>615
釣りか、知能が異様に低いかのどっちかだな。

前者なら良いが、もしも後者なら490が不憫で・・
06206002005/11/15(火) 22:59:11ID:???
>>607
サンクス。>>490 からのスレを全部読んでいなかった漏れが悪かった。
で、全部読んだら脱力した…。今回とほとんど同じ流れじゃん。
>>490 からすると同じ事を何度も聞きやがって、と思うかもしれんが
聞かれてもしょうがないよな…
スマンが、この件からは離脱するわ。付き合いきれん。
0621nobodyさん2005/11/15(火) 23:02:48ID:???
>>616
つ if-modified-since
0622nobodyさん2005/11/15(火) 23:05:27ID:???
>>620
一つだけ言っておこう。

「おまいは別に悪くないぞ」
0623nobodyさん2005/11/15(火) 23:07:42ID:???
>490

test1.php
<?php
$db=pg_connect("dbname=testdb2 user=testuser2");
if($db==FALSE) {
echo "NG";
} else {
echo "OK";
}
?>

なら、どうよ?
0624nobodyさん2005/11/15(火) 23:11:07ID:???
>>490
user "nobody" does not exist
なんだと思う?
気づけよ┐(´ー`)┌

#623をやって、今度はパスワでエラーかもw
0625nobodyさん2005/11/15(火) 23:14:58ID:???
ダメなのはなんとなく理解しているが、
どうしてダメなのかはサッパリ分かってないし、分かろうともしていない
0626nobodyさん2005/11/15(火) 23:18:02ID:???
このまま尻切れトンボで収束して、明日はまた最初からだな。
急いでいるみたいだから、みんな準備しとけよ。
0627nobodyさん2005/11/15(火) 23:18:41ID:???
>>625
昨日も相手したんだけどねぇ
ぷっスマの時間なので後は頼んだw
0628nobodyさん2005/11/15(火) 23:51:35ID:???
期待の大型新人もぷっすまかな?

”ある意味”こっちのほうがレベル低いよねw

明日こそ旨く伝えられるようにがんばるぞ!
0629nobodyさん2005/11/15(火) 23:55:07ID:???
じゃあ、期待の大型新人はこちらで育成よろしく。
PostgreSQLスレでは、育てきれません。
0630nobodyさん2005/11/16(水) 00:21:48ID:???
>>629
イヤン。お持ち帰り下さいませ。
0631nobodyさん2005/11/16(水) 00:31:30ID:???
>>549が正論だな
下質スレは下質スレなりにレベルを保つって事だな
0632nobodyさん2005/11/16(水) 03:49:50ID:???
くだスレどこがまともなの?
0633nobodyさん2005/11/16(水) 03:53:16ID:???
期待の新人君が沸いて楽しいぞ
0634nobodyさん2005/11/16(水) 06:55:21ID:???
phpizeって何ですか?
06356342005/11/16(水) 07:44:56ID:???
すみません他のスレに行きます。
0636nobodyさん2005/11/16(水) 08:01:21ID:???
>>635
他の星へ行け
0637nobodyさん2005/11/16(水) 11:27:45ID:???
くだらない質問なんだろうなぁと思う奴は控えめ→くだ質へ→控えめなので丁寧に質問→丁寧故に回答を得る→結果的に良質なスレへ
0638nobodyさん2005/11/16(水) 12:30:06ID:???
なんか妙にくだスレをヨイショしたがってる池沼がいるな。
全体的によく見比べれ。つーか低脳はくだスレに帰れ。
0639nobodyさん2005/11/16(水) 12:34:04ID:???
↑みたいなレスが増えると糞スレになってくる。
質問と回答以外書き込まなければいいと思うよ。
0640nobodyさん2005/11/16(水) 12:35:10ID:???
念のため書いときまーす

【基本ルール】
・煽り・荒らしは放置。荒らしに反応した香具師も荒(ry

(>>1より一部引用)
0641nobodyさん2005/11/16(水) 13:59:29ID:???
echo ってなんですか?
0642nobodyさん2005/11/16(水) 14:11:46ID:???
http://php.net/echo
0643nobodyさん2005/11/16(水) 14:20:49ID:pHA2FDGy
配列に関する質問です。
数値をキーとする配列(キーそのものにはあまり意味はないです)に含まれる値だけを取りだして、それをキーとするにはどのようにしたらよいでしょうか?(検索効率を上げるため)
生成された配列の値は使用しないので何でもよく、(キーにするという性質上)重複は削除するものとします。
何か案をお持ちの方いらっしゃいましたらよろしくお願いします。
0644nobodyさん2005/11/16(水) 14:32:10ID:???
array_combine
0645nobodyさん2005/11/16(水) 14:48:02ID:???
>>643
案っていうか、オマイさんが言ったことをゴリゴリと書いても大した手間ではないだろうに。
確かにPHPの関数を使った方が短く書けるだろうけど、それに拘るのなら自分で PHP マニュアルの
array_xxxx 関係を読めばいいのではないのか?
多分、array_values、array_combine 辺りで可能だと思う。
0646nobodyさん2005/11/16(水) 14:51:21ID:pHA2FDGy
>>644
レスありがとうございます。
実はarray_count_valuesで一発だったようです。
array_combineも便利そうですね。
どうもありがとうございましたm(_ _)m
0647nobodyさん2005/11/16(水) 15:03:11ID:???
セッションの管理について詳しく書いてるとこない?
0648nobodyさん2005/11/16(水) 15:47:45ID:???
>>647
マニュアル読んだ?
>>1読んだ?
0649nobodyさん2005/11/17(木) 00:40:21ID:???
490の大型ルーキー今晩こなかったなあ。

生活にハリがなくなったよ。しょぼーん。
0650nobodyさん2005/11/17(木) 00:56:25ID:???
>>649
をを、そういえばこなかったな。
0651nobodyさん2005/11/17(木) 01:20:25ID:???
そのうちまた来るさ。
0652nobodyさん2005/11/17(木) 03:25:55ID:V06oZKlx
任意の正規表現に対して、その正規表現がマッチする文字列をランダムに生成する方法がわかりません。
たとえば$pattern = "/[0-9]{1,2}[A-Za-z]{3,4}/";なら
51TuAG
8ntQb
93dzL
:
のように複数の文字列をランダムに生成する形です。
どなたかご教授いただけますでしょうか?
0653nobodyさん2005/11/17(木) 03:59:17ID:???
性器表現道場へ逝け
06546522005/11/17(木) 04:47:47ID:V06oZKlx
すみません。正規表現そのものの質問ではなく、与えられた正規表現に対するPHPを用いた処理の仕方の質問です。
うまく伝えられなかったようなので申し訳ありません。
0655nobodyさん2005/11/17(木) 04:59:32ID:???
>>654
いきなり"."がくるかもしれなくて"["もくるかもしれなくて
その場合どこかに"]"があって……
と考えてコードを書けばええやん。
パターンがもっと限定されてるなら、それはそれでやりようあるし。
0656nobodyさん2005/11/17(木) 06:15:07ID:???
>>652
やりたいことがよくわからんが、uniqid か何かで出した文字列に
preg_replaceで s/[^任意の正規表現]//g やればええんちゃう?
運が悪いと1文字も残らないかもしれないけど
0657nobodyさん2005/11/17(木) 06:16:49ID:???
うわ、文字位置まで限定か。
だったら配列に使える文字入れてrandとかで一文字ずつ決めちゃった方が簡単でしょ
0658nobodyさん2005/11/17(木) 09:33:53ID:???
>>654
ランダムな文字列生成関数を作って、
それが正規表現にマッチするまでぐるぐる回したら?
重くはなるかとは思うが。。。
0659nobodyさん2005/11/17(木) 09:36:29ID:???
658よりは、657の一文字づつランダム決定の方が軽そうね
06606582005/11/17(木) 09:44:54ID:???
ただ、それだと同じ文字列がでやすくなるかなぁとは思うけど
気にしないならいいや
0661nobodyさん2005/11/17(木) 09:46:33ID:???
>>660
そうなの?
確率的には同じような気がするけど
0662nobodyさん2005/11/17(木) 10:31:12ID:???
そか
そう言われれば確率的には同じだな。。。
0663nobodyさん2005/11/17(木) 12:02:09ID:???
Mysqlで新しいデータから参照するにはどうしたらいいのでしょうか?
掲示板を作成していて古い順に並ぶので
0664nobodyさん2005/11/17(木) 12:06:12ID:???
OrderBy

ってか、それはPHPの質問かと小一時間
0665nobodyさん2005/11/17(木) 16:20:31ID:???
>>663
DESC
0666nobodyさん2005/11/17(木) 16:28:45ID:???
こんな椰子が作成する掲示板って怖いな。
0667nobodyさん2005/11/17(木) 16:33:19ID:???
SQLインジェクションされたい放題になる予感
0668nobodyさん2005/11/17(木) 16:34:30ID:???
>>663
PHPでやるなら全部配列に入れてrsort()
0669nobodyさん2005/11/17(木) 16:37:22ID:???
DB使う意味ねぇ〜
0670nobodyさん2005/11/17(木) 16:38:27ID:???
ファイルアクセスよりは早いと思うよ(ぷ
0671nobodyさん2005/11/17(木) 16:44:22ID:???
HAHAHA ナイスジョーク
0672nobodyさん2005/11/17(木) 16:49:11ID:???
>>667
ttp://php.s3.to/db/src/source.php?p-bbs-db.php
(^ω^;)
0673nobodyさん2005/11/17(木) 16:57:20ID:???
(ノ∀`)アチャー
0674nobodyさん2005/11/17(木) 17:03:24ID:???
そのサイトのトップページに
 PHPをバージョンアプしましょう!
 PHPに重大な脆弱性
 PHPに関するセキュリティ情報
とあるのがまたなんとも言えず。。。

ところで「バージョンアプ」って。
0675nobodyさん2005/11/17(木) 17:06:59ID:???
意味は通じるだろ
0676nobodyさん2005/11/17(木) 17:13:24ID:???
>>674
掲示板も非常に芳ばしい感じです
0677nobodyさん2005/11/17(木) 18:46:51ID:???
いまPHP勉強中なんですが>>672のソースはどこがまずいんでしょうか。
0678nobodyさん2005/11/17(木) 18:53:57ID:???
>>677
>>667の対策をしていない
0679nobodyさん2005/11/17(木) 19:00:18ID:???
>>677
http://www.atmarkit.co.jp/fsecurity/rensai/webhole02/webhole01.html
0680nobodyさん2005/11/17(木) 19:12:16ID:???
レッツも長いことPHP使ってる(ないのか?)んだから
公開してるサンプルソース全部見直したらいいのに...
初心者が真に受ける率が高いって判って放置してんのかな。
06816772005/11/17(木) 19:29:31ID:???
>>678,679
ありがとうございます。

クエリに使用したりするユーザーからの入力データを、
stripslashesなどでエスケープしておけばいいということでしょうか。
たとえば
if (get_magic_quotes_gpc()) {
$id = stripslashes($id);
}
で大丈夫みたいなことを聞いたのですが、
実際どうなのでしょうか。
0682nobodyさん2005/11/17(木) 19:32:22ID:???
?
0683nobodyさん2005/11/17(木) 19:34:38ID:???
なんか、根本的に分かってない気がするな
0684nobodyさん2005/11/17(木) 19:55:58ID:???
そんな気がする
>>681
この場合、>>679のリンク先で説明されているような状況を防ぐ手段を講じて
いないのが問題で、少なくともstripslashes()は目的に適っていないよ。

〜すればいい、と言う事を盲目的に覚えるんじゃなくて、
何を何の為にするのか理解しておかないと墓穴掘るよ
0685nobodyさん2005/11/17(木) 20:08:33ID:???
679の記事とその連載全回分を熟読すべきだ。
熟読する価値はあるぞ681程度の認識しかないなら。
0686nobodyさん2005/11/17(木) 20:38:50ID:???
>>672もこの前のKEN●のsendmailみたいな運命か…
0687nobodyさん2005/11/17(木) 20:45:41ID:???
stripslashesでは駄目だとマニュアルに書いてある。(SQLiteの方だったかも)
MySQLならmysql_escape_string
またはPearのDB.phpでquoteSmart
0688nobodyさん2005/11/17(木) 23:59:01ID:???
つか、キャラクタはpreg_replaceで文字コードに置換してしまえ
0689nobodyさん2005/11/18(金) 08:58:35ID:???
>>687
今のおすすめはmysql_real_escape_string
0690nobodyさん2005/11/18(金) 09:09:04ID:???
>>685
http://www.ipa.go.jp/security/awareness/vendor/programming/
ここも
0691nobodyさん2005/11/18(金) 12:16:05ID:???
-- チラシの裏 --
SQLインジェクションでドキッとした。
で、自分のプログラム見たら、DB Connect のクラスでSQLインジェクション対策が隠蔽されてた。
ホッとした。
---------------
0692nobodyさん2005/11/18(金) 15:51:56ID:s0p1oegi
すみません。少しスレ違いかもしれませんがお聞きします。
RFCを自分なりに読んでみているのですが、これらの情報はPHPを使うのに必要なのでしょうか?
また必要ならば、どのような場面で必要になるのでしょうか?
0693nobodyさん2005/11/18(金) 16:02:50ID:???
>>692
かなりスレ違いですが、そもそも貴方がRFCを読み出した動機は何ですか?
0694nobodyさん2005/11/18(金) 16:08:06ID:???
>>692
RFCが必要とされる局面
0695nobodyさん2005/11/18(金) 16:12:05ID:???
>>692
アメリカンジョークに例えるとだな、
・PHPを使える - 英単語・熟語・文法を知っている
・RFCを読んでいる - ジョークの理解するための歴史的背景・風俗を知っている
・RFCは知らないがスクリプトを作成できる - 毎回、「おまえのかみさんだったよ」で終わる。
・RFCに基づいたPHPスクリプトを作成できる - アメリカンジョークを自作できる
0696nobodyさん2005/11/18(金) 16:17:39ID:???
RFCって必要になった時点で読むものでしょ。
06976922005/11/18(金) 16:38:29ID:s0p1oegi
>>693
色々なサイトを見て勉強しているのですが、PHPの説明の中にRFCを参照のようなことがいたるところに書いてあったからです。

>>694
どのような局面で必要とされるのでしょうか?

>>695
ごめんなさい。まだRFCに精通していないのでうまく理解できませんでした。

>>696
なるほど。必要になるときが来るのですね。
例えばどのようなことを実現するために必要になりますか?
0698nobodyさん2005/11/18(金) 16:44:07ID:???
>>697
このレスの仕方はつい最近見たような気がするが・・・。

RFCが何かは知ってて読んでるんだよね?
0699nobodyさん2005/11/18(金) 16:47:26ID:???
>>697
RFCを全部理解してからphp組むなんてのは、広辞苑全部呼んでから作文するのと同じ。
組んでいる途中で必要になったらRFCの該当文書を見ればいいだけ。
でもおまえが何組んでるかも知らんのに「必要になるとき」なんて答えようが無い。
0700nobodyさん2005/11/18(金) 16:58:51ID:???
>>698
みんなで釣られてしまえ
0701nobodyさん2005/11/18(金) 17:42:29ID:???
>>697
>色々なサイトを見て勉強しているのですが、PHPの説明の中にRFCを参照のようなことがいたるところに書いてあったからです。

だから、どんな説明の時に参照するって書いてあったんだ。
その説明の部分で、それ以上詳しいことが必要なら参照すりゃいいだろ。
07026922005/11/18(金) 17:47:58ID:s0p1oegi
そうなのですか。わかりました。
http://www.spencernetwork.org/memo/tips-3.php
ここに出てくるContent-typeやContent-lengthといったものが
ftp://ftp.isi.edu/in-notes/rfc2068.txt
RFCに載っていたので、このようなプログラムを自在に書けるようになるために必要な情報だと思いました。
そうなるとRFCを理解しなければそれを必要になる場面に出会うことすら難しいため、一歩進んだプログラミングの習得ができない気がしてしまいます。
みなさんはきっとそういう逆境を乗り越えたのですね。
できたらその時の思考プロセスを話してもらえませんか?
0703nobodyさん2005/11/18(金) 17:54:47ID:???
>>702
そもそもRFCが何か理解しているかい?
■ このスレッドは過去ログ倉庫に格納されています