【PHP】質問スレッドpart30【php】
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2005/10/25(火) 06:50:06ID:Q4oGlTH3【基本ルール】
・新規質問の方は上げてください。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辺り
0592490
2005/11/15(火) 21:21:35ID:bjEKtblWpsql --help の一部です。
Connection options:
-h HOSTNAME specify database server host (default: local socket)
-p PORT specify database server port (default: 5432)
-U NAME specify database user name (default: xxxx)
-W prompt for password (should happen automatically)
上記に合わせて、config.phpを変更しました。が、ダメでした。。。
configの書き方と設定の仕方がわるいのでしょうか?
PHPですか、postgreSQLの設定ですか?
どうしたらいいですか?急いでいます!わかる方,お願いします。
0593名無し募集中。。。
2005/11/15(火) 21:26:58ID:???掲示板への質問の仕方が悪いんじゃない?
0594nobodyさん
2005/11/15(火) 21:35:19ID:???0595532
2005/11/15(火) 21:35:33ID:???キタノ?
本物キターーーノ?
ワクテカw
0596nobodyさん
2005/11/15(火) 21:37:32ID:???0597nobodyさん
2005/11/15(火) 21:37:53ID:???>>493-495の流れで
>というか、急いでるんです。
と言い出し、挙句の果てには
>>518-519
>ちょっと自分で本屋に行って勉強してみます。
等と戯けた事を言い出す始末だけどna
(つか本を買おうという気もまるでなし('A`))
0598nobodyさん
2005/11/15(火) 21:37:58ID:???0599nobodyさん
2005/11/15(火) 21:39:49ID:???0600nobodyさん
2005/11/15(火) 21:47:24ID:???今日は、キチガイのオンパレードだな…
1) postgresへの接続は具体的なコードは?、コードはオマイが書いたのか?
2) configの書き方うんぬんと書いてあるが、configとは何?、内容は何?
>>490 のカキコより
3) エラーメッセージが "unknown host name: localhost" と表示されているが該当マシンで ping localhost はOK?
4) port=8040 となっているが、postgresの初期設定では 5432 のはず。オマイが変更しているのか?
5) 該当マシンで以下を行うと正常に接続できる?
psql -hlocalhost -p8040 -Utestuser2 -dtestdb2
psql -h127.0.0.1 -p8040 -Utestuser2 -dtestdb2
psql -hlocalhost -p5432 -Utestuser2 -dtestdb2
psql -h127.0.0.1 -p5432 -Utestuser2 -dtestdb2
後、急いでる、急いでるってバカの一つ覚えみたいにわめくな。
急いで解決したければ、質問の仕方から考え直せ。
0601490
2005/11/15(火) 22:01:24ID:NEc3YLTapsql -hlocalhost -p8040 -Utestuser2 -dtestdb2
psql -h127.0.0.1 -p8040 -Utestuser2 -dtestdb2
は接続拒否でした。残り2つの-p5432の方はOKです。
config.php
<?php
if(ereg("config.php",$_SERVER["PHP_SELF"]))
{
exit();
}
define("DB_HOST","localhost");
define("DB_PORT",5432);
define("DB_NAME","testdb2");
define("DB_USER","testuser2");
define("DB_CONN","host=" .DB_HOST
."port=" .DB_PORT
."dbname=" .DB_NAME
."user=" .DB_USER);
?>
0602nobodyさん
2005/11/15(火) 22:06:15ID:???>は接続拒否でした。残り2つの-p5432の方はOKです。
おいおいこれが釣りじゃなく本気ならやべーぞお前技術者向いてないよw
0603nobodyさん
2005/11/15(火) 22:13:57ID:???ここまでしつこい&知らないと逆に感心するなw
define(."DB_CONN","dbname=" .DB_NAME );
一度これだけでやってみれ、portは5432な
つか本買わないんだったらマニュアル読めや
0604nobodyさん
2005/11/15(火) 22:16:29ID:???0605600
2005/11/15(火) 22:18:14ID:???ポート8040ってのはどこから出てきたんだ…
その状況だと >>490 の時点とはエラーメッセージが変わってるんじゃないのか?
1) 念のため聞くが、WEBサーバー(PHPが動作しているサーバー)とpostgresが動作している
サーバーは同じサーバー?
2) 現在のエラーメッセージは?
3) 接続パラメータにパスワードがないが、パスワードなしでOK?
4) 先のカキコで聞いたが、無視しやがるので再度。postgresへ接続する部分の具体的なコードは?
0606nobodyさん
2005/11/15(火) 22:20:00ID:???0608nobodyさん
2005/11/15(火) 22:27:04ID:AP0zNwzy通常の画像〜.pngなどはサーバー側で更新されていなければ再取得せずにキャッシュが使われますが、PHPで書いてある場合にはどのようにしたら同じような挙動をさせることができるでしょうか?
0609nobodyさん
2005/11/15(火) 22:29:05ID:???参考書とかマニュアルなんて読めるわけが無いよな
0612490
2005/11/15(火) 22:34:07ID:NEc3YLTaありがとうございます。
>>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
---------------------------------------------------
0613490
2005/11/15(火) 22:34:33ID:NEc3YLTa<?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" ;
}
?>
0615nobodyさん
2005/11/15(火) 22:39:06ID:???0616nobodyさん
2005/11/15(火) 22:45:26ID:???rfc嫁
last-modifiedとif-none-matchをみてレスポンス返せばいいが
HTTP1.1に準拠するのは結構面倒だぞ
0617608
2005/11/15(火) 22:55:52ID:???header("Last-modified: 〜")のようにすればいいのですね。
>>616
if-none-matchというのもこれから調べてみます。
ありがとうございました。
0618nobodyさん
2005/11/15(火) 22:57:48ID:???違う。304レスポンス/ステータスを返す
Web鯖がやってるのと同じことをする
ところで下のほうにくだスレがあるの見えてる?
0620600
2005/11/15(火) 22:59:11ID:???サンクス。>>490 からのスレを全部読んでいなかった漏れが悪かった。
で、全部読んだら脱力した…。今回とほとんど同じ流れじゃん。
>>490 からすると同じ事を何度も聞きやがって、と思うかもしれんが
聞かれてもしょうがないよな…
スマンが、この件からは離脱するわ。付き合いきれん。
0623nobodyさん
2005/11/15(火) 23:07:42ID:???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:???user "nobody" does not exist
なんだと思う?
気づけよ┐(´ー`)┌
#623をやって、今度はパスワでエラーかもw
0625nobodyさん
2005/11/15(火) 23:14:58ID:???どうしてダメなのかはサッパリ分かってないし、分かろうともしていない
0626nobodyさん
2005/11/15(火) 23:18:02ID:???急いでいるみたいだから、みんな準備しとけよ。
0628nobodyさん
2005/11/15(火) 23:51:35ID:???”ある意味”こっちのほうがレベル低いよねw
明日こそ旨く伝えられるようにがんばるぞ!
0629nobodyさん
2005/11/15(火) 23:55:07ID:???PostgreSQLスレでは、育てきれません。
0632nobodyさん
2005/11/16(水) 03:49:50ID:???0633nobodyさん
2005/11/16(水) 03:53:16ID:???0634nobodyさん
2005/11/16(水) 06:55:21ID:???0635634
2005/11/16(水) 07:44:56ID:???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:???0642nobodyさん
2005/11/16(水) 14:11:46ID:???0643nobodyさん
2005/11/16(水) 14:20:49ID:pHA2FDGy数値をキーとする配列(キーそのものにはあまり意味はないです)に含まれる値だけを取りだして、それをキーとするにはどのようにしたらよいでしょうか?(検索効率を上げるため)
生成された配列の値は使用しないので何でもよく、(キーにするという性質上)重複は削除するものとします。
何か案をお持ちの方いらっしゃいましたらよろしくお願いします。
0644nobodyさん
2005/11/16(水) 14:32:10ID:???0645nobodyさん
2005/11/16(水) 14:48:02ID:???案っていうか、オマイさんが言ったことをゴリゴリと書いても大した手間ではないだろうに。
確かにPHPの関数を使った方が短く書けるだろうけど、それに拘るのなら自分で PHP マニュアルの
array_xxxx 関係を読めばいいのではないのか?
多分、array_values、array_combine 辺りで可能だと思う。
0646nobodyさん
2005/11/16(水) 14:51:21ID:pHA2FDGyレスありがとうございます。
実はarray_count_valuesで一発だったようです。
array_combineも便利そうですね。
どうもありがとうございましたm(_ _)m
0647nobodyさん
2005/11/16(水) 15:03:11ID:???0649nobodyさん
2005/11/17(木) 00:40:21ID:???生活にハリがなくなったよ。しょぼーん。
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:???0654652
2005/11/17(木) 04:47:47ID:V06oZKlxうまく伝えられなかったようなので申し訳ありません。
0655nobodyさん
2005/11/17(木) 04:59:32ID:???いきなり"."がくるかもしれなくて"["もくるかもしれなくて
その場合どこかに"]"があって……
と考えてコードを書けばええやん。
パターンがもっと限定されてるなら、それはそれでやりようあるし。
0656nobodyさん
2005/11/17(木) 06:15:07ID:???やりたいことがよくわからんが、uniqid か何かで出した文字列に
preg_replaceで s/[^任意の正規表現]//g やればええんちゃう?
運が悪いと1文字も残らないかもしれないけど
0657nobodyさん
2005/11/17(木) 06:16:49ID:???だったら配列に使える文字入れてrandとかで一文字ずつ決めちゃった方が簡単でしょ
0658nobodyさん
2005/11/17(木) 09:33:53ID:???ランダムな文字列生成関数を作って、
それが正規表現にマッチするまでぐるぐる回したら?
重くはなるかとは思うが。。。
0659nobodyさん
2005/11/17(木) 09:36:29ID:???0660658
2005/11/17(木) 09:44:54ID:???気にしないならいいや
0662nobodyさん
2005/11/17(木) 10:31:12ID:???そう言われれば確率的には同じだな。。。
0663nobodyさん
2005/11/17(木) 12:02:09ID:???掲示板を作成していて古い順に並ぶので
0664nobodyさん
2005/11/17(木) 12:06:12ID:???ってか、それはPHPの質問かと小一時間
0666nobodyさん
2005/11/17(木) 16:28:45ID:???0667nobodyさん
2005/11/17(木) 16:33:19ID:???0669nobodyさん
2005/11/17(木) 16:37:22ID:???0670nobodyさん
2005/11/17(木) 16:38:27ID:???0671nobodyさん
2005/11/17(木) 16:44:22ID:???0672nobodyさん
2005/11/17(木) 16:49:11ID:???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:???0679nobodyさん
2005/11/17(木) 19:00:18ID:???http://www.atmarkit.co.jp/fsecurity/rensai/webhole02/webhole01.html
0680nobodyさん
2005/11/17(木) 19:12:16ID:???公開してるサンプルソース全部見直したらいいのに...
初心者が真に受ける率が高いって判って放置してんのかな。
0681677
2005/11/17(木) 19:29:31ID:???ありがとうございます。
クエリに使用したりするユーザーからの入力データを、
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:???熟読する価値はあるぞ681程度の認識しかないなら。
0687nobodyさん
2005/11/17(木) 20:45:41ID:???MySQLならmysql_escape_string
またはPearのDB.phpでquoteSmart
0688nobodyさん
2005/11/17(木) 23:59:01ID:???0690nobodyさん
2005/11/18(金) 09:09:04ID:???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:s0p1oegiRFCを自分なりに読んでみているのですが、これらの情報はPHPを使うのに必要なのでしょうか?
また必要ならば、どのような場面で必要になるのでしょうか?
■ このスレッドは過去ログ倉庫に格納されています