【PHP】下らねぇ質問はID出して書き込みやがれ 75

このエントリーをはてなブックマークに追加
1nobodyさん
質問者はまず>>1を良く読むこと(必須!)
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。

◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 74
http://pc11.2ch.net/test/read.cgi/php/1221909788/

◆質問用テンプレ
【OS名】vine linux
【PHPのバージョン】php5.26
【連携ソフトウェア】mysql
【質問内容】

◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)

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

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

【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
2nobodyさん:2008/10/16(木) 23:53:24 ID:???
■過去ログ
【PHP】下らねぇ質問はここに書き込みやがれ 73
http://pc11.2ch.net/test/read.cgi/php/1220440493/
【PHP】下らねぇ質問はここに書き込みやがれ 72
http://pc11.2ch.net/test/read.cgi/php/1218855685/
【PHP】下らねぇ質問はここに書き込みやがれ 71
http://pc11.2ch.net/test/read.cgi/php/1216291372/
【PHP】下らねぇ質問はここに書き込みやがれ 70
http://pc11.2ch.net/test/read.cgi/php/1214356448/
【PHP】下らねぇ質問はここに書き込みやがれ 69
http://pc11.2ch.net/test/read.cgi/php/1211879073/
【PHP】下らねぇ質問はここに書き込みやがれ 68
http://pc11.2ch.net/test/read.cgi/php/1209822736/
【PHP】下らねぇ質問はここに書き込みやがれ 67
http://pc11.2ch.net/test/read.cgi/php/1207863515/
【PHP】下らねぇ質問はここに書き込みやがれ 66
http://pc11.2ch.net/test/read.cgi/php/1205655807/
【PHP】下らねぇ質問はここに書き込みやがれ 65
http://pc11.2ch.net/test/read.cgi/php/1203854597/
【PHP】下らねぇ質問はここに書き込みやがれ 64
http://pc11.2ch.net/test/read.cgi/php/1202536271/
3nobodyさん:2008/10/16(木) 23:54:16 ID:???
関連リンク
■本家マニュアル   http://www.php.net/manual/ja/
■日本PHPユーザ会 http://www.php.gr.jp/
■PEARマニュアル  http://pear.php.net/manual/ja/
■メーリングリスト   http://ns1.php.gr.jp/mailman/listinfo/
■ZFマニュアル    http://framework.zend.com/manual/ja/

(以下英語)
■Smarty       http://smarty.php.net/
■Zend本家      http://www.zend.com/
■Zend Framework  http://framework.zend.com/
■php | architect   http://www.phparch.com/
■Smartyマニュアル http://smarty.php.net/manual/en/
■PECL本家(英語) http://pecl.php.net/
4nobodyさん:2008/10/16(木) 23:55:05 ID:???
【簡易FAQ】
1.文字コードは何を使えばいいの?
 →1.UTF-8 2.EUC-JP のどちらか。迷うようなやつはShift_JISは使っちゃダメ。
2. このスレに書き込むときに自分のサイト名を晒したくない
 → http://example.com/が例文などのために予約されている。hogehoge.comは使っちゃダメ。
3. ブラウザに何も表示されないんだけど・・・
 → Apacheの設定を見直せ。ファイルの拡張子は何にしてて、その拡張子でPHPを呼ぶようになっているか?
4. 記号の意味がわからないけどググりようがない
 → 「@」 エラー表示を抑制、「->」 オブジェクトのメンバにアクセス、「::」 静的なメソッド呼び出し、
  「==」は暗黙の型変換をしてゆるい比較、「===」は型情報も含めた厳密な比較
5. echo "$arr['hoge']['fuga']"; と書いたらエラーになった
 → {おっぱい括弧}でくくって"{$arr['hoge']['fuga']}"にする
6. 一定時間ごとに自動的に何かしたいんだけど
 → cronかタスクスケジューラを使え。
7.extractって危険なの?
 →変数上書き&初期化忘れなどで危険。楽だからという理由だけで安易に使わない。
8. include/requireに「〜.php?a=b&c=d」のようなパラメータをつけたい
 → URL呼び出しなら可能だけど、普通のファイル呼び出しではできません
9.include/requireでURLを指定しても何も起きない
 → .phpの拡張子のファイルをURLで呼び出すと、1度PHPプログラムとして実行された結果になる。
5nobodyさん:2008/10/16(木) 23:56:24 ID:???
10. そもそもインストールの時点でうまくいかない
 → 確認すべきはPHPのconfigureの引数、php.iniの内容と置き場所、
  Webサーバの設定(Apacheならhttpd.conf)、起動&再起動あたり
11. SQLの質問はどこで?
 → データベース板に誘導されるのが嫌ならPHPにうまく関連させて質問する
12. 文字列のなかに、英字のみとか数字のみとか記号が入っちゃいやんとかはどうしたらいいの?
 → ctype_〜()が手軽。複雑なパターンはpreg_〜()あたりで正規表現を使う。
13. $a1, $a2, $a3 ... のような変数名をうまく扱いたい
 → 可変変数で実現できるけど、むしろ配列を使って$a[1], $a[2], $a[3]等とするのがベター
14. echoとprintってどう違うの?
 → よく議論される話題であるが基本的に両者とも同じ。 以下ちょっとした議論。
  http://www.faqts.com/knowledge_base/view.phtml/aid/1/fid/40
15. クッキーの情報をユーザから隠したい
 → セッション使え。ただしクッキーとセッションは仕組みが違うから同じように扱うな
16. strip_tags()で削除しないタグを複数指定したい
 → strip_tags($html, '<a><p><font>'); // htmlspecialchars()も検討すべし
17. CSVやTSVのファイルをスマートに扱いたい
 → まずはfgetcsv()。ただし日本語を含むと正常に動作しない場合があるので注意だ。
18. 値渡しと参照渡し(「&」を使う)のパフォーマンスの違い
 → C言語じゃないので、パフォーマンス目的で使いわけたらダメ。参照渡しにすると逆に遅くなったりする
  参照渡しは引数に戻り値を設定したり引数を関数内で変更するなど、正しい目的に使うこと
19. ファイル入出力関数(fopen等)でリモートファイル(http://〜とか)を扱う際の限界
 → fsockopen()でソケット通信 or PEARのHTTP系 or CURLで解決
  必要ならHTTPをはじめとする各種プロトコル(どんなデータを送受信するか)はRFCなどで調べる
20. PHPからPOSTリクエストしたい
 →19.を参照
21. 画像処理一般 or GDの限界
 → ImageMagick(PECLのやつ or シェルから実行)
22. 画像・音・動画はファイルで保存?DBに保存?
 → 好きにしてください
6nobodyさん:2008/10/16(木) 23:58:36 ID:???
いつの間にか1000行ったから立てたが
980以降誰も次スレの話しないのにワロタw
7nobodyさん:2008/10/17(金) 02:08:33 ID:???
Cだったら変数宣言するときに、
その変数が何バイト使うか、ってあらかじめ
宣言しないとだめだけど、PHPはそんなことないから
次スレとか、あと何回書き込めるか、とか、
そういうことは気にしない人たちが集まってるんだよ
8nobodyさん:2008/10/17(金) 02:56:16 ID:???
色んな意味で感心したw
9nobodyさん:2008/10/17(金) 03:07:35 ID:3h5QsAXP
phpinfo()でみれるxdebug項目のMasterとLocalのValueって何がちがうんすか?
10nobodyさん:2008/10/17(金) 03:09:39 ID:???
>>9
Master Value は php.ini で設定された値
Local Value は .htaccessやhttpd.conf等で設定を定義した場合

ってことを聞いてるんじゃなくて?
11nobodyさん:2008/10/17(金) 03:14:26 ID:3h5QsAXP
そうですた><
Xdebugの項目しか見てませんでした。
ぐぐったらでました。

ちなみにXdebugのオンオフってできるもんなんでしょうか。
調べた限りでは本番ではオフだと記述は見つかるんですが、
項目多すぎて具体的にどうすればいいのかさっぱりです。
12nobodyさん:2008/10/17(金) 10:14:58 ID:KGeFGt4I
プログラム書いてると、処理に時間がかかってタイムアウトするときが
あるんですが、毎回タイムアウトするのではなく、同じページの処理で
タイムアウトする場合もしない場合もあります

皆さんもこういうことって経験ありますか?
毎回タイムアウトしてればソースがおかしいんだろうと思いますが
時々とかだと何が原因なんでしょうか?
エラーログに書き出される問題の箇所というのは、ただの変数の宣言を
してるだけだったりします。
13nobodyさん:2008/10/17(金) 11:16:07 ID:???
サーバがクソ
1412:2008/10/17(金) 14:14:32 ID:KGeFGt4I
>>13
ありがとうございます
やはりサーバのスペックは影響大きいんでしょうか?
メモリ512mbのPentium3 WindowsXPなんですが

ソースの改良はこれ以上見込めないとして、phpやapacheの設定ファイルを
操作して処理速度を速めることって出来ますか?
15nobodyさん:2008/10/17(金) 14:22:18 ID:???
速度ではなくリソース
リソース不足で処理待ちのタイムアウトなんじゃね?
php.iniのメモリ関連のディレクティブを調整
16nobodyさん:2008/10/17(金) 15:06:50 ID:KGeFGt4I
>>15
ありがとうございます
リソースなんて考えたこともありませんでした
メモリ関連のディレクティブっていうのを調べてみます

あと、マシンを起動したときにエラーログに
PHP Startup: Unable to load dynamic library 'C:\\PHP\\ext\\php_interbase.dll'
というような警告がたくさん出ます。
でも、php\extフォルダにはちゃんとそのファイル(php_interbase.dll)があるんですがなぜでしょうか?
唯一違う点は、警告文の中ではフォルダ名がPHPなのに実際にはphpとなってる点です

こういうのも処理落ちに関連してるんでしょうか?
17nobodyさん:2008/10/17(金) 15:11:40 ID:???
>>16
php_interbaseはInterBaseのライブラリがWin上にインストールされてないと使えない
php_interbase.dllは動的リンクしてるからロード時に依存する
よってロードされませんでしたよっと

ちなみに処理落ちと関係なし
1816:2008/10/17(金) 15:26:12 ID:KGeFGt4I
>>17
関係ないですか  本当にレスありがとうございます
php.iniを調べたところ
memory_limit = 128M ; Maximum amount of memory a script may consume (128MB)

となっていました。
最大まで割り当ててるってことですよね
他にメモリの設定をするところがあるんでしょうか?
apacheを再設定するとかで対応をすべきなのかなぁ

・配列の処理はfor文をforeachに置き換える
・生成した変数は不要になったらunset
・アップロードした画像をtempフォルダからこまめにunlink
…と、思いつくことは極力やってあるつもりなんですが
19nobodyさん:2008/10/17(金) 15:34:55 ID:???
>>18
128Mあれば十分だよなぁ
max_execution_timeを引き伸ばして解消するか確認したら?
引き伸ばしてもタイムアウトするなら、ファイルシステムでロックによる待機ってのも考えうる
(OS側でファイルをロックしていると解除待ちや遅延を発生させる)
20nobodyさん:2008/10/17(金) 16:04:45 ID:???
for文をforeachに置き換えたらなんでメモリ節約になるんだ
21nobodyさん:2008/10/17(金) 16:17:50 ID:???
>>18
それって別に最大128M までしか設定できないということじゃなく、
128M にしておくと最大128M までしか使わないぜ、っていう意味だろう。
22nobodyさん:2008/10/17(金) 16:19:38 ID:???
まぁそれにしたって128MならPHPにしては多めだから、メモリ不足の線はなくなるか
23nobodyさん:2008/10/17(金) 16:50:34 ID:rOCd0HKd
質問
PHPをWEBから実行すると、
アパッチの設定により
ユーザーkawagoe
グループsaitama
の権限で実行され
パーミッション644
のファイルが作成されます。
これをPHPスクリプトを書きかえて
ユーザーsakai
グループoosaka
パーミッション664
でファイルを作成されるような方法はあるのでしょうか?
アパッチの設定は変更しないものとします

当方、RHE、PHP4です。
24nobodyさん:2008/10/17(金) 17:01:21 ID:???
>>23
スーパーユーザならchgrp、chownで可能
リモートファイルなら不可能
あとはマニュアルで
25nobodyさん:2008/10/17(金) 17:36:36 ID:???
>>23
Apacheがnobodyやwwwで動いているならsuexecだな
phpならsuphpか
どのみちCGIモードになるが
26nobodyさん:2008/10/17(金) 18:44:11 ID:XoljDjxd
質問します。

俺のサイトに雑談用とエロ用の二つの掲示板があるんだけど、
ネットワークが貧弱だから、負荷がかかってきたら両方アクセスできなくなる。
雑談用はリアルの友達も見るので、負荷がかかったらエロ掲示板にだけ制限をかけて
雑談用を生かして軽くしたいんだけど
そういうのってPHPで自動でコントロールできないですか?

「今何人が見ています」って出るサイトみたいに見てる人数えて
一定数超えると制限かけてもいいんだけど
見てる人が必ずしも重いページを連続で見てるわけじゃなかもしれないし
もっと正確に制限かけてみたいけどできますか?
27nobodyさん:2008/10/17(金) 20:06:26 ID:???
>>26
無理。
ってかPHPでやろうって発想がもうね・・・
剥いてないんじゃない?
2816:2008/10/17(金) 20:07:33 ID:KGeFGt4I
>>19-22
ほんとにありがとうございます
今用事から戻ってきました
max_execution_timeを引き伸ばしてテストっていうのやってみます

>>19
>OS側でファイルをロックしていると

すみません、この場合のファイルっていうのは何のことですか?
29nobodyさん:2008/10/17(金) 20:53:02 ID:???
>>26
自動でって意味が分からないけど。
工夫すれば出来るんじゃないかな。

普通に自宅サーバなら、新しくするとか2台にするとか考えたほうがいいかも
あとは掲示板自体の処理を軽くするとか。
30nobodyさん:2008/10/17(金) 21:09:11 ID:ic+FUvQs
ショッピングカート(エロゲ)とSNSを同時にやりたいのですが、
負荷は大丈夫でしょうか。
もうプログラムもできていて、サーバーははCeleron D
でメモリー1Gですが。ハードは160GBです。

31nobodyさん:2008/10/17(金) 21:19:07 ID:???
こんなとこで聞いてもわかるわけないだろ
負荷テストは自分でやれや
32nobodyさん:2008/10/17(金) 21:20:21 ID:XoljDjxd
>>29
自宅鯖です。

やっぱり人数制限するのがいいですかね。
一分間のアクセス数をカウントし
if(アクセス数 > 最大人数){
include エラーページ
またはリダイレクト
}else{
include エロ掲示板
}

他にいいアイディア無いかなぁ。
33nobodyさん:2008/10/17(金) 21:29:45 ID:???
本当にネットワーク負荷なのか?
だったらphpでできることなんてたかが知れてるぞ
34nobodyさん:2008/10/17(金) 22:15:07 ID:???
2chの危機をUNIX板住人を救ったとかいう「悪い」前例があるからな、いやあえて
日本人らしいと言えば日本人らしいけど
技術力を高めることよりサービスに注力すればリソースの増強が一番だよな
35nobodyさん:2008/10/17(金) 22:17:01 ID:???
>>34
誰が救ったん?
36nobodyさん:2008/10/17(金) 22:19:14 ID:???
お前
37nobodyさん:2008/10/18(土) 01:16:03 ID:???
>>28
プログラムが扱う外部ファイル(fopen等で)
共有モードならいいが、排他ロックしてるなら他のプログラムは待機させられる
で、ここでもタイムアウト、と
38nobodyさん:2008/10/18(土) 01:23:49 ID:ovI7JoE2
全スレ
>>924 です。
guid=ON で取得できなかった理由がわかりました。
i-modeでIMODE IDを発信にしていなかったためです。
ご迷惑をおかえkしてすみませんでした。
39nobodyさん:2008/10/18(土) 06:03:08 ID:iDAfIXK5
ソースってずっと何回も上から繰り返してるんですか?
mysql_connectとmysql_closeを入れてたら
接続と切断を繰り返してるんですか?
それとも一回だけ?
40nobodyさん:2008/10/18(土) 08:16:06 ID:???
書き方次第
41nobodyさん:2008/10/18(土) 08:31:19 ID:???
for(;;){
mysql_connect();
mysql_close();
}
とかアホなことでもやるのか?
42nobodyさん:2008/10/18(土) 08:47:53 ID:???
使い方知らないなら答えるなよ
43nobodyさん:2008/10/18(土) 09:03:55 ID:???
引数とか細かい処理ぬいて簡素化して聞いてるのに
使い方知らないなんてよくアホなこといえるな
見ればわかるだろ
44nobodyさん:2008/10/18(土) 10:35:10 ID:gcgVi4vG
聞きたいんですが、みんなDBとの接続処理とかはpearなどの機能を使ってるんですか?
adodbとか、、 あと各種FWとか
そういう機能を使ったほうがある程度効率的な開発のパッケージが最初から
出来てるからくだらない凡ミスも減ると考えたほうがいいんでしょうか?
45nobodyさん:2008/10/18(土) 10:53:43 ID:???
そのレベルでは標準関数使ったほうが吉
46nobodyさん:2008/10/18(土) 10:58:03 ID:???
組み込みクラスのPDO使えばいい
47nobodyさん:2008/10/18(土) 10:59:49 ID:???
不安ならPHPの処理の終わりに exit; なり入れてみたら?
48nobodyさん:2008/10/18(土) 11:26:22 ID:8hP8Ud/7
ファイル書き込みの際に、指定行に書き込むにはどうすればいいでしょうか?
簡単なソースでいいので教えていただけませんか?
よろしくお願いします。
49nobodyさん:2008/10/18(土) 11:28:09 ID:???
ないよ
50nobodyさん:2008/10/18(土) 11:38:48 ID:???
>>48
1回配列に読み込んで挿入したのを書き出すのが基本
51nobodyさん:2008/10/18(土) 11:45:25 ID:8hP8Ud/7
>>50
ありがとうございます。
その方法でやりたいと思います。
52nobodyさん:2008/10/18(土) 12:21:26 ID:???
>>44
sqlインジェクション等のセキュリティ対策にもなるから使用する。
それらの勉強も含めて標準関数でやってみるのも良いかと。
でも、作りたい物あるならさっさと導入したほうが楽な気もする。
53nobodyさん:2008/10/18(土) 13:00:10 ID:StJfJoYV
list($hon,$mi)=explode("|",$chi) ;
list($title,$url,$saishu,$touroku,$bikou)=explode("@",$hon);

Parse error: syntax error, unexpected '@' in C:\xampp\htdocs\link_edit.php on line 77

とのことです。
54nobodyさん:2008/10/18(土) 13:07:07 ID:???
そうですか
55nobodyさん:2008/10/18(土) 13:09:12 ID:???
'@'
56nobodyさん:2008/10/18(土) 14:15:30 ID:StJfJoYV
事故解決したとのことです
57nobodyさん:2008/10/18(土) 14:48:49 ID:8hP8Ud/7
度重なる質問失礼します。

文字列を配列に変換するにはどうすればいいでしょうか?
当方の環境では、PHP4が使用されており、str_split関数を
使用することができません。。
58nobodyさん:2008/10/18(土) 15:00:44 ID:???
関連関数を見るといいよ
59nobodyさん:2008/10/18(土) 15:01:35 ID:???
>>57
ファイル書き込みの際といってるんだから
ログかなんかのファイルがあるんだろう?
fileで読めば改行ごとに配列に入るよ
60nobodyさん:2008/10/18(土) 15:14:55 ID:8hP8Ud/7
すみません、自己解決しました。
http://php.benscom.com/manual/ja/function.str-split.php
note_04-Aug-2008 04:20

>>58-59
別のコードでの質問でした。
本当にありがとうございました。
61nobodyさん:2008/10/18(土) 15:51:36 ID:???
別のコードって何だ。つまり57が嘘だったってことかよ。
62nobodyさん:2008/10/18(土) 16:39:56 ID:8hP8Ud/7
>>61
そういう事ではありません。

59さんは、48の質問(ファイル書き込み)の過程で、文字列を配列に
変換する必要が出てきたと思われたのです。
しかし実際にはファイル書き込みの過程で必要になった訳ではなく、
別のコード(関係のないところ)で必要になったのです。

誤解を招くを書き込みしてすみませんでした。
63nobodyさん:2008/10/18(土) 17:50:31 ID:gcgVi4vG
>>52
なるほど ありがとうございました


質問です、foreachを使って要素が10こある配列の
2個目から5個目までを書き出したいとき、どんな風に書いたらいいですか?
forなら for($i=1; $i<4; $i++){}だろうと思うんですが、、
64nobodyさん:2008/10/18(土) 19:11:11 ID:???
>>63
forでいいじゃん

foreachでやるなら初期値0の適当な変数用意して

$count = 0;
foreach($list as $valie) {
$count++;
if ($count > 2 && $count < 5) {
echo $value;
}
}

とか?
65nobodyさん:2008/10/18(土) 19:16:57 ID:???
countはいらんだろ
66nobodyさん:2008/10/18(土) 20:49:55 ID:???
切り取る関数あるだろ
67nobodyさん:2008/10/19(日) 13:15:27 ID:VVm7alzF
$targetとarray('foo', 'bar')と$varの3つを渡すと、
$target['foo']['bar'] = $var; をセットしてくれるような
処理ってうまい方法ないですか?

evalでやるなら、

function hoge(&$target, $keys, $var) {
$name = sprintf("\$target['%s']", implode("']['", $keys));
eval($name.' = $var;');
}

こんな感じなのですが、evalは使いたくないのです。
68nobodyさん:2008/10/19(日) 13:17:21 ID:???
function hoge(&$target, $keys, $var){
$target[$keys[0]][$keys[1]] = $var;
}
6967:2008/10/19(日) 13:26:51 ID:VVm7alzF
thx!
でも、それだと$keysがarray('foo', 'bar', 'boo')だとセットされないんですよね。
この場合$target['foo']['bar']['boo']に$valをセットしたいのです。
7067:2008/10/19(日) 13:32:21 ID:???
補足すると、$keysの要素の数は不定にしたいです。
eval使えば簡単なんだけど・・・
71nobodyさん:2008/10/19(日) 13:46:24 ID:???
再帰使えばいいじゃん
eval使うほうがめんどい
7267:2008/10/19(日) 13:59:09 ID:???
>71
getする関数は再帰で書いたんですが、
再帰でsetする関数がどうにも思いつかないんですよ。
もうちょっとヒントもらえるとうれしいです。
73nobodyさん:2008/10/19(日) 14:00:16 ID:???
getできてるんならもう9割方できてるようなもんじゃん
ちょっと変えるだけだよ
7467:2008/10/19(日) 14:34:04 ID:???
> 73
ほんとだ、できた。アドバイスthxでした。
75nobodyさん:2008/10/19(日) 14:41:40 ID:w27rzwDg
XPsp3でPHP5.2.6、apache2.2.9です。
10月分のWindowsUpdateを行うと、
crypt関数の戻り値が違ってしまうのですが、
同様な現象の方、いますでしょうか?
76nobodyさん:2008/10/19(日) 15:05:34 ID:???
例示しなさい例示
7775:2008/10/19(日) 16:18:04 ID:w27rzwDg
例示します。
まず、WindowsUpdateは関係ありませんでした。
ソースは下記です。

<?php

for ($j=0; $j<10000; $j++) {
for ($i=0; $i<5; $i++) {
$kekka = angou($dummy);
echo $kekka." ";
};
echo "<br>\n";
};

return;

function angou($dummy) {
$f_str = "aaaaaaaa";
$f_salt = "aa";
$f_kekka = crypt($f_str,$f_salt);
return $f_kekka;
};

?>

これを鯖、WinXPsp3、PHP5.2.6、apache2.2.9で動かします。
IE6でテストしたのですが、単純に表示すると、
aakcR08PK3l1oが羅列されます。
が、F5連打を行うと、aakcR08PK3l1oの羅列の中に
aaFpkQMBggD8Aというような文字列が混じります。
多重処理関係で、PHPの基本がなっていないのでしょうか?
どうか、ご教授願います。
78nobodyさん:2008/10/19(日) 16:30:41 ID:???
ほんとだ、たまに変なの混ざるw 面白いね
79nobodyさん:2008/10/19(日) 17:00:11 ID:cbDAkf2P
質問

PHP で作られた wordpress っていうブログ用ソフトなんだが、
メールアドレスの入力で、
localhostを入れると

「エラー: メールアドレスが不正です。」

って出てしまうんだが、これって回避するには
どうしたらいいの?すごい困るんだが。

おそらく、メールアドレスの形式のチェックルーチンがあって、
そこで、@の右側がドット無しで1ブロックしかなければ
「不正」
って判断するアルゴリズムだと思うんだが、ソースコードの
どこを修正すればいいのかな?
80nobodyさん:2008/10/19(日) 17:09:46 ID:???
PHPって再帰処理できたっけ
81nobodyさん:2008/10/19(日) 17:15:07 ID:???
できないのなんてあるんか

>>79
なんでlocalhostを入れたがるのか分からんからすごい困る
82nobodyさん:2008/10/19(日) 17:33:43 ID:???
>>81
ローカルの実験環境に入れたいんじゃない?
8375:2008/10/19(日) 17:38:30 ID:w27rzwDg
>>78
   〃∩ ∧_∧
   ⊂⌒(  ・ω・)    面白いでしょ?
     `ヽ_っ⌒/⌒c
        ⌒ ⌒

  ∧_∧
⊂(#・д・)  って、cryptの返り値が変わったらダメだろ!!!
 /   ノ∪
 し―-J |l| |
         人ペシッ!!
       __
       \  \
          ̄ ̄

誰か代替案を教えてください。
84nobodyさん:2008/10/19(日) 17:42:23 ID:???
cryptを使わない
8575:2008/10/19(日) 17:47:02 ID:w27rzwDg
>>84
cryptを使わないでmcryptで出来ないか、ググってます。
どういうモジュールを使っても、cryptの結果が欲しいのです。
86nobodyさん:2008/10/19(日) 17:47:57 ID:cbDAkf2P
>>81
xampp + wordpress で
自分のパソコンの中に入れてるからです
87nobodyさん:2008/10/19(日) 17:49:42 ID:cbDAkf2P
>>82
そうです。localhost ドメインのメアドだったら
10個でも20個でも、いくらでも発行できますので。

コメントが新たに書き込まれるたびに
自分のメールアドレスに通知がくる、という
機能とかがあったりするのですが、そういう実験に
使います。
88nobodyさん:2008/10/19(日) 18:03:05 ID:???
エラーメッセージから逆に辿ってけば見つけられるでしょ
8975:2008/10/19(日) 18:03:53 ID:w27rzwDg
すみません。お願いします。
cryptの結果と同じになるmcryptの
コーディングを教えてください。
mcryptよく分かりません。
90nobodyさん:2008/10/19(日) 18:05:05 ID:???
なんでcryptじゃないとだめなの?
91nobodyさん:2008/10/19(日) 18:05:43 ID:???
>>79
[127.0.0.1]でもダメ?
9275:2008/10/19(日) 18:18:47 ID:w27rzwDg
>>90
cryptの返り値のデータが既存である為です。
93nobodyさん:2008/10/19(日) 18:21:27 ID:cbDAkf2P
>>91
登録したいメールアドレスは

aaa@localhost

なのですが、

[email protected]

で試してみろという趣旨でしょうか?
94nobodyさん:2008/10/19(日) 18:22:50 ID:???
aaa@[127.0.0.1]ってこと。
ていうか試してから聞き返してくれるかな。
95nobodyさん:2008/10/19(日) 18:23:39 ID:???
>>92
crypt = DES
96nobodyさん:2008/10/19(日) 18:28:15 ID:???
>>93
つかlocalhostにメールサーバー立ってるの?
立ってないなら自分のプロバメールでもフリーメールでも
届くアドレスを登録すりゃいいだけの話だと思うんだが
97nobodyさん:2008/10/19(日) 18:32:07 ID:???
>>93
WPのスレもあるわけだが
WordPress (ワードプレス) その9
http://pc11.2ch.net/test/read.cgi/blog/1217601429/924924
9875:2008/10/19(日) 18:37:58 ID:w27rzwDg
>>95
もう、ダメだ。。。
朝から悩んで疲れ果てた。
今日中に対応したいけど、
もう眠い。
99nobodyさん:2008/10/19(日) 18:42:07 ID:cbDAkf2P
>>94
なにそれ?
スクエアブラケットでIPを囲まないとだめなんだっけ?
100nobodyさん:2008/10/19(日) 18:43:25 ID:cbDAkf2P
>>96
立ってる。xampp だから、マーキュリー。
てか、自分のプロバイダメールとかなら、
マーキュリーから送信できたのは確認済み。

wordpress で localhost がメアドとして
登録できないのが今の問題なの。
101nobodyさん:2008/10/19(日) 18:48:07 ID:???
いやだからソース見ろよ
102nobodyさん:2008/10/19(日) 18:48:23 ID:???
>>99
IPアドレス直で指定する場合の書き方。囲んでおかないとmxを引こうとする。
で、試したの?
103nobodyさん:2008/10/19(日) 18:49:52 ID:???
つかwordpressのどこの機能で入力する話だよ
メールアドレス入力する場所複数あるじゃん
104nobodyさん:2008/10/19(日) 19:13:39 ID:cbDAkf2P
>>101
ソースは見てるよ。ボケ
105nobodyさん:2008/10/19(日) 19:24:33 ID:cbDAkf2P
106nobodyさん:2008/10/19(日) 19:26:14 ID:cbDAkf2P
MXレコードってなんだっけ?
ああ、、、またぐぐらないといけないのか、、、
ただブログソフトを使いたいだけなのに、、、
107nobodyさん:2008/10/19(日) 19:26:58 ID:cbDAkf2P
ひとつのことを勉強しようとすると
わからないことがあらたに3つでてくる、
この現象に名前をつけようぜ
108nobodyさん:2008/10/19(日) 19:37:04 ID:???
馬鹿の考え休むに似たり
109nobodyさん:2008/10/19(日) 19:42:06 ID:cbDAkf2P
メールアドレスの入力のとき、
入力されたメールアドレスの形式が
正しいかどうか、チェックする、
割とありふれたルーチンですよね。

でもローカルホスト内でテストするときに
localhostって入れられないのは
はっきりって迷惑ですよ。

もうちょっと考えてアルゴリズム組めよと。
110nobodyさん:2008/10/19(日) 19:45:01 ID:???
じゃあwordpress使うなよ
111nobodyさん:2008/10/19(日) 19:51:23 ID:???
>>104
死ね。ソース見てるならすぐ分かるのに見当違いな方向に取り組んでるのは見てない証拠。
お前みたいなのはスレ違いだからとっとと消えろ
112nobodyさん:2008/10/19(日) 19:57:29 ID:cbDAkf2P
>>111
警察に通報しました。
113nobodyさん:2008/10/19(日) 20:03:46 ID:???
そもそもメールアドレスの形式として、hogehoge@localhostってRFC的にいいんだっけ?

アドレスチェックがピリオドが含まれているかで正当性を見てるなら、
localhost.localdomain で解決できるようにすりゃいいだけの話の気もするが。
114nobodyさん:2008/10/19(日) 20:10:11 ID:???
メールアドレスのチェックなんてZend Framework使えばいいだろ
115nobodyさん:2008/10/19(日) 20:15:16 ID:???
>>113
本来mx引けないドメイン名はNGだからな。
あとは>>94の方法しかないんだけどwordpressが弾くなら仕方ないんじゃね。

で、まぁwordpress依存の話は>>97専用スレの方が早いと思うんだ。
116nobodyさん:2008/10/19(日) 21:14:14 ID:???
俺なら引っかかった瞬間諦めてGmail使う。
Gmailも擬似無限メアド機能あるしな。
試験したいのがそれでできない事ならhosts書き換えて適当なドメインを自称する。
117nobodyさん:2008/10/19(日) 21:22:03 ID:cbDAkf2P
hostsファイル書き換えについては試したんだが、
IPアドレスをドメインに変換する機能なのでできなかった。
11875:2008/10/19(日) 21:26:39 ID:w27rzwDg
>>77をお願いします。
119nobodyさん:2008/10/19(日) 21:27:19 ID:???
いや、hostsファイルの役目はその逆だろw
120nobodyさん:2008/10/19(日) 21:28:52 ID:???
>>118
mcryptはどうしたんだよ
12175:2008/10/19(日) 21:34:41 ID:w27rzwDg
>>120
ごめん、簡単に回答が得られるなら、有難いと思って。
明日以降、夜しか、調べられないのよ。。。
122nobodyさん:2008/10/19(日) 21:48:25 ID:???
>>117
なんでvalidateしてるとこ見つけて変更しないんだ?
検索かけりゃすぐなのに

>>121
パスワードクラックでもしようとしてんの?
123nobodyさん:2008/10/19(日) 21:52:59 ID:???
>>121
環境無いから試してないけど、OS依存の問題ならmcryptでも
発症する可能性あるし、今は諦めて寝た方が良いんじゃない?
あとはlinuxでも立てるかw
124nobodyさん:2008/10/19(日) 22:44:21 ID:???
378 名前: nobodyさん [sage] 投稿日: 2008/10/19(日) 22:21:50 ID:???
http://wordpress.xwd.jp/
これってなんでつながらないの?
379 名前: nobodyさん [sage] 投稿日: 2008/10/19(日) 22:42:58 ID:???
知らねぇよw
125nobodyさん:2008/10/19(日) 22:44:50 ID:???
Text_WikiでMediawikiのパーサー使ってるんだけど、
HTMLタグは一切使えない(エスケープされる)って認識でいいかな。
実際のMediawikiで許可されている<pre>とかは使えるけれど
そこまでの互換性はないってことで。
126125:2008/10/19(日) 23:11:04 ID:???
Text_Wiki::singleton(’Mediawiki’, $rules);
で$rules配列に'Code'を追加したら
<code>タグが使えるようになった。
とりあえず解決。
127nobodyさん:2008/10/20(月) 00:06:36 ID:cbDAkf2P
hostsファイルに

127.0.0.1 vYw3Ccm.com

って書いて、上書き保存して、windowsを再起動して、
そんでメアドに
[email protected]
って書いて、そこにメール出したら
自分のパソコンの中でメルサバが動いていたら、
[email protected]にメールが届くの?
128nobodyさん:2008/10/20(月) 00:13:55 ID:???
mxレコードとMTAの設定次第
129nobodyさん:2008/10/20(月) 00:31:31 ID:???
そこまで考えといてなんで試さんの?
130nobodyさん:2008/10/20(月) 00:39:37 ID:???
というかもうphp関係ねぇw
131nobodyさん:2008/10/20(月) 00:57:54 ID:clvu88HY
>>129
メールサーバーの設定でアカウント発行するじゃん。それは
どうすればいいのかなぁ?

たしかaaaしか登録できなかったような気がする
132nobodyさん:2008/10/20(月) 00:58:22 ID:???
なんでソース編集せんの?
133nobodyさん:2008/10/20(月) 01:08:26 ID:clvu88HY
ソースは見たんだが、どこを編集したらいいのかがわからん。
134nobodyさん:2008/10/20(月) 01:22:38 ID:???
人の言うことちっとも聞かないなコイツ
135nobodyさん:2008/10/20(月) 01:25:50 ID:???
回答見逃してる時点でもうダメだろw
136nobodyさん:2008/10/20(月) 15:46:36 ID:KLo16bM1
串を弾きたいんだけど、本格的にやるとしたらどんな方法がありますか?

@PHP 5.2.5
137nobodyさん:2008/10/20(月) 15:47:04 ID:???
BBQ
13875:2008/10/20(月) 20:06:31 ID:7cNHWpvS
mcryptをインストールしたのですが、以下のエラーが出ます。
dllはあります。何故でしょうか?


PHP Warning: PHP Startup: Unable to load dynamic library 'C:\\PHP\\ext\\php_mcrypt.dll' -
\x8ew\x92\xe8\x82\xb3\x82\xea\x82\xbd\x83\x82\x83W\x83\x85\x81[\x83\x8b\x82\xaa\x8c\xa9\x82\xc2\x82\xa9\x82\xe8\x82\xdc\x82\xb9\x82\xf1\x81B\r\n in Unknown on line 0
139nobodyさん:2008/10/20(月) 20:27:09 ID:???
php.iniの設定ミス
140nobodyさん:2008/10/20(月) 20:35:42 ID:???
「指定されたモジュールが見つかりません。」つってるからpathがおかしいんじゃね?
パス区切り「\\」にする必要あったっけ?
141nobodyさん:2008/10/20(月) 20:38:25 ID:???
>>138
お前、mcryptの使い方以前にインストールすらできてなかったのかよ・・・
14275:2008/10/20(月) 20:54:01 ID:7cNHWpvS
ひどい言われ方だな。。。

php.iniはmbstringをインストールした時と同様の方法。
mbstringについてはエラーは出ていない。
php.iniは以下。

[PHP_MBSTRING]
extension=php_mbstring.dll
[PHP_MCRYPT]
extension=php_mcrypt.dll

c:\php\extには
php_mcrypt.dll
がしっかりとある。

ググった結果↓と同じ現象だと思う。
http://bbs.php.gr.jp/topic-post251.html
143nobodyさん:2008/10/20(月) 20:56:44 ID:???
この程度でひどい言われ方だとかって・・・。
煽り要素なんて皆無じゃないか。数値で言うと0%。
ちなみにこのレスは10%くらい。
このスレの住人が本気出したらもっとすごいよ?
あと質問はシラネ
14475:2008/10/20(月) 21:01:13 ID:7cNHWpvS
> あと質問はシラネ

おいぃ。。。
145nobodyさん:2008/10/20(月) 21:01:55 ID:???
すまん大事なこと言い忘れてた
「この程度で被害妄想抱いてるなら向いてないからPGやめたほうがいいよ?」
14675:2008/10/20(月) 21:02:51 ID:7cNHWpvS
>>145

被害なんて思ってないよん。
147140:2008/10/20(月) 21:17:34 ID:???
>>142
ひどい言い方って俺のこと? バイナリデコードまでしたのになぁ。

まぁさておき、そのmcryptのdllどこで拾ってきた?
148nobodyさん:2008/10/20(月) 21:19:52 ID:???
つかlibmcrypt.dllはどこに置いたんだ
14975:2008/10/20(月) 21:55:45 ID:7cNHWpvS
>>147
酷い言い方について<いいえ。

php-5.2.6-win32-installer.msiのインストーラの
extensionsのMcryptを選びました。
15075:2008/10/20(月) 21:56:20 ID:7cNHWpvS
>>148
libmcrypt.dllが別途、必要なのですか?
151nobodyさん:2008/10/20(月) 21:58:23 ID:???
>>150 無論必須。
152nobodyさん:2008/10/20(月) 22:00:03 ID:???
>>121の時点でもうコイツに回答してやる気になれない
15375:2008/10/20(月) 22:06:48 ID:7cNHWpvS
>>151
ちと、調べてみる。
15475:2008/10/20(月) 22:07:17 ID:7cNHWpvS
>>152
そんなこと言わないで
155nobodyさん:2008/10/20(月) 22:08:32 ID:???
>>ID:7cNHWpvS
条件反射でレスする前に、回答で貰ったキーワードでググって試してみる
くらいのことはした方がいいぜ。無駄なやり取りが増えるだけで先に進まん。
156nobodyさん:2008/10/20(月) 22:16:20 ID:???
◆質問する時の注意
・ 質問者として、態度をわきまえること。
157nobodyさん:2008/10/20(月) 22:43:23 ID:3TVBsqnm
戻り値として配列を返す関数funcがあったとして
帰ってくる配列の添え字”2”の値を変数$hogeに得るとき

perlなら
$hoge=func()[2];
という風に書けますが
PHPでは同様の事は出来ませんか?

今のところ
$temp=func();
$hoge=$temp[2];
このように書いていますが
これを一行で済ませたいのです
158nobodyさん:2008/10/20(月) 22:49:32 ID:???
無理
159nobodyさん:2008/10/20(月) 23:24:42 ID:???
>>157
array_sliceじゃダメ?
160nobodyさん:2008/10/21(火) 00:07:42 ID:???
>>159
それで行こうと思います
ありがとうございました
161nobodyさん:2008/10/21(火) 03:46:05 ID:???
オブジェクトでプログラムすればいいのに
162nobodyさん:2008/10/21(火) 05:35:54 ID:y7s7meGi
携帯Docomoでの入力なんですけど、DBにインサートすると全部?マークになってしまいます。
これはどうやって修正すればいいんでしょうか。
163nobodyさん:2008/10/21(火) 05:43:48 ID:???
文字コードを合わせる
164nobodyさん:2008/10/21(火) 06:20:10 ID:???
?でわっしょい365
165nobodyさん:2008/10/21(火) 12:58:49 ID:???
どうしても「さんさんさーん」にしか聞こえない
166nobodyさん:2008/10/21(火) 16:06:56 ID:hy+GOPAp
【PHPのバージョン】PHP5.26
【質問内容】
メソッドが取りうる引数の個数を知りたいんですが、何か方法あるんでしょうか?

class SampleClass
{
public function sampleMethod($arg1, $arg2, $arg3=null)
{
// 何かの処理...
}
}

と定義されているときに、SampleClassの外から、
sampleMethodが取りうる引数の個数(2〜3)を取得したんですが、
何かいい方法ないでしょうか?
よろしくお願いします。。。
167nobodyさん:2008/10/21(火) 16:13:19 ID:???
func_num_args()
168nobodyさん:2008/10/21(火) 16:21:17 ID:???
>>166
今のところない

ZendAPIをハックしてプロトタイプ宣言を取得するようなPECLでも作らんとな
169166:2008/10/21(火) 16:22:24 ID:hy+GOPAp
>> 167
ありがとうございます。

そして、質問が分かりづらい文ですみません。

sampleMethodの外で取得したいんです。
170166:2008/10/21(火) 16:29:18 ID:hy+GOPAp
>> 168
そうですか、ないですか・・・

ZendAPIいじるのは、今の自分の技量じゃきつそうですw

ご回答ありがとうございました。
171nobodyさん:2008/10/21(火) 18:18:57 ID:???
いやリフレクション使えばできるだろ

$method = new ReflectionMethod('SampleClass', 'sampleMethod');
echo $method->getNumberOfParameters(), PHP_EOL;
echo $method->getNumberOfRequiredParameters(), PHP_EOL;
17275:2008/10/21(火) 18:32:42 ID:eWc6AMKi
やっと、mcryptが使える状態になりました。
以下のようにコーディングしましたが、
結果がcrypt関数と違います。
mcryptと同様な結果にする為にはどうすれば良いですか?


$f_str = "aaaaaaaa";
$f_salt = "aa";

$f_kekka = mcrypt_ecb (MCRYPT_DES,$f_salt,$f_str,MCRYPT_ENCRYPT);
173nobodyさん:2008/10/21(火) 19:00:32 ID:???
>>172
目的は?
174nobodyさん:2008/10/21(火) 20:21:51 ID:???
mcryptのDESって64bitじゃなかったっけ?
175166:2008/10/21(火) 21:48:25 ID:hy+GOPAp
>>171
おかげ様で問題が解決しました!

どうもありがとうございました。
176nobodyさん:2008/10/21(火) 21:57:41 ID:???
>>172
無理だと思われ
177nobodyさん:2008/10/21(火) 22:30:46 ID:???
全く初心者ってわけではなく、perl、PHP、C++と順にやってきたものの、1つの言語をとことん突き詰めて勉強したことがない感じなんですが、最近PHPを細かいところまで網羅するような勉強をし始めようと思っています。

なんかそういう人間向けの参考書でオススメのあったら教えていただけないでしょうか。現場でコード書いてるのが一番かもしれませんが・・
178nobodyさん:2008/10/21(火) 22:50:47 ID:???
マニュアル
179nobodyさん:2008/10/21(火) 22:51:22 ID:???
PHPほどググレカスで済む言語はないような気がするが。
180nobodyさん:2008/10/22(水) 00:51:07 ID:hqciJXfD
simpleXMLでxmlデータを操作していると、「&」を入れようとするとエラーが発生します。
下記のコードでも同じエラーが起きました。
原因と対策方法を教えてください。

&を$amp;に変換するぐらいしか思いつきません。

$a = simplexml_load_string('<a><b>test</b></a>');
$a->b="&";
181nobodyさん:2008/10/22(水) 00:54:21 ID:???
お前は何を言ってるんだ
182nobodyさん:2008/10/22(水) 00:54:58 ID:???
> &を$amp;に変換するぐらいしか思いつきません。
まさにその通りだ
183nobodyさん:2008/10/22(水) 03:13:09 ID:???
http://jp.php.net/sessin
関係ないけどこれでもsessionのページに飛ぶのね
例の近似度を測るphpの関数使ってるのかな
184nobodyさん:2008/10/22(水) 07:01:49 ID:ydcrSA/W
質問です
php5とmysql5でプログラムしてます
SQLの検索文を実行して、2件が該当するのですが
($sqlResult = $db->Execute($sql文); として、
echo $sqlResult; すると2件入ってます)

count($sqlResult);すると 1 が返ってきます。
何が原因でしょうか?

Execute()と echo $sqlResultと count($sqlResult)の間には
何も処理をはさんでいません。
すみませんが回答よろしくお願いします。
185nobodyさん:2008/10/22(水) 07:25:34 ID:???
そりゃsqlResult変数にはsqlResultしか要素がないから1
186nobodyさん:2008/10/22(水) 07:34:47 ID:???
$db->Execute($sql文) の型と返り値は何か
echo $sqlResult で何が表示されるか
count($sqlResult) は何を意味するか
187nobodyさん:2008/10/22(水) 08:02:43 ID:ydcrSA/W
基礎的な間違いをしてるようですみません
すると、返ってきた件数を取得するにはどうしたらいいでしょうか?
188nobodyさん:2008/10/22(水) 08:34:11 ID:???
先に調べておいで
189nobodyさん:2008/10/22(水) 09:18:26 ID:???
そもそも$dbのクラスはなんだと言うんだ
妄想すればいいのか
190nobodyさん:2008/10/22(水) 11:42:32 ID:hqciJXfD
>>182
全て置換していれることにします。ありがとございます。

また、質問なんですが
hoge2が入っている要素を削除するため、$keyを取得しようとすると
配列のキーが取得できず、なぜか"b"が入っていて削除できません。
forで解決することもできますが、なぜこうなるのでしょうか?

$a = simplexml_load_string('<a><b>hoge1</b><b>hoge2</b><b>hoge3</b></a>');
foreach ( $a->b as $key => $value ) {
  print $key.':'.$value.'<br>';
}

--出力結果---
b:hoge1
b:hoge2
b:hoge3
191nobodyさん:2008/10/22(水) 12:00:44 ID:???
>>190
配列じゃないからだ
$a->b で思い切り「b」のリストを取得してんだからelement名のbがキーになるだろ
xpathあたりで要素を取り出してunsetすりゃいいんじゃね?
192nobodyさん:2008/10/22(水) 12:26:51 ID:???
PHP MANUAL 見たんですが、シンボルテーブルに関する詳しい説明のページってないですね。
どこかに公式のそういうのないでしょうか??
193nobodyさん:2008/10/22(水) 12:28:17 ID:GMcgCgHy
質問です
IISでphp5を動かしています

c:\aaaaa\php\http\hoge.php
から
c:\aaaaa\data\***.txt
など

webサイトより上のディレクトリを"絶対パス"で、見に行かせるのは
どういったパスを書けばいいのでしょうか?
194nobodyさん:2008/10/22(水) 13:02:03 ID:???
>>192
スコープならあるが?
メソッドの型のことを言ってるならPHPについて勉強してこい
PHPは関数・メソッドについて明示的な型を実装しません、ってなってるから

>>193
hoge.php内で各ならdirnameを2回コール
195nobodyさん:2008/10/22(水) 13:10:00 ID:???
>>193
絶対パスじゃ駄目なの?
196nobodyさん:2008/10/22(水) 13:56:08 ID:GMcgCgHy
ああああ、 \と/が混在してました
お騒がせしました、ありかどうございます
197nobodyさん:2008/10/22(水) 14:13:16 ID:???
ドキュメントルートがなぜhttpw
198nobodyさん:2008/10/22(水) 14:26:47 ID:???
>>197
例えにツッコむほど余裕がないのかお前は
199nobodyさん:2008/10/22(水) 14:27:32 ID:???
指摘されて涙目?w
200nobodyさん:2008/10/22(水) 16:44:13 ID:uFfcpDJb
下記ソートをすると、
<?
$a = 3;
$b = 1;
$c = 2;
$order = array(
"あ" => $a,
"い" => $b,
"う" => $c
);
sort($order, SORT_REGULAR);
print "<pre>";
print_r($order);
print "</pre>";
?>
結果は下記になります。
Array
(
[0] => 1
[1] => 2
[2] => 3
)
添え字がこわれます。
下記のようにしてソートされた添え字をゲットしたいのですが、どうしたらいいですか
Array
(
[い] => 1
[う] => 2
[あ] => 3
)
201nobodyさん:2008/10/22(水) 17:15:06 ID:???
asort
202nobodyさん:2008/10/22(水) 17:19:17 ID:???
ゆとりの秋はもう終わりです
人肌恋しい季節がやってきます
PHPマニュアルに包まれてヌクヌクしたいですね、幸せになれます
203nobodyさん:2008/10/22(水) 18:24:17 ID:???
添え字がこわれるw
204nobodyさん:2008/10/22(水) 23:41:52 ID:???
既出かもしれませんが、有効な情報をググり得なかったので、
質問させてください。SSL 環境下でのファイルのアップロードです。
※SSL 証明書は正しく発行されています。

以下のようなHTMLフォームを用意して、
<form action="<?php echo $_SERVER['SCRIPT_NAME']; ?>" enctype="multipart/form-data" method="POST" />
<input type="hidden" name="MAX_FILE_SIZE" value="<?php echo $maxfilesize; ?>" />
<input id="file" name="file" type="file" />

php で処理したいと考えているのですが、スクリプト内で、「print_r($_FILES);」しても
何の情報も取得できません。

この症状は、利用しているブラウザが、Windows XP/Vista 版の IE、最新版の Webkit で発生します。
Firefox 3.0.3、Safari 3.1.2 では正常に情報を取得することができます。

したがって、ブラウザ側の問題だと思うのですが、この問題を回避するためには、どしたら
良いのでしょうか。

アドバイスいただけますと幸いです。
205nobodyさん:2008/10/22(水) 23:48:07 ID:???
ブラウザ側の問題をなぜPHPスレで聞く
206nobodyさん:2008/10/22(水) 23:49:25 ID:FZ7gKE7K
>>204 です。ID だし忘れてたし、環境も書いていませんでした。orz
【OS名】FreeBSD 6.2
【PHPのバージョン】5.2.4
【連携ソフトウェア】なし
となります。スクリプトの内容はファイルを受け取って、
サーバーに保存するというものです。
207nobodyさん:2008/10/22(水) 23:51:43 ID:FZ7gKE7K
>>205
ブラウザ側の問題だとは思うのですが、PHP 作成者で、同じような状況に
陥った方がいないかと思ったのと、本当にブラウザの問題なのか、
不明であったために質問しました。
208nobodyさん:2008/10/23(木) 00:09:13 ID:???
コードを全部見せてください
209nobodyさん:2008/10/23(木) 00:23:11 ID:cEwU+RA6
全て見せるのは難しいですが、$_FILES を最初に参照している部分はこんな感じです。

if ($_FILES[$key]['size'] > 0) {
  $upfile_path = $_FILES[$key]['tmp_name'];
  $upfile_error = $_FILES[$key]['error'];
  ...
特にもってまわったことはしていないと思います。
if 文以前に print_r($_FILES) を記述しても、なにもセットされていません。
フォームタグが挿入されたHTMLはスクリプト内にインライン記述しています。
210nobodyさん:2008/10/23(木) 01:07:02 ID:???
再現できるコード(もちろんHTMLも含めて)を出してという意味
211nobodyさん:2008/10/23(木) 01:07:35 ID:???
最小限でおk
212nobodyさん:2008/10/23(木) 01:08:36 ID:cEwU+RA6
>>208
自前のスクリプトではありませんが、試してみたところ、
ttp://masago.kir.jp/php20030814.php
この頁に掲載されているサンプルスクリプトで試してみても、同じ症状が発生するようです。
$_FILES に情報がセットされない。
ただし、ブラウザから、ファイルのデータが送信されていないわけではないようです。
ためしに、3mb あるような大きなファイルを選択して submit すると、データを送信しきるまで、
しばらくタイムラグが発生しますし、その他の post データ($_POST)はきちんと送信されています。
213nobodyさん:2008/10/23(木) 01:09:51 ID:cEwU+RA6
>>212 の補足ですが、スクリプト本体は以下に掲載されています。
ttp://masago.kir.jp/phpsc.php?s=php20030814s.php
214nobodyさん:2008/10/23(木) 01:19:11 ID:???
iniでfile_uploadsがoffだったら怒るぞ
215nobodyさん:2008/10/23(木) 01:22:09 ID:???
>>213
いいから自分のやってる方法を出してよ
自分は正しいと思っててもうっかりミスがあるってことはよくあるんだから

フォーム書いてvar_dump($_FILES)するだけの4,5行のスクリプトならすぐ書けるでしょ?
それで実行結果がどうなるのか教えて

firefoxではアップロードできるんでしょ?
ならiniは問題ないと思うが俺予想だと多分HTMLの書き方に問題があるんじゃないかなー
216nobodyさん:2008/10/23(木) 01:38:22 ID:cEwU+RA6
こういう PHP をつくってサーバーにアップロードし、submit ボタンを押してみました。(改行除去しています。以下同)
<html><head><meta http-equiv="Content-Type" content="text/html; charset=EUC-JP" /></head><body>
<pre><?php var_dump($_FILES); var_dump($_POST); ?></pre>
<form action="test.php" enctype="multipart/form-data" method="POST" />
<input type="file" name="sample" />
<input type="text" name="textdesuyo" value="test desu yo" />
<input type="submit" />
</form>
</body></html>
で、以下のような出力を得ました。
array(0) {
}
array(2) {
["sample"]=> string(12) "test desu yo"
["submitbutton"]=> string(6) "Submit"
}
問題の発生しないブラウザ(Firefox)で試すと、以下のような出力を得ることができます。
array(1) {
["sample"]=> array(5) {
["name"]=> string(27) "test.jpg"
["type"]=> string(10) "image/jpeg"
["tmp_name"]=> string(18) "/var/tmp/php0XGaGr"
["error"]=> int(0)
["size"]=> int(281933)
}
}
array(2) {
["textdesuyo"]=> string(12) "test desu yo"
["submitbutton"]=> string(4) "実行"
}
217nobodyさん:2008/10/23(木) 02:00:35 ID:cEwU+RA6
どうも手際が悪くて申し訳ないです。
先ほどのサンプルで、<input type="hidden" name="MAX_FILE_SIZE" value="1000000" /> の記述が抜けていましたので、
これを追記して試したところ、問題の発生するブラウザで試した場合、
var_dump($_FILES); の結果は何じだったのですが、var_dump($_POST); の結果がえらいことになってしまいました。
array(4) {
["MAX_FILE_SIZE"]=>
string(7) "1000000"
["uploadesample"]=> string(291776) ...ここに意味不明の文字列(恐らくアップロードした画像ファイルの生テキスト)がはいる....
["textdesuyo"]=> string(12) "test desu yo"
["submitbutton"]=> string(6) "Submit"
}

これを見る限り、type="file" とHTML に明示しているにも関わらず、データが $_POST にいってしまっているようです。
なぜなんだろう??
218nobodyさん:2008/10/23(木) 02:11:24 ID:???
uploadesample要素とかどこから来たの?
219nobodyさん:2008/10/23(木) 02:15:25 ID:cEwU+RA6
すみません。
見通しよくするために、HTML 部分を次のようにしていました。
<form id="submitdata" class="form" action="test.php" enctype="multipart/form-data" method="POST" />
<input type="hidden" name="MAX_FILE_SIZE" value="1000000" />
<input type="file" name="uploadesample" /><br />
<input type="text" name="textdesuyo" value="test desu yo" /><br />
<input type="submit" name="submitbutton" />
</form>
220nobodyさん:2008/10/23(木) 02:20:16 ID:???
そのコードでやってみたら問題なくアップロードできたよ。
$_POSTと$_FILESのvar_dumpは以下。
array(3) {
["MAX_FILE_SIZE"]=>
string(7) "1000000"
["textdesuyo"]=>
string(12) "test desu yo"
["submitbutton"]=>
string(10) "クエリ送信"
}
array(1) {
["uploadesample"]=>
array(5) {
["name"]=>
string(12) "are11693.jpg"
["type"]=>
string(11) "image/pjpeg"
["tmp_name"]=>
string(26) "C:\WINDOWS\Temp\phpA8D.tmp"
["error"]=>
int(0)
["size"]=>
int(135498)
}
}
ちなみにXP+IE7
221nobodyさん:2008/10/23(木) 02:22:28 ID:cEwU+RA6
>>220
ありがとうございます。それは SSL 環境でオーケーだったということでしょうか?
222nobodyさん:2008/10/23(木) 02:29:54 ID:???
SSL環境でもやってみたけど出来たよ 自己証明だけど
223nobodyさん:2008/10/23(木) 02:38:11 ID:cEwU+RA6
Mac 版の Firefox 、Safari だと問題ないのですが、最新版の Webkit だと問題が発生します。
Windows XP + IE7 だと問題は発生しないのですね。テストしていただいてありがとうございました。
こちらは OpenSSL 0.9.7e-p1 25 Oct 2004 を使用しています。
問題が発生するブラウザでは、送信するファイルを文字列として送信しているのかな??
うーん。ますます分からん。。。
224nobodyさん:2008/10/23(木) 04:32:40 ID:cEwU+RA6
その後、自宅サーバーでも同じことをやってみましたが、SSL なしの環境でも
同じ現象が発生することが分かりました。となると、ブラウザに問題があるとしか
言いようがありませんね。
もしやと思って、そこらへんのアップローダーでも試してみましたが、やはり
アップロードできませんでした。対処法は分からずじまいのままですが、
あきらめムードにはいっております。

アドバイスをいただいた方々にお礼申し上げます。
225nobodyさん:2008/10/23(木) 08:45:30 ID:???
>>224
つ「インターネットオプション」「セキュリティー」
226nobodyさん:2008/10/23(木) 08:50:17 ID:cEwU+RA6
>>225
今手元にウインドウズマシンがないので、確認できないのですが、
どのオプションを変更すればよいのか教えてもらえないでしょうか?
227nobodyさん:2008/10/23(木) 09:26:29 ID:???
セキュリティソフトは?
対象のブラウザを監視してるとか
228nobodyさん:2008/10/23(木) 10:08:44 ID:cEwU+RA6
>>227
手元にある Mac では、セキュリティソフトを利用していないので
その可能性は低いと思います。
229nobodyさん:2008/10/23(木) 10:29:11 ID:???
・ログを確認する。
・送信するファイルを変えてみる。
・設定・仕様を見直す。
・複数のクライアント(マシン/ブラウザの種類・バージョン等)で確認する。
・複数のウェブサーバー(マシン/サーバーソフトの種類・バージョン等)で確認する。

230nobodyさん:2008/10/23(木) 11:02:02 ID:cEwU+RA6
>>229
その後、テキストファイルを送ってみたところ、
$_POST にテキストファイルの内容そのものがセットされていました。。
いずれにせよ、判断材料が少ないので本腰入れて調査してみます。
231nobodyさん:2008/10/23(木) 11:06:16 ID:???
そのブラウザ、multipart/form-dataを正しく解釈してないよな
POSTにテキストとかってモロにQUERYだし
232nobodyさん:2008/10/23(木) 11:20:06 ID:???
>>230
ところでそのブラウザってなに?
Google Chrome?
233nobodyさん:2008/10/23(木) 11:30:34 ID:cEwU+RA6
>>232
↓コレです。OS は MacOSX 10.5.5
http://webkit.org/
ウインドウズでは、Win XP、Vista の IE で不具合が生じるとの連絡だけを
受け取っている状況で、詳しいバージョン SP の有無まで確認できていません。

>> 231
おっしゃる通り、multipart/form-data を正しく解釈していないのだと思います。
不思議なのは、さんざんググってみても、このことについて言及したページを
探し当てることができないということです。こんなあからさまな不具合だったら、
すでに誰かが指摘していて当然だと思うのですが。
234nobodyさん:2008/10/23(木) 11:42:33 ID:???
ttps://bugs.webkit.org/show_bug.cgi?id=5760#c17
これは?
Apache側でKeepAliveが有効だとアップロード出来ないみたいにあるけど
235nobodyさん:2008/10/23(木) 11:45:07 ID:???
って全然PHP関係ねぇ
236nobodyさん:2008/10/23(木) 12:15:51 ID:cEwU+RA6
>>234
情報ありがとうございます! 
本番サーバーは、レンタルサーバーであり、apache で稼働していますが、conf ファイルの
内容は問い合わせてみなければ分かりません(多分 KeepAlive on になっていると思いますが)。
これはもう PHP で対処できる範囲を越えていますね。というか、考えられる問題の範囲が
広すぎます。また出直します。失礼いたしました。>>235
237nobodyさん:2008/10/23(木) 12:41:51 ID:???
Webkitをまんま使う奴なんて居るの?
238nobodyさん:2008/10/23(木) 12:49:20 ID:???
こういう簡単な処理を用意しておけば、ブラウザがどうやって
データを送信しているか確認するときに参考になるかもね。
http://tokyo.cool.ne.jp/shigetomo/perltips.html#8
239nobodyさん:2008/10/23(木) 13:23:47 ID:R/SfnL8z
GoogleAdSenseにログインして表示データを収得しようと思っています。
ttp://www.webmasterworld.com/google_adsense/3730583.htm
上記URLを参考にしましたが、ログイン出来ませんでした。
jsで飛ばされているようです。
postで送信するだけで良さそうに思いましたが、ソースファイルを除いても
formデータが見当たりませんでした。
収得できる良いアドバイスはありませんでしょうか?

240nobodyさん:2008/10/23(木) 13:37:14 ID:fEAN24MM
PHP初心者で始めて正規表現ってのを使おうと思いましたが
マニュアルみても理解できなかったのでご教授お願いします

文字列の中からa,c,d,eのどれかが1文字だけあるかを調べたいんですが
preg_match("/[acde]{1}/s", $str])
ではなんかうまく行きませんお願いします
241nobodyさん:2008/10/23(木) 13:50:11 ID:R/SfnL8z
>>240
どの様なエラーが出ましたか?
当方ではParse error: syntax error, unexpected ']' と出ています。
カッコが不必要です。

242nobodyさん:2008/10/23(木) 14:03:20 ID:???
釣りに見えてしかたない
243240:2008/10/23(木) 14:04:02 ID:fEAN24MM
すいません 後ろの]は余分でした
それを消してやるとエラーは消えましたが
どれか1文字だけってのができません
$str = "apple";
if (preg_match("/[acde]{1}/s", $str)){
echo '正常';
} else {
echo '異常';
exit();
結果→ 正常
どれか一文字だけなので異常ってだるようにしたいんです。
244nobodyさん:2008/10/23(木) 14:08:29 ID:???
1文字「だけ」の場合trueなら
/^[absd]$/
245240:2008/10/23(木) 14:19:53 ID:fEAN24MM
>>244
1文字だけの場合は $ で指定だったんですね
/^[absd]$/ にしてみたらちゃんとできました
どうもありがとうございます。
246nobodyさん:2008/10/23(木) 19:07:00 ID:vYlG5hmE
【OS名】 不明
System Linux 2.4.21-37.ELsmp #1 SMP Wed Sep 7 13:28:55 EDT 2005 i686
【PHPのバージョン】PHP Version 4.3.10
【連携ソフトウェア】
【質問内容】

外部のレンタルサーバでphpのコードを動かしています。
ここでjson関連の作業、jsonのデコードとエンコードを行いたいのですが、
php4でも動くライブラリはどこかで配布されていませんか?
自作だとあまりにも心もとなくて・・・。
247nobodyさん:2008/10/23(木) 19:13:08 ID:???
>>246
書いた後にphp4ってキーワードでググればいけるんじゃね、って思ったらありました。
お汚しすみません。
http://upgradephp.berlios.de/
248nobodyさん:2008/10/23(木) 22:19:39 ID:GN2wkDk9
フレームワークは何がおすすめですか?
日本語環境が整ったフレームワークをおしえてください。
249nobodyさん:2008/10/23(木) 22:50:52 ID:???
ZF
250nobodyさん:2008/10/23(木) 22:56:56 ID:???
Zendって日本語か?
251nobodyさん:2008/10/23(木) 22:57:54 ID:???
うん
252nobodyさん:2008/10/24(金) 00:18:45 ID:wH/GxTYw
ko
253nobodyさん:2008/10/24(金) 00:51:51 ID:???
みなさんフレームワークってどうやって使う?
インストールして使う?
それともclassだけ使う?
254nobodyさん:2008/10/24(金) 01:00:17 ID:MLCsRPQN
tikiwiki なんだが、記事を書いて、
「投稿」ボタンを押すと、画面が
真っ白になってしまうんだ。

でも、投稿はされてるみたいで、
いったんバックボタンでもどってみると、
記事へのリンクがちゃんと作成されてて、
そこをクリックすると、記事のページも表示されて、
読むこともできる。

しかし、なんで投稿ボタンを押したときに、
画面が真っ白になってしまうんだろう?

何が考えられる?

インストールのときにPHPのメモリの割り当てを
16MB以上にしろ、って書いてあって、
自動detectで32Mってなってたから、これはいいはずなんだけど。
255nobodyさん:2008/10/24(金) 01:01:29 ID:MLCsRPQN
ああまちがえた。
画面が真っ白になるときと、
object not foundになるときと、
2種類あるんだ。

object not foundになるときは
記事が保存される。

まっしろになるときは、保存されてないかんじ。
256nobodyさん:2008/10/24(金) 02:07:37 ID:???
>>254
HTML 内で指定された文字コードと実際の文字コードがあっていないと IE では真っ白になることがある。
ソース見てみても真っ白だったら、この可能性は消える。
257nobodyさん:2008/10/24(金) 03:20:06 ID:MLCsRPQN
>>256
ソース見ても真っ白です。
どのような可能性が考えられるでしょうか?

それと、真っ白になるときと、
object not foundになるときと、
2種類あるんです。

押すボタンによって違うようです。
258nobodyさん:2008/10/24(金) 03:33:57 ID:???
>>254
ここはPHPプログラムを書く人が質問するスレ
激しく場所を間違っているよ
259nobodyさん:2008/10/24(金) 03:42:18 ID:MLCsRPQN
設定をよくみたら、「PHPエラーを全部出力する」
というオプションがあるのを見つけました。

そこが空白になっていたので、チェックを入れました。
それでもう一度記事を投稿して、保存ボタンを押しました。

そしたら今度は真っ白でなくて、エラーメッセージが出ました。

Fatal error: Call to undefined method domdocument::loadHTML() in
C:\xampp\htdocs\tikiwiki\lib\HTMLPurifier\Lexer\DOMLex.php on line 62

こういうエラーです。

どういうことが考えられますでしょうか?
260nobodyさん:2008/10/24(金) 03:43:46 ID:???
>>259
だから板違いだって、そのwikiのスレかサポートでも行きなさい
261nobodyさん:2008/10/24(金) 03:45:04 ID:???
読んだ通り、定義されていないメソッドが呼ばれた。
→メソッドが読み込まれていない。
→パッケージ(?)が読み込まれていない。
という可能性を探ってみては。
262261:2008/10/24(金) 03:50:09 ID:???
>>258,260
って、そうなの?
263nobodyさん:2008/10/24(金) 03:51:21 ID:MLCsRPQN
line 62みたらこうでした

$doc->loadHTML($html);
264nobodyさん:2008/10/24(金) 03:53:22 ID:MLCsRPQN
>>261
もしかして、必要なパッケージがあって、
それをインストールしてないとか?
265nobodyさん:2008/10/24(金) 04:25:06 ID:???
xampp w
266nobodyさん:2008/10/24(金) 05:50:53 ID:MLCsRPQN
別フォルダ作って、新規インストールやりなおしてみた。
解決した。

さっきと違う点は、
見た目をデフォルトにした(さっきはスラド風の見た目を選択した)
言語をデフォルトの英語のままにした(さっきは日本語にした)
余計なモジュールを入れていない

この状態なら問題なく使える。
267nobodyさん:2008/10/24(金) 08:01:36 ID:+cPeoTU7
POSTデータとか数字を入力しても文字列としてPHPに渡るけど、
PDOのbindParamで明示的に型を指定しない場合、
数値カラムのwhere句に数値を渡したつもりでもクオーテーション付いてクエリ発効されちゃう?
268nobodyさん:2008/10/24(金) 09:24:45 ID:???
>>267
カラムの型に合わせるから問題なし
269267:2008/10/24(金) 10:23:15 ID:???
>>268
それはPDO側が?MySQL側が?
270nobodyさん:2008/10/24(金) 10:38:27 ID:???
PDOが

それにMySQL側としてもクオートの有無は影響受けん
スペースや記号、マルチバイトなどのスケープが必要な場合にクオートでSQLと値を区別してるだけだからな
271nobodyさん:2008/10/24(金) 14:23:08 ID:???
てか、入力値を素でSQLに与えてるのか?
272nobodyさん:2008/10/24(金) 17:10:10 ID:???
>>271
それは勘違いだな
PDOで「シングルクオーテーションが補完される」状況ってのはプリペアドステートメントだ
素のデータを「値」としてスケープして安全にSQLに放り込むってこった
頼りすぎるとLIKE文が大変なことに・・・
273nobodyさん:2008/10/24(金) 17:40:33 ID:56/ITrxj
SQLつながり質問させてください。

・WinXP
・Apache 2.2
・PHP5.2.6
・MySQL 5.1.28-rc-community
・phpMyAdmin 2.11.9.2

環境下でphpMyAdminを導入したんだけど、ログインするとこんなメッセージが出てきます。
------
お使いの PHP MySQL ライブラリのバージョン 5.0.51a が MySQL サーバのバージョン 5.1.28 と異なります。
これは予期しない不具合を起こす可能性があります。
------
PHP5.2.6でMySQL5.1系は動かせないんでしょうか。

## phpMyAdminの問題?
274273:2008/10/24(金) 17:53:25 ID:56/ITrxj
phpinfo(); で確認したら、mysql、mysqli、pdo_mysql のバージョンが全部 5.0.51a になってるから、これが原因かな。
でもこれ、PHP5.2.6のzipに一緒に入ってたやつなんだけど。
最新版のPHPに古いバージョンのAPIが入ってるってこと?
275nobodyさん:2008/10/24(金) 17:53:34 ID:???
>>273
PHPにはMySQLと接続する為の「ドライバ」が組み込まれる
そのソースが5.0系だって話
んで、稼働中のMySQLは5.1系ですよっと

Win版ってことだから、mysql5.1系用のPECL(dll)持ってくればいい
276nobodyさん:2008/10/24(金) 17:57:30 ID:???
5.0系が古いわけじゃないわな
安定版が5.0って訳だ
5.1は最新版

5.1のPHP5.2.6用ドライバもあるはずだから見つけてみな
277273:2008/10/24(金) 17:57:40 ID:56/ITrxj
>>275
ありがとうございます。
何で古いのが組み込まれてんでしょう……?

とりあえず、拡張ファイル探してきます。
ありがとうございました。
278276:2008/10/24(金) 17:58:33 ID:???
>>276
なるほど。
安定版のが入ってるんですね。
お騒がせしました。
279nobodyさん:2008/10/24(金) 17:59:04 ID:???
>>278 = >>273 です。
失礼しました。
280273:2008/10/24(金) 18:33:35 ID:???
見当たらない……。
pecl.php.net を探しても、ものすごい古いのしか出てきません。
いったいどこに……。
281nobodyさん:2008/10/24(金) 19:13:11 ID:cdUdh8xy
そうだ!MySQLを 5.0.51aにすればいいんだ
#とかいう
282nobodyさん:2008/10/24(金) 21:12:13 ID:???
>>270
http://www.geocities.jp/mickindex/database/db_optimize.html#LocalLink9
ここの9−7で暗黙の型変換を行っているとインデックスが使用されないという話があったから
int型カラムにPHPで数値をstring型としてbindParamすると型変換されちゃうのかと思ったのよ。
でもPDO側でテーブルのカラムの型を見て自動で調整してくれるなら大丈夫そうだ。
28375:2008/10/24(金) 22:00:53 ID:???
やっと解決した。
php.iniの
ignore_user_abort = Off
で解決。
284nobodyさん:2008/10/24(金) 22:02:47 ID:???
ほうほう、それで?
28575:2008/10/24(金) 22:39:26 ID:???
すまん。
解決しなかった。。。
286nobodyさん:2008/10/24(金) 22:55:34 ID:???
ほうほう、それで?
28775:2008/10/24(金) 23:03:25 ID:???
今、迷宮入りです。
288nobodyさん:2008/10/24(金) 23:23:59 ID:wH/GxTYw
289nobodyさん:2008/10/24(金) 23:52:53 ID:MLCsRPQN
tikiwikiの件ですが。

インストールするときに、見た目を

デフォルト
ベーシック
スラド風

の3つから選ぶのですが、このうち
デフォルト
を選んだときは問題が発生しません。
下の二つをえらぶと、問題が発生します。
これって開発元のバグなのではないでしょうか?
290nobodyさん:2008/10/25(土) 00:19:51 ID:???
>>288
なに、このご近所カラオケ道場w
291273:2008/10/25(土) 00:54:21 ID:???
本当、どこにあるんでしょうか。
いろいろ調べていますが、一向に見つかりません。
どなたかご存知の方、教えてくださると幸いです。
292nobodyさん:2008/10/25(土) 01:07:33 ID:???
わからないな。
winじゃないから自分の環境。
なんとかしてあげたいけど、ひとつ質問。
これはXAMPPでインスコですか?
それとも独自で個別でインストールですか?
PHP5.2.6のzipに一緒に入ってたやつなんだけど
って言う意味がわかりません。
個別に入れるのではだめなんですか?
phpMyAdminを使わないとだめですか?
293nobodyさん:2008/10/25(土) 01:08:30 ID:/VO9XWCz
もう寝るね。
294nobodyさん:2008/10/25(土) 01:09:35 ID:kW9o9Y2Y
>>291
xampにすれば解決するんじゃない?
295273:2008/10/25(土) 01:19:40 ID:???
>>292,293
ありがとうございます。

ついさっき、解決の糸口らしき記事を見つけ、試したところ mysql については解決したようです。(PDO、mysqliについてはまだですが)
ずっと php_mysql.dll を変更するものだとばかり思ってましたが、変更するのは libmysql.dll のようで……。
さらにネット上ではなく、MySQLのインストールディレクトリにあるものを既存の libmysql.dll と置換するだけでした。
確認したところ、APIは5.1.28-rcになっていました。

ずっとネット上を探していましたorz 灯台もと暗しもいいとこで。
無知がためにお騒がせしました。
ありがとうございました。
296nobodyさん:2008/10/25(土) 01:20:15 ID:???
安価ミス、>>292,294 です。
297273:2008/10/25(土) 01:24:04 ID:???
連続投稿ばかりで申し訳ないです。
PDO、mysqliについても>>295の方法で解決できています。

お騒がせしました。
298nobodyさん:2008/10/25(土) 03:12:32 ID:???
>>297
ドライバって言っちゃったのが悪かったか
libmysql.dllがドライバで、php_mysql.dllとかはインターフェースなのだよ、陥りやすい罠
299nobodyさん:2008/10/25(土) 07:30:44 ID:kW9o9Y2Y
wiki でiframeのタグを打つと勝手に変換されたり
勝手に無効化されたりするのはデフォなのか?

「HTMLタグを使えるようにする」ってチェックを入れても
勝手に無効化されるんだが?
300nobodyさん:2008/10/25(土) 07:32:55 ID:???
はぁ?
301nobodyさん:2008/10/25(土) 10:56:34 ID:???
はぁ?じゃねーよ
302たまちゃん ◆ExGQrDul2E :2008/10/25(土) 11:08:34 ID:bOwvvGF+
URLがテキストに何回登場するか調べるため、preg_match_allを使ったのですがうまく動きません。
どうすればいいか教えてください。
$text = "http://google.jp/
test
http://yahoo.co.jp/
";
preg_match_all("|(https?|ftp)(://[[:alnum:]\+\$\;\?\.%,!#~*/:@&=_-]+)|",$text,$match);
echo count($match);
です。
これでは、動かないでした。
303nobodyさん:2008/10/25(土) 13:23:15 ID:???
正規表現スレでどうぞ
304nobodyさん:2008/10/25(土) 13:50:19 ID:???
PHP 5.2.6
GLIB 2.36
GCC 3.4.3 で
PECLのFileinfo エクステンションを入れようとしているのですが、
コンパイルエラーでどうしてもとおりません。

Glibc2.3用のfileinfo.soをくれるというのでもかまいませんので、
ヒントいただけたらうれしいです。

/tmp/pear/download/Fileinfo-1.0.4/fileinfo.c -fPIC -DPIC -o .libs/fileinfo.o
/tmp/pear/download/Fileinfo-1.0.4/fileinfo.c: In function `zif_finfo_set_flags':
/tmp/pear/download/Fileinfo-1.0.4/fileinfo.c:339: error: void value not ignored
as it ought to be
/tmp/pear/download/Fileinfo-1.0.4/fileinfo.c: In function `_php_finfo_get_type'
305nobodyさん:2008/10/25(土) 13:50:48 ID:???
PHP 5.2.6
GLIB 2.36
GCC 3.4.3 で
PECLのFileinfo エクステンションを入れようとしているのですが、
コンパイルエラーでどうしてもとおりません。

Glibc2.3用のfileinfo.soをくれるというのでもかまいませんので、
ヒントいただけたらうれしいです。

/tmp/pear/download/Fileinfo-1.0.4/fileinfo.c -fPIC -DPIC -o .libs/fileinfo.o
/tmp/pear/download/Fileinfo-1.0.4/fileinfo.c: In function `zif_finfo_set_flags':
/tmp/pear/download/Fileinfo-1.0.4/fileinfo.c:339: error: void value not ignored
as it ought to be
/tmp/pear/download/Fileinfo-1.0.4/fileinfo.c: In function `_php_finfo_get_type':
/tmp/pear/download/Fileinfo-1.0.4/fileinfo.c:369: error: void value not ignored
as it ought to be
/tmp/pear/download/Fileinfo-1.0.4/fileinfo.c:413: error: void value not ignored
as it ought to be
make: *** [fileinfo.lo] Error 1
ERROR: `make' failed
306nobodyさん:2008/10/25(土) 14:03:59 ID:???
なんで>>1読まないんですか?
307nobodyさん:2008/10/25(土) 14:04:30 ID:???
というかスレタイも読んでないんですね
308305:2008/10/25(土) 14:11:46 ID:l6Hvkhtj
>>306,307

すみません。IDは自動的に出るものと思いこんでいました。

309nobodyさん:2008/10/25(土) 17:01:16 ID:???
テンプレもシカトですかそうですか
31075:2008/10/25(土) 19:06:20 ID:w0waPk7T
こんなコザカシイ対策をしてみたのですが、意味あるでしょうか?

<?php

sleep(1);

for ($j=0; $j<10000; $j++) {
for ($i=0; $i<5; $i++) {

$f_str = "aaaaaaaa";
$f_salt = "aa";
$kekka = crypt($f_str,$f_salt);
echo $kekka." ";

};
echo "<br>\n";
};

return;

?>
311nobodyさん:2008/10/25(土) 21:38:58 ID:???
処理内容はかわっとらんように見えるけど効果あったの?
312nobodyさん:2008/10/25(土) 21:54:59 ID:7yUUSlab
インストールでつまったorz
教えてください。

MySQLと連動させようと思っているので、MySQLを有効にしようと、php.iniの該当部分のセミコロンを外し、
extension=php_mysql.dll としました。
Apacheを再起動させ、phpinfo();を確認しましたが、mysqlの項が現れません。
Apacheのエラーログを見たところ、以下のようなエラーが発生していました。

PHP Warning: PHP Startup: Unable to load dynamic library 'c:/php/ext\\php_mysql.dll' -
\x83\x81\x83\x82\x83\x8a \x83\x8d\x83P\x81[\x83V\x83\x87\x83\x93\x82\xd6\x82\xcc\x83A\x83N\x83Z\x83X\x82\xaa\x96\xb3\x8c\xf8\x82\xc5\x82\xb7\x81B\r\n in Unknown on line 0

どうも、php_mysql.dllのロードに失敗しているようなのですが
・ extension_dir の設定も正しく、試しにmycryptを有効にしたところ、正しく動作しました。
・ ドライバのlibmysql.dllはシステムディレクトリへ移動済みです。

ほかにどのような原因が考えられるでしょうか、ご回答をよろしくお願いいたします。

WinXP SP3、Apache2.2、PHP5.2.5、MySQL5.1
313nobodyさん:2008/10/25(土) 22:09:47 ID:???
extension_dir
314nobodyさん:2008/10/25(土) 23:32:19 ID:snZUYzJG
$flag = mail($to,$subject,$body,$headers);

というふうにして、メールの送信が成功したか否かを確かめています。
それで、試しに宛先のないメールアドレスをtoに設定して送信したのですが、
$flagは1となり、成功したと出ます。

もしかして、存在しないメールアドレスでも
送信しようとする(送信成功)するのでしょうか?
315nobodyさん:2008/10/26(日) 00:03:01 ID:???
>>314
そのメールアドレスが存在するかどうかは配送するMTAじゃないと判断できない。
316nobodyさん:2008/10/26(日) 00:27:43 ID:???
>>315
そうですか・・。
では、$flagが受け取るのは単に
「mail関数が実行されたか否か」に過ぎないんですね・・。

思い切り勘違いしていました。ご指摘ありがとうございました。
317nobodyさん:2008/10/26(日) 01:09:57 ID:???
大手ECサイトのヨドバシドットコムが、サイトリニューアルから大規模な障害を3日間...
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail.php?qid=1220150877

506 :目のつけ所が名無しさん:2008/10/26(日) 00:47:20
大手ECサイトで、ここまで派手なリリース失敗は初めて見た。
エンジニア向けIT情報誌や関連サイトは、ぜひ取材して原因を明かして欲し
いは。
318nobodyさん:2008/10/26(日) 01:36:36 ID:???
ヨドバシぐらいだと、もっと大手のベンダがハード込みで売り込むのかと思ったがそうでもないのか
319nobodyさん:2008/10/26(日) 02:38:23 ID:???
>>318
いや、たぶんその通りなんだけどアプリ(CMS)の構築を委託した先が
色々とダメだったっぽい。
320312:2008/10/26(日) 02:53:52 ID:???
とりあえず、いろいろなモジュールを有効にして試してみましたが、PDOのpg_sqlもダメっぽいです。
いったい何なのでしょうか、これは。

>>313
それでも、php_msspl.dllは有効にすると読み込まれます。
php_mysql.dllも同じディレクトリに入っているので、extension_dirに間違いはないようです。
321312:2008/10/26(日) 03:01:46 ID:F54UWI3p
ごめんなさい、php_pdo_pgsql.dllは有効になっていました。

pgsql系、mssql系、splite系は有効にすると項目が現れます。
が、mysqlのときには php_mysql、php_mysqli、php_pdo_mysql、すべて>>312のエラーメッセージを残して有効になりません。
libmysql.dllをphpのインストールディレクトリやApacheのbin配下に動かしたり、MySQLに付属しているものに差し替えたりしていますが、
一向に改善される気配なしです。

>>313
extension_dir については念入りに調べましたが、症状がmysql系に集中していて他の拡張は問題なく動くので
extension_dir には問題はないと思います。

またインストールしなおしたほうがいいのかな……orz
322nobodyさん:2008/10/26(日) 03:01:53 ID:???
バージョンが合ってない
323nobodyさん:2008/10/26(日) 03:02:29 ID:???
>>320
libmysql.dllの設置場所じゃねぇか?

あと「Unable to load dynamic library」ってなる時は、
PECL自体の動的リンクライブラリが読み込めないことが原因ってのが多いからな
今回だと「libmysql.dll」の可能性が高い
extension_dirが間違ってる場合はまた別の話
324nobodyさん:2008/10/26(日) 03:15:27 ID:???
libmysql.dll は WinXP SP3なのでC:/WINDOWS/system32 配下においています。
PHPに付属してくるもの、MySQLに付属してくるもの、両方を試してますが、どちらもダメでした。

PHPを 5.2.6 に変えてみましたが、やはり同じエラーがでました。
PHP5.2.5/5.2.6 に対して MySQL5.1.20-beta は動かせないのでしょうか。
325312:2008/10/26(日) 03:33:50 ID:F54UWI3p
ダメだ、MySQLどころかPgSQLまでUnable to.... になってしまった。
extension_dir は正しくて、かつその中に存在しているのに読み込めないとはこれいかに。
libmysql.dllもシステムディレクトリにあるのに。

よくわからないのでもう寝ます……。
326nobodyさん:2008/10/26(日) 03:37:35 ID:???
システムを再起動してない
327nobodyさん:2008/10/26(日) 03:44:58 ID:???
原因は忘れたけど、新規にPHP+MySQL環境作ろうとして失敗したことは
たまにあったなあ。バージョン換えるとかしてみれば?
328nobodyさん:2008/10/26(日) 14:32:48 ID:???
>>317
>キノトロープ
こんなところに任せるから「使えない」サイトになるんだよ。
見た目は良いかも知れないが。
329nobodyさん:2008/10/26(日) 21:24:08 ID:yQxxK44o
iphoneに対応したperl/cgiかphpのBBSはありませんか?
330nobodyさん:2008/10/26(日) 21:25:47 ID:???
perlは除外してください。
スレ違いでした。すいません。
331nobodyさん:2008/10/26(日) 21:32:29 ID:???
iphone対応って要するにsafari対応?
332nobodyさん:2008/10/26(日) 21:34:09 ID:yQxxK44o
いえ、iphoneのレイアウトに対応したBBSが欲しいと思っています。

けどgoogleなどで検索しても対応しているBBSが出てきません。
333nobodyさん:2008/10/26(日) 23:03:14 ID:???
iphoneのレイアウトに対応って具体的にどんなんか知らんが、CGI探しなら板違い↓

こんなCGI探してます 23
http://pc11.2ch.net/test/read.cgi/hp/1219654359/
334nobodyさん:2008/10/27(月) 00:36:51 ID:???
>>333
リンクありがとうございます
335nobodyさん:2008/10/27(月) 02:22:19 ID:5yuC5xwT
iPhone対応のBBSじゃなくてchatならあるけど。
chatができればbbsもできるんじゃないだろうか?
http://ajaxmyadmin.lolipop.jp/AjaxChat/
336nobodyさん:2008/10/27(月) 03:52:18 ID:tp6YAsYQ
PHPはじめたばかりなんですが、なぜか「->」の部分を終了タグと誤認してしまうみたいでプログラムがうまく動きません
解決策がわかる人がいたらよろしくお願いします
337nobodyさん:2008/10/27(月) 03:55:14 ID:???
それを終了タグと誤認することはない
338nobodyさん:2008/10/27(月) 04:03:09 ID:???
>>336
どんなソースが実際にそうなるか、そのままを張ればいい。
339nobodyさん:2008/10/27(月) 04:54:07 ID:tp6YAsYQ
340nobodyさん:2008/10/27(月) 04:58:08 ID:???
ソースファイルを上げてみろ
34175:2008/10/27(月) 06:10:50 ID:GQs1gERt
>>311
効果なかったです。。。
34275:2008/10/27(月) 06:16:16 ID:GQs1gERt
誰か対策を教えてください。
F5連打すると変な値が返ってくるんです。><

<?php

for ($j=0; $j<10000; $j++) {
for ($i=0; $i<5; $i++) {

$f_str = "aaaaaaaa";
$f_salt = "aa";
$kekka = crypt($f_str,$f_salt);
echo $kekka." ";

};
echo "<br>\n";
};

return;

?>
343nobodyさん:2008/10/27(月) 06:41:34 ID:???
>>342
再現できないけど?
344nobodyさん:2008/10/27(月) 07:02:51 ID:???
>>339
拡張子がおかしいんだろ
エラーが出るわけでもないしphpが動作してないじゃん
345nobodyさん:2008/10/27(月) 07:05:18 ID:???
DOSアタックの対策について話し合うスレはどこですか?
こういうの↓
http://old.forum.joomla.jp/component/option,com_smf/Itemid,0/topic,396.0/
346nobodyさん:2008/10/27(月) 07:11:02 ID:???
少なくてもWebProgじゃないだろ
セキュリティとかネットワークとかじゃね?
347nobodyさん:2008/10/27(月) 09:58:43 ID:???
>>342
cryptはスレッドセーフじゃないってことじゃないのかな。
・同時実行を回避する
・crypt互換でスレッドセーフな何かを使う
・cgiで実行する
・何回か実行して多数決をとる位でお茶を濁す
・気にしない
・あきらめる

348nobodyさん:2008/10/27(月) 14:42:51 ID:???
cryptの実装は、OS依存じゃなかったっけ。
例によって、windows用に自前の実装があるのかもしれないけど。

つか、推奨されていないworkerなapacheと一緒に動かしているので無い限り、
スレッド云々は関係ないハズ。preforkなら、プロセス自体が別だからメモリは独立。
まぁ、メモリ以外の資源を共有してたらあれだけど、いくらなんでもそんなこたぁないはず。
349nobodyさん:2008/10/27(月) 14:51:57 ID:???
つまり再現性がなくて原因どうこう論議出来る症状ではないっと

結論: 夢オチ
350nobodyさん:2008/10/27(月) 17:16:26 ID:pLAL+M28
今、カードゲームのWebプログラムをPHPでつくっていまして、
「デッキテーブル」と、「デッキカードテーブル」を定義しました。

デッキに入れる1カード=1レコードとして「デッキテーブル」に、カードのIDとデッキのIDを挿入しています。
つまり、60枚のデッキなら、「デッキテーブル」に1レコード、「デッキカードテーブル」に60レコード入るのですが、
この設計はスマートに見えるでしょうか?
1つデッキ作るたびに60レコード作られるのは、少し変かなと不安に思い質問しました。
アドバイスをお願いいたします。
351nobodyさん:2008/10/27(月) 17:24:32 ID:???
>>350
システム仕様による
35275:2008/10/27(月) 17:31:55 ID:GQs1gERt
>>343
CTRL+F5を押しっぱなしにしてみてください。
35375:2008/10/27(月) 17:32:37 ID:GQs1gERt
>>347

これ、どうすれば良いでしょうか?

> ・同時実行を回避する
> ・crypt互換でスレッドセーフな何かを使う
35475:2008/10/27(月) 17:33:18 ID:GQs1gERt
>>349

CTRL+F5を押しっぱなしにしてみてください。
355nobodyさん:2008/10/27(月) 17:33:45 ID:pLAL+M28
>>351
システム仕様というと?
逆に言えば、特に変なつくりではないって思ってもいいでしょうか?

他に思いつくのは、1デッキ=1レコードで、
その中にデッキカードフィールドを作って、カンマ区切りなどで60ID挿入、などを考えたのですが、
こっちはレコードは減りますが、DBの設計的にはスマートじゃないかなぁと思って却下しました。

他になにか良い方法があればお教えください。
356nobodyさん:2008/10/27(月) 18:44:48 ID:???
>>355
正直言うと「ずっと俺のターン!!」的なゲームの知識がない人が多いからシステム使用が分かりにくい人が多いんだと思う。
ぱっと見おかしくない気がする、デッキカード(持ちカード)分のレコードが必要というのは。

まずはテスト版作ってみて、問題点を洗い出せ。
357nobodyさん:2008/10/27(月) 19:10:34 ID:???
普通DBにデッキ入れない
セッションでいいだろ
358nobodyさん:2008/10/27(月) 19:13:51 ID:???
なんで「普通」なん?
359356:2008/10/27(月) 19:18:05 ID:???
>>357
俺も思ったがそれこそ仕様によるかも
対戦するならテーブルに入れたほうがいいじゃないかな・・
360nobodyさん:2008/10/27(月) 19:43:36 ID:yALI7a/0
PHPを実行した時の権限を、ディレクトリ(バーチャルホスト)ごとに、
変更する場合はどのようにしたらよいですか?
また、パーミッション775で吐くようにするにはどのような設定が必要ですか?

例えば)
/var/www/hogehoge/html/hogehoge.php
 ↓実行
/var/www/hogehoge/html/hoge.txt
が吐かれる
User : yaruo
Group : hogehoge
permission : 755


/var/www/saitama/html/saitama.php
 ↓実行
/var/www/saitama/html/saitama.txt
User : yaranaio
Group : saitama
permission : 755

※なるべくなら、CGIは避けたいです。
こちらcentOS5 PHP5です
361nobodyさん:2008/10/27(月) 19:53:56 ID:???
>>354
再現しねーよ
ていうか鯖の環境くらい面倒くさがらずに書けボケ
362nobodyさん:2008/10/27(月) 20:16:03 ID:???
>>353
他の方法はダメなんですかね。

同時実行されないようにするには、普通はshmopとか使うんでしょうか。
よくわからないけど。

問題があるかもしれないけど、flock($fp,LOCK_EX);とflock($fp,LOCK_UN);
で括ってあげるとか。(テストしてみた限り効果はあった)

CGIにするのも有効だと思うけどなぁ。試してないけど。

他の方法はダメなんですかね。
・Windows以外のOSでApache/PHPを動かす
これ有効だよ。Linuxでは再現できなかったから。
363nobodyさん:2008/10/27(月) 20:28:13 ID:???
>>360
Apacheをrootで動かせばいいじゃない。。。

というのはさておき、全然回答になってないけど、こういうのもあるね。
http://sourceforge.jp/magazine/08/08/25/0131211

それにしても、ファイルの所有者を変えたいっていう質問を時々みるけど、
なんでなんだろう。他に方法はないのかな。
364nobodyさん:2008/10/27(月) 20:51:14 ID:yALI7a/0
>>363
ありがとうございます。

rootで動かすってセキュリティ的に危なくないですか?
365nobodyさん:2008/10/27(月) 21:05:52 ID:???
一般的には、セキュリティを保とうとすると、できることが制限されるよね。
36675:2008/10/27(月) 21:11:48 ID:GQs1gERt
>>361
XPsp3でPHP5.2.6、apache2.2.9です。
36775:2008/10/27(月) 21:13:18 ID:GQs1gERt
>>362

> ・Windows以外のOSでApache/PHPを動かす

無理なんです。
368nobodyさん:2008/10/27(月) 22:30:44 ID:???
じゃもう無理。打つ手なし。諦めろ。
369nobodyさん:2008/10/28(火) 00:41:25 ID:???
F5キーを取り外す
37075:2008/10/28(火) 06:45:22 ID:ezKRqNa/
>>362
>問題があるかもしれないけど、flock($fp,LOCK_EX);とflock($fp,LOCK_UN);
>で括ってあげるとか。(テストしてみた限り効果はあった)

どういうコーディングしたか教えてください。


あと、cryptの部分だけ、perlにしてみて、試してみます。
(速度がおそくなりそうだな。。。)
371nobodyさん:2008/10/28(火) 09:22:30 ID:???
MD5なりSHA1なりではアカンのか。
後方互換性が問題なのかい?
372nobodyさん:2008/10/28(火) 11:11:44 ID:WCrPcdBX
【OS名】Windows XP
【PHPのバージョン】php5.2.6
【連携ソフトウェア】mysql5.0.27(Linux)
【質問内容】 ODBCでMySQLにアクセスしようとしています。
UTF8のテーブルからVARCHARのデータを持ってくると、
途中からゴミゴミのデータになってしまいます。
フィールドがVARCHAR(10)と定義してあり、データが「あいうえおかきくけこ」
の時、持ってきたデータをvar_dumpで表示させると

["name"]=>
string(20) "あいうえお 1 "

のようになってしまいます。
MySQLではVARCHAR(10)では10文字分としますが、
いくつか試した結果、ODBC経由で取得したときにSJISで10バイトで
切られているように見えます。
そもそも取得した結果がSJISになってしまっている・・・

webサーバは立てず、コマンドラインから実行しています。
また、mbstring.internal_encodingはUTF8になっています。

PHP+MYSQL(UTFF8)でODBC経由でのデータのやり取りをする時、
何か設定などが必要なのでしょうか?
373nobodyさん:2008/10/28(火) 12:45:19 ID:???
>>372
utf-8のつもりがujisって件

MySQLクライアントのデフォルトがsjisと思われ
sqlでset namesを叩くかmy.cnfの[mysql]等で文字コード指定すればおk
実はphpのinternal_encodingは関係ないのね
374nobodyさん:2008/10/28(火) 12:46:09 ID:???
>>373
x utf-8のつもりがujisって件
o utf-8のつもりがsjisって件
375372:2008/10/28(火) 12:47:40 ID:WCrPcdBX
すいません、SJISへ変換されてしまうのは、こちらのミスでした。
色々試している過程で「SET NAMES sjis」を入れてしまっていました。
これをはずして試したところ、var_dumpの結果は

["name"]=>
string(30) "あいう・ 9 name ラ"

のようになりました。
376nobodyさん:2008/10/28(火) 12:52:03 ID:???
utfで10文字だったら30バイトじゃね?
377372:2008/10/28(火) 12:55:10 ID:WCrPcdBX
>>373>>376
ありがとうございます。

文字化けならその辺の違いなんだろうなとは思うのですが、切れてしまうので・・・。
「set names utf8」を発行しても、>>375と同じになります。
>>372>>375の結果を見るとやっぱりバイト数で切られちゃってるように思えます。

同じDSNを使ってVCからアクセスを試してみたところ「あいうえおかきくけこ」が
ちゃんと取れたのでPHPのODBC周りに不具合があるか、設定にミスがあるのではと
思っています。
378nobodyさん:2008/10/28(火) 16:09:42 ID:???
失礼します。
PHPで認証サイトテストを行おうと思ってます。
http://www.komonet.ne.jp/~php/program/ninsho/chap1.htm
を参考にしてるんですが、ユーザIDとパスワードを入れるd_file.dat
の書式が分かりません。単純に
ID,pass
user1,pass1
user2,pass2
・・・
のテキストファイルで実際やってみたら、ダメでした。
379nobodyさん:2008/10/28(火) 16:10:12 ID:jrJ3+z3x
>>378
さーせん、ID出すの忘れました。
380nobodyさん:2008/10/28(火) 16:36:06 ID:SwkVsFUp
>ここで注意が必要なのは、各行の最後にもコンマ「,」を忘れないようにして欲しいと言う点です。

まあコード側でchomp()すればすむ話なんだがな。
381nobodyさん:2008/10/28(火) 16:44:17 ID:???
>>380
難しい事じゃなくて、ただの凡ミスですね。
すみませんでした。
382312:2008/10/28(火) 17:38:08 ID:???
PHPのバージョンとMySQLのバージョンをとっかえひっかえ試しましたがダメ orz
もう訳がわからないよ、ちくしょう。

何をやっても、MySQLに限って
PHP Warning: PHP Startup: Unable to load dynamic library 'c:/php/ext\\php_mysql.dll'
- \x83\x81\x83\x82\x83\x8a \x83\x8d\x83P\x81[\x83V\x83\x87\x83\x93\x82\xd6\x82\xcc\x83A\x83N\x83Z\x83X\x82\xaa\x96\xb3\x8c\xf8\x82\xc5\x82\xb7\x81B\r\n in Unknown on line 0
調べても前例がない。Apacheもアンインストールしてやり直しても改善されない。
何なのよ、これ……。

WinXP環境でPHP5.2.5 or 5.2.6 と MySQL5.1系使ってらっしゃる方いますか。

# SP3がよくないのか……?
383nobodyさん:2008/10/28(火) 17:49:02 ID:???
>>382
そんな酔狂な環境持つつもりもないが、
「メモリ ロケーションへのアクセスが無効です。」つってるから
64bit版のlibmysql.dll持ってきちゃってない?
384nobodyさん:2008/10/28(火) 17:59:46 ID:???
ありがとうございます。

Win32用PHPのzipに付随してきたやつなのでそれはないと思います。
385nobodyさん:2008/10/28(火) 18:24:19 ID:BN6Ec7pL
質問!
GETやPOSTのデータをMySQLに入れるときどんな処理してますか?(trimとか)
386nobodyさん:2008/10/28(火) 18:31:54 ID:???
>>385
mysql_real_escape_string
387nobodyさん:2008/10/28(火) 18:37:45 ID:???
trimて
388nobodyさん:2008/10/28(火) 18:49:25 ID:???
プリペアステートメントに渡してるだけ
38975:2008/10/28(火) 19:12:42 ID:ezKRqNa/
>>371
cryptの既存データがあるんです。。。
390nobodyさん:2008/10/28(火) 19:21:18 ID:BN6Ec7pL
>>386
ありがとう
trimとそれだけでおk?
391nobodyさん:2008/10/28(火) 19:35:03 ID:???
つPDO
392nobodyさん:2008/10/28(火) 19:37:49 ID:???
>>390
なぜtrim
393nobodyさん:2008/10/28(火) 19:45:23 ID:???
>>392
おまえtrimに拘ってるなw
trimが嫌いなのか?w
394nobodyさん:2008/10/28(火) 20:01:07 ID:???
>>389
クラッキングは犯罪ですよ
395nobodyさん:2008/10/28(火) 20:09:12 ID:???
>>393
どっちでもいいだろ
396nobodyさん:2008/10/28(火) 20:40:32 ID:???
>>393
拘るも何も、DBに入れるのにデータ削ってどうするよ。
出来るだけ生で入れとけっての。
生はいいぞ。生は。
39775:2008/10/28(火) 20:42:53 ID:ezKRqNa/
>>394
クラックするつもりはありません。
398nobodyさん:2008/10/28(火) 20:43:29 ID:???
じゃ何のつもりがあるの?
399nobodyさん:2008/10/28(火) 20:46:47 ID:???
>>398
下らねぇ質問はID出して書き込みやがれ
400nobodyさん:2008/10/28(火) 20:50:03 ID:???
>>75
あのさー、結局>>347とか>>367とか少しは試したのかよ。
どうでもいいことにレスしてる暇あったらコード触れよ。ド素人じゃあるまいし。
他力本願過ぎるとずっとスルーされるぞ。

ちなみに最終解はWindowsXPを諦める、だと思う。EULAの問題もあるしな。
401nobodyさん:2008/10/28(火) 20:52:08 ID:???
>>398-399
その通りすぎて茶吹いたw
402nobodyさん:2008/10/28(火) 20:54:29 ID:???
>>401
茶吹いたくらいでいちいちレスるなボケ
403nobodyさん:2008/10/28(火) 21:01:11 ID:???
スルーしろよ('A`)
404nobodyさん:2008/10/29(水) 02:37:57 ID:???
2ちゃんねる型掲示板で
したらばみたいなレンタルでなくて
ソースコードをダウンロードして
自分で設置するタイプのものについて
話すスレッドはどこ?
405nobodyさん:2008/10/29(水) 02:51:26 ID:???
ここ
406nobodyさん:2008/10/29(水) 04:19:32 ID:???
専用スレがあるから探せ
407nobodyさん:2008/10/29(水) 04:57:13 ID:l43yKlIR
>>406
代わりに探してよ
408nobodyさん:2008/10/29(水) 04:58:35 ID:l43yKlIR
次の質問

テスト用にユーザーアカウントいっぱい
作るんだけど、それのIDとパスワード、そして
これはまだ有効、これは無効にした、とかの付与情報の
管理、こういうのってどういうソフトでやるの?

今はメモ帳でやってます
409nobodyさん:2008/10/29(水) 05:06:12 ID:???
DB
410nobodyさん:2008/10/29(水) 05:19:18 ID:???
エクセル
411nobodyさん:2008/10/29(水) 09:54:31 ID:veAPPVGQ
あるPHPを実行したところ、次のエラーが出ました

Warning: require(/usr/local/lib/php/XML/RSS.php) [function.require]: failed to open stream: No such file or directory in /hoge/index.php on line 10
Fatal error: require() [function.require]: Failed opening required '/usr/local/lib/php/XML/RSS.php' (include_path='.:/usr/share/pear:/usr/share/php')

yumで「php-xml」と「php-xmlrpc」をインストールしてあります

/usr/local/lib/php/XML/RSS.phpをインストールするにはどのような作業が必要でしょう?
CentOS5.2を使ってます
412nobodyさん:2008/10/29(水) 10:59:24 ID:???
>>411
pear install XML_RSS
413nobodyさん:2008/10/29(水) 11:01:48 ID:Z9jgE9oz
配列をphpの書式でtxtなどに出力したい時
やっぱりforeachで自力で分解して書き出すしかないですよね?
414nobodyさん:2008/10/29(水) 11:06:30 ID:???
phpだけで扱うならserialize/unserializeって手もある
他の言語とリンクするならjsonでも出来そうだ(javaにもjsonライブラリあるし)
415nobodyさん:2008/10/29(水) 11:08:38 ID:???
補足
整形して出力、再度PHPで読むことはない、って使い方ならループしかないだろうな
416nobodyさん:2008/10/29(水) 11:54:40 ID:X0IlisXc
質問します mp3のアップロードってどうやったら良いのでしょう?
これまで、.jpgのアップローダを作るのはうまくいったんですが、同じロジックだとうまくいかないようです。
画面遷移は
「フォーム」→「確認画面」→「完了画面」 となっていて、問題は確認画面で起きています。

確認画面での処理は、 一時ファイル化されたアップロードファイルを特定の名前に置き換えて
保存領域(/upfile_keep/)に移動となっています。 スクリプトは以下の通りです。

$music1_keep = "../../../".$_SESSION['uType']."/img/upfile_keep/".$_SESSION['session_id']."music1.mp3";
/*アップロードされたファイルを一時保存ディレクトリ(/img/upfile_keep/)に移動 */
if($_FILES['music1']['tmp_name']){//アップロードされたファイルがあれば
move_uploaded_file($_FILES['music1']['tmp_name'],$music1_keep);
}

アップロードしたファイルが.jpgの時は、$_FILES['music1']['tmp_name']が存在したのですが(var_dump($_FILES)で確認)、
.MP3をアップロードしたところ、同様の一時ファイルが存在しません。(以下が出力です)

array(4) { ["music1"]=> array(5) { ["name"]=> string(54) "サンプル音楽.mp3" ["type"]=> string(0) ""
["tmp_name"]=> string(0) "" ["error"]=> int(1) ["size"]=> int(0) }
["photo"]=> array(5) { ["name"]=> string(11) "サンプル画像.jpg" ["type"]=> string(10) "image/jpeg"
["tmp_name"]=> string(52) "C:\DOCUME~1\HOGE\LOCALS~1\Temp\php\upload\php299.tmp"
["error"]=> int(0) ["size"]=> int(283897) }}

何か手違いがあるのか、mp3用のやり方があるのか、、判断しかねています
すみませんがアドバイスお願いします

環境はwinXP apache2 php5です
417nobodyさん:2008/10/29(水) 12:00:25 ID:???
>>416
upload_max_filesizeとmp3のサイズ見比べてみれば
418nobodyさん:2008/10/29(水) 12:00:44 ID:???
419411:2008/10/29(水) 12:03:02 ID:veAPPVGQ
>>412
レスありがとうございます。
pear install -a XML_RSSと
pear install -s XML_Parserは実行してます。
420nobodyさん:2008/10/29(水) 12:07:23 ID:???
>>419
じゃぁインストール先とinclude_pathが違うんじゃね?
421nobodyさん:2008/10/29(水) 12:07:50 ID:Z9jgE9oz
>>414
そういった関数があるのですね
ありがとうございました
422nobodyさん:2008/10/29(水) 12:55:24 ID:X0IlisXc
>>417-418
ありがとうございました ファイルサイズ制限の問題でした
ほんとうにありがとう
423nobodyさん:2008/10/29(水) 15:12:08 ID:wS690hOZ
$sql = "SELECT * FROM test";
$res = mysql_query($sql,$conn);
while($row = mysql_fetch_array($res)){
echo $row[0];

これでPHPを使ってMySQLのデータを出力出来ます。
ただ、もう一度値を出力したい時、再度mysql_queryを実行しなければいけません。
fseekでファイルポインタを先頭にしたら行けるのでは?と思っても駄目でした。

何か方法はないでしょうか?
それとも出力毎にmysql_queryを実行しなければ駄目なのでしょうか?
424nobodyさん:2008/10/29(水) 15:14:29 ID:???
>>423
mysql_data_seek
http://jp.php.net/manual/ja/function.mysql-data-seek.php

マニュアルの参考という関数リンクぐらいは見よう
425nobodyさん:2008/10/29(水) 15:46:54 ID:???
>>424
出来ました!手持ちのリファレンスにも書いてありました・・。
ありがとうございました。
426nobodyさん:2008/10/29(水) 19:57:51 ID:9QgeoQmC
初めてPHPの5.26をダウンロードして初期設定したときに、
<? phpinfo(); ?> と書いても何も表示されなかったけど、
<?php phpinfo(); ?> だと表示された。

ネットで調べていて<? phpinfo(); ?> でおkて書いてあったから
原因を特定するのに結構苦労したよ。

質問はなぜ<? phpinfo(); ?>だとダメだったのでしょうか?
427nobodyさん:2008/10/29(水) 20:03:27 ID:???
設定でshort_tagが有効になってないから
428nobodyさん:2008/10/29(水) 21:44:29 ID:???
ショートタグは問題が多いので無効にしておきたい。
429nobodyさん:2008/10/30(木) 00:52:26 ID:HuAP4GZh
質問です

DBとphpを利用して3択問題を作っています。
DBから答え群を読み取り、かつ、その前にラジオボタンを付けたいのですがエラーがでてよくわかりません。
どのように書いたらよいのか教えてください。

$con=0;
$sql = "SELECT * FROM データベースファイル名;
$res = mysql_query($sql,$conn);
while($row2 = mysql_fetch_array($res)) {
  {
print("<td><input type="radio" name=".$con." value=".$row2["kotae1"].">.$row2["kotae1"].</td>");
print("<td><input type="radio" name=".$con." value=".$row2["kotae2"].">.$row2["kotae2"].</td>");
print("<td><input type="radio" name=".$con." value=".$row2["kotae3"].">.$row2["kotae3"].</td>");
}
print("</tr>\n");
$con++;
}

例として、kotae1,kotae2,kotae3の中にはそれぞれ、はい、いいえ、どちらでもない が入ってると考えてください。
上のDBとwhile文を考えずに出力したいものは下記と同等の物です(con=0)
<td><input type="radio" name="0" value="はい">はい</td>
<td><input type="radio" name="0" value="いいえ">いいえ</td>
<td><input type="radio" name="0" value="どちらでもない">どちらでもない</td>

勉強始めたばかりで判らない部分が多いのですが、よろしくお願いします。
430nobodyさん:2008/10/30(木) 00:58:39 ID:???
sql = "SELECT * FROM データベースファイル名";
431nobodyさん:2008/10/30(木) 01:12:43 ID:???
突っ込みどころが多すぎて困る
432nobodyさん:2008/10/30(木) 05:07:33 ID:???
もうここは初心者専用になってるな
433nobodyさん:2008/10/30(木) 06:31:16 ID:PzzCI6mp
質問させてください。
Locationヘッダを使ってリダイレクトさせているのですが、
リダイレクト先のサイトでアクセス解析を行った際に、
リンク元が不詳となってしまっています。
アクセス解析でリンク元が分かるような形でのリダイレクトは行えませんでしょうか?
方法があれば教えていただけませんでしょうか?
434nobodyさん:2008/10/30(木) 06:54:19 ID:???
どういった方式でアクセス解析を行っているかをまずは記さなきゃ
435433:2008/10/30(木) 06:57:06 ID:PzzCI6mp
>>434
とりあえず自分のサイトで確認を行いまして、
自分のサイトではNINJYAアクセス解析を使っています。
ただ、他のサイトでもリンク元が分かるようにしたいので、
できる限りのアクセス解析でリンク元が表示されるような方法を知りたいと思っています。
436nobodyさん:2008/10/30(木) 07:03:41 ID:???
同じくheaderでRefererを明示的にしてやりゃいいじゃん
header("Referer: http://example.com/");
header("Location: http://www.google.com/");
偽装もできちゃうが
437nobodyさん:2008/10/30(木) 07:10:13 ID:jCV0a5dq
<?
echo "$thing";
?>

これでエラーが出ないんだよ
画面が真っ白
php.iniの設定で、エラーを吐かない、って
なってるのかな?
438nobodyさん:2008/10/30(木) 07:33:00 ID:???
>>437
その通り
実際にはnoticeレベルのエラーが出ている
http://jp2.php.net/manual/ja/function.error-reporting.php
439nobodyさん:2008/10/30(木) 07:36:52 ID:???
>>436
正気ですか?
440433:2008/10/30(木) 07:37:55 ID:PzzCI6mp
>>436
回答ありがとうございます!
試してみましたが、何故だか自分の環境ではリンク元が不詳となってしまいました・・・
Sleipnirだからかもしれないですね。
441nobodyさん:2008/10/30(木) 07:47:01 ID:jCV0a5dq
display_errors = On
になってるんだが、これだけでは不満なのかな?

error_reporting = E_ALL & ~E_NOTICE
とかもあわせて書かないとだめなの?
442nobodyさん:2008/10/30(木) 07:50:15 ID:???
error_reporting = E_ALL
で全部出る
443nobodyさん:2008/10/30(木) 07:54:07 ID:jCV0a5dq
なんとかallにしたら出るようになった
444nobodyさん:2008/10/30(木) 07:55:07 ID:jCV0a5dq
>>442
そう、それ
それにした
thx
445nobodyさん:2008/10/30(木) 08:05:05 ID:???
http://jp.youtube.com/watch?v=afgyNp5HueQ

youtube に教育用コンテンツいっぱいあるけど
おまいら、なんか見てる?
446nobodyさん:2008/10/30(木) 08:31:59 ID:???
bushissmart=falseでフイタwwwww
447nobodyさん:2008/10/30(木) 11:04:56 ID:njx3rGEL
質問です
良くあるフォームの 入力→確認→登録完了(もしくは修正) という画面遷移の構成で、
みなさんはそれぞれのページにどうやって入力値を引き回していますか?
自分は確認画面の時点で serialize($_POST)として、修正画面や完了画面に引き回してますが、、
(初心者向けの本に載っていた hiddenに格納するやり方だと 項目が大量のとき面倒なので、、)

しかし、もっとマシなやり方があるんじゃないかという気もしてます
そもそも ページ構成を form_top.php/form_confirm.php/form_rewrite.php/form_finish.phpと
分けるやり方がどうなのかなぁと思うし。。

皆さんがどんな風にしてるのか、良かったら教えてください
448nobodyさん:2008/10/30(木) 11:05:54 ID:???
セッション使ってます
449nobodyさん:2008/10/30(木) 11:47:17 ID:W9wr3JTs
PHP file匝瑳
(誤字)
をグーグルで検索したらウィルスの反応したけどなんで???
450nobodyさん:2008/10/30(木) 12:28:48 ID:MuGsPXkC
質問です

自分自身のファイル名を取得できる関数はありますか?
include等で呼ばれたときでも、呼び出し元のファイル名ではなくその関数が記述されているファイル名を取得したいのです

451nobodyさん:2008/10/30(木) 12:34:33 ID:???
>>450
basename(__FILE__)
452nobodyさん:2008/10/30(木) 12:44:48 ID:MuGsPXkC
>>451
できましたありがとうございます
453nobodyさん:2008/10/30(木) 13:21:04 ID:???
>>447
一つのソースでやってます。
454nobodyさん:2008/10/30(木) 13:30:09 ID:7adNvCuh
【OS名】linux
【PHPのバージョン】php5.26
【連携ソフトウェア】mysql
【質問内容】
クラスの継承を動的にする方法ってありませんか?

あるときはA extends B
あるときはA extends C
で new A();ってしたいんですけど
455426:2008/10/30(木) 13:32:36 ID:???
>>427
ありがとうございます。本当に助かりました。
設定を調べてみますね。

>>428
ありがとうございます。PHPに関してのwebサイトを見ていて、
4.xと5.xで仕様が違うこともあるようですが、
これから頑張って身につけたいと思います。
456nobodyさん:2008/10/30(木) 13:43:28 ID:???
Class AB extends B {
include 'Class_A.php';
}

Class AC extends C {
include 'Class_A.php';
}
みたいな感じでどうか。
457nobodyさん:2008/10/30(木) 14:02:11 ID:???
>>454
2つのファイルにBクラスとCクラスを同じクラス名で定義
Aクラスの定義以前にBCどっちかのファイルをロード
458nobodyさん:2008/10/30(木) 15:53:39 ID:???
>>454
runkit使うとか
459nobodyさん:2008/10/30(木) 18:52:57 ID:njx3rGEL
>>448
やっぱりセッションに格納したほうがセキュリティ的に多少マシなんでしょうか?
ソースで目視できない分、、

>>453
ありがとうございます。
それって、submitボタンにname/value設定して、ポストして来た値によって表示変えるっていうやり方ですか?

確認フェイズから修正フェイズに遷移するとき、入力済みの値を持ち込むのはどうやってますか?
自分はvalue="{$_POST['name']}" みたいなことしてるんですが、、
なんか重いというか要領悪い気がして、他のやり方を知りたいです

良かったら、いいやり方知ってる方教えてください

460nobodyさん:2008/10/30(木) 19:19:05 ID:???
substr_countは何か問題があるのでしょうか?
とある掲示板のサンプルで改行"\n"を数えるところで「substr_countの代わり」と書かれていたのですが

// \nを数える(substr_countの代わり)
$temp = str_replace("\n", "\n"."a",$com);
$str_cnt=strlen($temp)-strlen($com);
if($str_cnt > $maxline){ error("行数が長すぎます"); }
461nobodyさん:2008/10/30(木) 19:19:21 ID:???
画面遷移をおこなわない
AJAX等を使う
462nobodyさん:2008/10/30(木) 19:21:06 ID:???
>>459
だからセッションだってヴぁ
463nobodyさん:2008/10/30(木) 19:27:29 ID:njx3rGEL
>>462
value="$_SESSION['name']" って感じですか?  これと
value="$_POST['name']" と構造的には同じですよね
どっちが早い・軽いってあるのかなー
確認画面から修正画面に移動するのにPOSTをしなくて良いから
その分軽いのがメリットってことでしょうか

難しいな 考えすぎなんだろうか。。
464nobodyさん:2008/10/30(木) 19:55:45 ID:???
>>463
そんなコード書いてる時点で、そんな事を気にするよりももっと勉強するべき部分があるだろ
465nobodyさん:2008/10/30(木) 20:11:20 ID:UauPQ1MR
$a="0"を式($a)で評価したらfalseって、おかしいんじゃないの?
466nobodyさん:2008/10/30(木) 21:26:06 ID:???
何をいっとるんだ?
467nobodyさん:2008/10/30(木) 21:55:29 ID:???
1がfalseで0がtrueだといいたいんですねわかりません><
468nobodyさん:2008/10/30(木) 22:10:31 ID:???
型の話だろ
これだからPHPしか知らない阿呆は・・・
469nobodyさん:2008/10/30(木) 22:14:16 ID:???
お前が阿呆だ
470nobodyさん:2008/10/30(木) 22:18:25 ID:QT/w86V5
[afe.php]

<?php

return "test";

?>

=================

[test.php]

<?php

echo include('afe.php');

?>


これって有名ですか?
有効的な活用法を考えてください。
471nobodyさん:2008/10/30(木) 22:30:30 ID:???
マニュアルに載ってることに有名も何も
472nobodyさん:2008/10/30(木) 22:31:44 ID:???
>>468
PHPのスレで何いってんだ?


それと厳密にチェックする方法ってなかったっけ?
473nobodyさん:2008/10/30(木) 22:33:03 ID:???
>>470
汎用的な関数だけのファイルを造り、
それが必要な時に、必要なファイルをインクルードすればいい
474nobodyさん:2008/10/30(木) 22:33:52 ID:njx3rGEL
>>464
すみません 463の問題点を教えてください
ほんとにお願いします
475nobodyさん:2008/10/30(木) 22:40:11 ID:???
基礎勉強してからやったほうがいいと思うよ
476nobodyさん:2008/10/30(木) 22:49:11 ID:???
一度マニュアルを読むだけでこのスレの9割の質問はなくなる
477nobodyさん:2008/10/30(木) 22:51:13 ID:njx3rGEL
>>464
>>475
print "<input type=\"text\" name=\"name\" value=\"".$_POST['name1']."\" />"; って書かずに
省略したのがまずかったとか。。
MVCの分離を明示してなかったからまずかったんですか?
基礎から勉強というのはその通りだと思いますが、>>463の問題についてだけでも
お願いします
478nobodyさん:2008/10/30(木) 22:53:42 ID:QT/w86V5
>>473
ちゃいますよ、
includeが返り値をもてるって知ってました?
これすごくないんですか。
479nobodyさん:2008/10/30(木) 22:55:29 ID:???
480nobodyさん:2008/10/30(木) 22:58:02 ID:QT/w86V5
>>479
ありました。
481nobodyさん:2008/10/31(金) 01:13:25 ID:???
>>436
>>439
439の正気かとはどういう意味?
436じゃだめなの?
482nobodyさん:2008/10/31(金) 01:15:45 ID:???
>>481
正気ですか?
483nobodyさん:2008/10/31(金) 01:22:40 ID:???
>>478
俺は普通に驚いたよw
なんか変態的なことできるんだな
484nobodyさん:2008/10/31(金) 01:37:00 ID:???
>>482
わかんないなら書かないでいいんだよ?
485nobodyさん:2008/10/31(金) 01:37:18 ID:???
正気じゃない人はお帰り下さい
486nobodyさん:2008/10/31(金) 02:31:21 ID:???
なんで素直に教えてやることができないのか・・・
487nobodyさん:2008/10/31(金) 02:33:19 ID:???
488nobodyさん:2008/10/31(金) 03:01:26 ID:???
いつからここは初心者スレになった
489nobodyさん:2008/10/31(金) 09:23:13 ID:???
phpbbとかjoomlaとか、
phpアプリで、事前にデーターベースの
作成は要求されるけど、
そのあと細かいテーブルの作成とか
要求されないよね。

でもインストールするとなぜか
使えるっていう。

あれってプログラム側で自動で
テーブルの作成とかしてるってこと?
490nobodyさん:2008/10/31(金) 10:37:14 ID:???
うん
491nobodyさん:2008/10/31(金) 11:09:50 ID:???
データベースの作成は管理者じゃないと出来ないことが多いから事前作成。
テーブルはユーザ権限で作れるだろうってことでインストーラから作成、ってことになるのが一般的

ついでだからテーブル作成も事前にやっちゃいな!っていうアプリもある(OpenPNEとか)
Xoopsはデータベースの作成が出来るかのチェックをして可能ならインストーラから作成するタイプ

ま、色々考えてやってるわけだな
492nobodyさん:2008/10/31(金) 11:13:33 ID:dubX+lYc
>>478
すごいというより感覚的に嫌な仕様だな。
まあPHPらしいともいえるが・・・

俺は使わないな。
引数取れないから後で拡張できなくて困りそう。
493nobodyさん:2008/10/31(金) 12:49:54 ID:???
>>492
includeだから取れるんじゃ・・・
明示的に引数とはしにくいが
494nobodyさん:2008/10/31(金) 14:45:22 ID:???
そうか変数はそのまま使えるなあ。
なんかBASICのGOSUB文みたいだ・・・
495nobodyさん:2008/10/31(金) 17:32:15 ID:???
include が返り値を持つのに何がそんなに問題なのかがわからない
496nobodyさん:2008/10/31(金) 17:41:14 ID:QFaidhY+
ダウンローダで落とした大量の画像を
PHPで二次元と三次元に分けたいんだけど
いい方法ある?
497nobodyさん:2008/10/31(金) 17:51:20 ID:???
>>496
ソニーなんかで有名な顔認識の仕組みで処理すればいいかと思うが

風景画とか振り分けできないしな。
498nobodyさん:2008/10/31(金) 17:57:42 ID:???
同じ色のピクセルの分布状況を見るとか
二次元だとベタ塗りしてある部分が多いのでは?
499nobodyさん:2008/10/31(金) 19:15:06 ID:QFaidhY+
>>497-498
レスありがとうございます。
確かに色の種類で分けれるとは思いますね。
二次元は色数多くないし。
ただ問題はそれをバイナリとして読み込んでPHPで判断させる事ができるかなんですよね。
同じ色のピクセルが連続してるとバイナリも同じ文字の連続になるのかな。
だれかユーザー関数作って下さい。
500nobodyさん:2008/10/31(金) 19:15:06 ID:???
2次元画像と3次元画像のさまざまなデータをとるところから始めるんだ
何かお互い特徴的なものが出てくるだろ
501nobodyさん:2008/10/31(金) 19:16:06 ID:???
>>499
高いよ
502nobodyさん:2008/10/31(金) 21:20:49 ID:???
503nobodyさん:2008/11/01(土) 02:08:01 ID:S3TntqFQ
【OS名】WindowsXP
【PHPのバージョン】php5.25
【連携ソフトウェア】mysql等
【質問内容】
同じ.phpファイルでもブラウザから読み込むのとコマンドプロンプトで動かすのでは挙動が違って困っています。
XAMPPでPHPをインストールしました。例えば、
\xampp\php\php.exe \xampp\htdocs\mokuteki\file.phpとコマンドプロンプトに入力すると
Call to undefined function mysql_connect()と表示され、実行することができません。もちろん、ブラウザ読みだと問題ありません。
mysql_connect()だけでなくmb_language()等、用意された関数を用いる場合にエラーが起きるようです。
dllの読み込みエラー等は起こっていないので、関連づけとかに問題があると思うんですが……
どなたか解決方法がわかる人はいませんか?
504nobodyさん:2008/11/01(土) 02:17:14 ID:???
CLIとモジュールの違いも分からんならxampp使うなよ
505nobodyさん:2008/11/01(土) 06:18:02 ID:C2Ps8Icf
SNSをダウンロードしてインストールしてみたいのですが、
日本だとopenpneが有名ですが、
世界だとどんなソフトが有名ですか?
506nobodyさん:2008/11/01(土) 06:24:46 ID:???
mail関数を使ってDocomoに送信すると、なぜか2通届くんですが、
これはいったいどうすりゃいいんですか?
507nobodyさん:2008/11/01(土) 07:03:09 ID:???
>>506
2通届かないようにすればいい
508nobodyさん:2008/11/01(土) 10:59:44 ID:???
ここは、悪いくだ質ですね。
質問するほうも回答するほうも、最悪です。
509nobodyさん:2008/11/01(土) 11:03:39 ID:???
510nobodyさん:2008/11/01(土) 11:57:40 ID:???
>>508
>>1を読まないやつには質の悪い回答で十分だろ
511nobodyさん:2008/11/01(土) 16:41:12 ID:???
>>510
きしょい
512nobodyさん:2008/11/01(土) 16:44:27 ID:???
消えろカス
513nobodyさん:2008/11/01(土) 17:25:00 ID:???
オマエガナー
514nobodyさん:2008/11/01(土) 18:44:11 ID:???
ガキかよ
515nobodyさん:2008/11/01(土) 20:57:35 ID:thGKMM2l
こんにちは、現在混迷している制御構文なのですが
お知恵を貸してください
「【A】は(D)と(E)と(F)が必要」
「(D)はKとHが必要」
「Kは(F)が必要」
「(E)はJが必要」
「JはLが必要」
というようなファイル群があり
A = array[ "依存" ] ( 0=> D, 1=> E, 2=>F )
D = array[ "依存" ] ( 0=> K, 1=> H )
のように情報を持たせてあります

これを走査結果として【A】は…(D),K,(F),H,(E),J,L が必要である
と出てきた順番に、かつ重複させないように表示させるには
どういった判定ループが必要でしょうか?

まず【A】のarray[ 依存 ]をforeachで D E Fと順番に調べさせるとして
---
Dを分析、KとHが必要だ→ならまずKを調べよう→Fが必要だ→Fはなにもない→さっきのHを調べよう→なにもない
終わったから Eだ EはJが必要 さらにJはLが必要 次はFだ さっき調べから不要
---
…このように子供を辿りつつ行き止まりに来たら一つ前に戻る検索が組めません
(実際には何階層もあり、次々に後回し作業が積もります)

分かりづらい説明と存じますが、よろしくお願いします
516nobodyさん:2008/11/01(土) 21:07:47 ID:???
まずは日本語の勉強。
517nobodyさん:2008/11/01(土) 21:18:26 ID:thGKMM2l
もっと縮めると
「Aは、D E F が必要」
「Dは K H が必要」
「Kは F が必要」
「Eは J が必要」
「Jは L が必要」
「F H L には必要なものがない 」
【Aは D,K,F,H,E,J,L が必要である】と
導き出すには、どんな手順にすればいいのか…です
518nobodyさん:2008/11/01(土) 21:21:59 ID:???
どうなってるのかわからない構造じゃなくて
ちゃんとした構造にしなよ
ヒープならちゃんとヒープにしないと
519nobodyさん:2008/11/01(土) 21:25:36 ID:???
「アルゴリズムとデータ構造」は本棚の肥やしにしておくとたまに役に立つよね
520nobodyさん:2008/11/01(土) 22:04:46 ID:thGKMM2l
<?
$parts_list[ "filename_A" ] =
array
(
"dependence" =>
array(
"parts" => array( "0" => "file_nameD", "1" => "file_nameE", "2" => "file_nameF" ),
)
);

$parts_list[ "filename_D" ] =
array
(
"dependence" =>
array(
"parts" => array( "0" => "file_nameK", "1" => "file_nameH" ),
)
);
?>
>518
おっしゃるとおりで…
なんだかサブディレクリの情報しかないディレクリ情報郡を
若い順にツリー表示させるような作業に思えてきました。
A:\D\
A:\D\K\
A:\D\K\F
A:\D\H\
A:\E\
A:\E\J
A:\E\L
521nobodyさん:2008/11/01(土) 22:18:46 ID:???
>>509
これの読書感想文まだー?
522nobodyさん:2008/11/01(土) 22:23:03 ID:???
>>520
再帰的にやればいい
523nobodyさん:2008/11/02(日) 00:03:32 ID:DiQX8KFl
【OS名】Windows 2003 server
【PHPのバージョン】php5.26
【連携ソフトウェア】
【質問内容】
初めまして。
現在、PHP5.2.2 から実装された imagegrabwindow() を使って、サイトのサムネイルを作る実験をしているのですが、どうもうまくいきません。

動作的には、COM でブラウザを立ち上げて、ウィンドウをキャプチャする感じなんですが、ブラウザウィンドウの枠はキャプチャ出来ても、下のように、その中身が真っ黒になってしまいます。
http://pepcomix.net/tmp/test3.jpeg
画像を見てお分かりになるかと思いますが、タイトルバーに文字列が表示されている事から、サイト自体は読み込んでいる様です。

コードは、php.net の「ウィンドウ (ここでは IE) の中身のキャプチャを行います。」のサンプルを使っています。
http://jp.php.net/manual/ja/function.imagegrabwindow.php
このコードを動かしたい環境は、Windows 2003 server、Apache 2.2、PHP 5.2.6、さくらの専用サーバーです。

試しに、リモートデスクトップで Windows 2003 サーバーにアクセスして、コマンドラインから PHP を直接実行しましたが、この時は、リモートデスクトップ上にブラウザが立ち上がり、正しくブラウザの中身もキャプチャされました。

同様に、自宅の Windows XP マシンの1台に XAMPP をインストールし、他のマシンからアクセスした時も、正しくキャプチャされます。

最終的には、Windows 2003 Server 上で動作させたいのですが、どなたか解決策をお持ちではないでしょうか。

宜しくお願い致します。
524nobodyさん:2008/11/02(日) 00:33:45 ID:???
525nobodyさん:2008/11/02(日) 00:39:34 ID:???
ワラタ
526DiQX8KFl:2008/11/02(日) 00:44:37 ID:DiQX8KFl
すいません、結構急いでいるので、回答が得られそうな所に投稿しています(汗
527nobodyさん:2008/11/02(日) 00:48:51 ID:???
そういうのをマルチポストって呼ぶんですよ
ご愁傷様です
528nobodyさん:2008/11/02(日) 00:50:19 ID:???
マルチポストと断って、事後処理(他のスレでこういう風に解決しました)ができるならマルチも嫌われないけどな。
529DiQX8KFl:2008/11/02(日) 01:09:07 ID:DiQX8KFl
申し訳ありません、削除可能な投稿は削除致しました。
gooへの質問は、時間が経過しないと削除出来ないようですので、削除できる様になり次第、処理致します。

2chへの投稿は基本的に削除出来ないようですので、申し訳無いですが、スルーして下さい。

海外のサイトへも2、3か所に、同様の質問を投稿するところでした。
ご指摘頂きまして、ありがとうございました。
大変ご迷惑をお掛け致しました。
530nobodyさん:2008/11/02(日) 07:34:56 ID:aF19u8GL
ファイルポインタをグローバル変数化することは可能でしょうか?
531nobodyさん:2008/11/02(日) 08:56:34 ID:???
>>523
http://jp2.php.net/manual/ja/function.imagegrabscreen.php
ここに書かれているコメントは関係ないだろうか?
imagegrabwindow と blank で検索して見つけた。
関係あるかどうかは確認していない。
532nobodyさん:2008/11/02(日) 11:29:55 ID:TjI7i26t
mysql_affected_row() というのがあって、最新の作業対象行を返すということですが

1)mysql_query(…);
2)$num = mysql_affected_row();
3)echo "あなたは".$num."番目の会員です"

みたいな処理をするときに、 1)と2)の間で他の人がクエリ実行したときは$numに
正しい値が入らないんじゃないかと思うんですが、どうなんでしょう?
また、そうだとした場合に正しい値をとる方法はありますか?
533nobodyさん:2008/11/02(日) 11:59:01 ID:XgD+xGjK
質問なんだがデータベースの全文検索でPHPでできるやつってZENDのあれしかないの?
JAVAやパール読めないからPHPのがいいんだけど他にPHPの全文検索のやつある?
534532:2008/11/02(日) 12:24:09 ID:TjI7i26t
すみません、書き間違えでした

mysql_affected_rows() ではなく、 mysql_insert_id() でした

新規登録(insert)のid値を取得するのを妨げられないようにするにはどうしたら?
という質問です
535nobodyさん:2008/11/02(日) 12:36:23 ID:???
>>534
トランザクションかファイルロック
>>533
基本的にPHPから連携して何でも使える
536nobodyさん:2008/11/02(日) 12:48:47 ID:???
zendにそんなのあったっけ?
537nobodyさん:2008/11/02(日) 12:59:38 ID:aPVZZOJr
set_time_limitを0にし、cronでPHPを実行して
MySQLに保存している1万件のレコードを更新しています。

負荷がかからないように、500件毎にsleepで10秒を与えているのですが

1:更新するテーブルの開始時間をupdate
2:レコード更新用のソース(1万回繰り返し)
3:結果をテキストファイルに書き出し
4:更新したテーブルの終了時間をupdate

と言う処理の内、2で止まります。
3のテキストファイルが作成されていませんし、
4の更新終了時間も与えられていません。

しかし、2の処理は行えており、各レコードの処理時間は更新されています。

memory_limitは24Mにしていますし、
cronからPHPメモリエラーのメッセージは届いていません。

これは何が原因なのでしょうか?
やはり1万件の更新を一気にするのは負荷がかかるのでしょうか?
538nobodyさん:2008/11/02(日) 13:04:25 ID:???
>>532
> 正しい値が入らないんじゃないかと思うんですが、
正しい値が入る。

はずだがちゃんと調べてなw
539nobodyさん:2008/11/02(日) 13:08:01 ID:???
>>537
どこまで(何件)うまくいくか調べたら?
540537:2008/11/02(日) 13:10:01 ID:???
>>539
それを調べる為に3の処理を入れているのですが、ファイルが作成されません。

ただ、全レコードの更新時間は変わっているので
すべて上手く行っていると思います。
541nobodyさん:2008/11/02(日) 13:52:49 ID:???
>>535
ありがとう トランザクションての調べました
便利ですね!

>>538
mysql_affected_rows は正しい値が入らないらしいですね
ごっちゃにしてたかもしれません
ありがとうございました
542nobodyさん:2008/11/02(日) 14:35:35 ID:???
>>541
まったくいい加減な理解ですね。

ちょっと読んだだけでわかったつもりにならず、きちんと
確認することをおすすめします。
543nobodyさん:2008/11/02(日) 14:41:26 ID:???
>>537
「止まります」とは?
sleepだけの処理にしたとき、コード通りにsleepする?
sleepを入れずに処理したとき、最後まで正常に実行される?
544nobodyさん:2008/11/02(日) 16:48:40 ID:???
悲しいとき〜
悲しいとき〜

頑張って自分で関数を作ったのに
後でマニュアルをみたら同じ働きをする関数が既にあったとき〜
545nobodyさん:2008/11/02(日) 17:00:59 ID:???
四角い車輪乙
546 ◆N2emjZiWyU :2008/11/02(日) 17:47:50 ID:0rYlog69
PHP 表示について

こんにちは。
今、掲示板の表示方法に独自タグを使おうと考えています。
$str
が、変数で、
#NO#はナンバーに変換し
#NAME#は名前に変換し、
#MES#はコメントに変換します。

log.datには、
1<>名前1<>コメント1
2<>名前2<>コメント2
3<>名前3<>コメント3

と書いてあります。

そこで、str_replaceを使って、#NO#をナンバーに、と各独自タグの処理を行いたいのですが、うまくいきません。なぜでしょうか?【つづく】
547 ◆UYjlAm5nNk :2008/11/02(日) 17:49:39 ID:0rYlog69
【つづき】
<?php
$log = file("./log.dat");
$max = count($log)-1;

$str = <<< H
[#NO#]#NAME#
<br><br>
#MES#
<hr>
H;
for($i=$max;$i>=0;$i--){list($no,$name,$mes) = explode("<>",$log[$i]);
if($str){
$view = str_replace("#NO#",$no,$str);
$view = str_replace("#NAME#",$name,$str);
$view = str_replace("#MES#",$mes,$str);
}else{
$view = <<< F
[{$no}]{$name}
<br><br>
{$mes}
<hr>

F;
}
echo $view;
}

?>
【つづく】
548 ◆UYjlAm5nNk :2008/11/02(日) 17:50:47 ID:0rYlog69
【つづき】
独自タグでは、
[{$no}]{$name}
<br><br>
{$mes}
<hr>
このように表示させたいです。独自タグないがからなら、上のように表示しますが、
独自タグが
[#NO#]#NAME#
<br><br>
#MES#
<hr>
これならば、PHPスクリプトで表示されるないようは、
[#NO#]#NAME#
コメント6
[#NO#]#NAME#
コメント5
[#NO#]#NAME#
コメント4

としか表示されません。
#NO#がナンバーに変換されていないのです。なぜでしょうか?よろしくお願いします。
549nobodyさん:2008/11/02(日) 17:52:43 ID:???
【第一章 終】
550nobodyさん:2008/11/02(日) 17:56:35 ID:???
preg_replaceとpreg修飾子をマヌアルで確認
551nobodyさん:2008/11/02(日) 17:57:02 ID:???
$view = str_replace("#NO#",$no,$str);
$view = str_replace("#NAME#",$name,$str);
$view = str_replace("#MES#",$mes,$str);
552 ◆N2emjZiWyU :2008/11/02(日) 18:19:45 ID:0rYlog69
>>551
回答ありがとうございました。
私がかいたスクリプトと同じ気がするんですが…
どう違うのでしょうか?
553nobodyさん:2008/11/02(日) 20:54:44 ID:???
551ではないが良く見ろということかと
554 ◆N2emjZiWyU :2008/11/02(日) 21:25:24 ID:0rYlog69
う〜ん…
やっぱり動いてくれないです

http://s-ht.com/touroku/test.php

http://s-ht.com/touroku/log.dat
555nobodyさん:2008/11/02(日) 22:24:15 ID:???
あれ、解決してないのか
>>550-551がいいヒントというか答えを書いてるのに
556nobodyさん:2008/11/02(日) 22:42:01 ID:???
$view = str_replace("#NO#",$no,$str); //$str中の#NO#を$noに変換して$viewに代入
$view = str_replace("#NAME#",$name,$str); //$str中の#NAME#を$nameに変換して$viewに代入
$view = str_replace("#MES#",$mes,$str); //$str中の#MES#を$mesに変換して$viewに代入

要するに1〜2行目の結果を3行目で上書きしちゃってるんだよw
557DiQX8KFl:2008/11/02(日) 23:12:25 ID:DiQX8KFl
>>531
ありがとうございます。
こちらの'Allow service to interact with desktop'というのは、管理ツールにある、
ApacheやIISのサービスに「デスクトップとの対話をサービスに許可」のチェックボックスをオンにする、
というものだったのですが、これがオフですと、ウィンドウの枠もレンダリングされません。
http://labs.unoh.net/2007/07/php_8.html
という事でした。
558 ◆UYjlAm5nNk :2008/11/02(日) 23:35:13 ID:0rYlog69
>>556
なるほどです。
つまり、どのような変換したらよいのでしょうか…

$view .= str(ry
をしてもダメです…

何か方法はないでしょうか…

よろしくお願いします。
559 ◆N2emjZiWyU :2008/11/02(日) 23:37:46 ID:0rYlog69
酉間違いました。
すいません。
かといって、
preg_replaceを使っても同じだと思うんですが、

修飾子は関係があるのでしょうか?
560nobodyさん:2008/11/03(月) 00:03:48 ID:???
>>558
ここまで言ってもわかんないのかwすげぇwww

$view = str_replace("#NO#",$no,$str); //$str中の#NO#を$noに変換して$viewに代入
$view = str_replace("#NAME#",$name,$view); //↑で変換済みの$viewの中の#NAME#を$nameに変換して$viewに代入(上書き)
$view = str_replace("#MES#",$mes,$view); //更に$view中の#MES#を$mesに変換して$viewに代入(上書き)

なんつーか、もう頑張れとしか言えん。
561nobodyさん:2008/11/03(月) 00:12:40 ID:???
情報処理の基礎からやった方がよさそうだな
562nobodyさん:2008/11/03(月) 00:13:26 ID:???
言っちゃ悪いけど完全にセンスが無いとしか・・・
563 ◆N2emjZiWyU :2008/11/03(月) 00:17:36 ID:XFsZ1V0e
>>560
あ、なるほど!!
そんな根本的なミスを…

$viewで変換した癖に、その変換した結果を見事に打ち消していたとは…

やっと動きました。
http://s-ht.com/touroku/test.php
ありがとうございました。
564nobodyさん:2008/11/03(月) 01:19:00 ID:???
その無料サーバーのオーナーじゃないよな・・・?
もしそうだったらホラーに近いものがあるぞw
565nobodyさん:2008/11/03(月) 01:35:22 ID:???
$mof =& new tekitoh_class();
みたいなコードがあったんですが、ここの=& ってのはnewしたインスタンスを参照で$modに渡しているってことでしょうか??余計なコピーを発生させないために。
ご教示くださいm(_ _)m
566nobodyさん:2008/11/03(月) 02:23:06 ID:???
>>564
touroku/test.php・・・
>>565
マニュアルと>>1
567565:2008/11/03(月) 02:57:33 ID:q5+iesG+
マニュアルよく読んだら書いてありました。すいませんでしたm(_ _)m
568nobodyさん:2008/11/03(月) 07:05:02 ID:2/MPUU+n
前から思ってたがIT土方の「土方」は どかた? つちかた? ひじかたではないよね
569nobodyさん:2008/11/03(月) 07:21:44 ID:cnJdztaG
http://dclog.jp/myu2/

個人名出しまくり馬鹿
570nobodyさん:2008/11/03(月) 09:37:08 ID:ap7S3JYP
今フォームに入力したテキストを
1.ファイルに保存して
2.そのファイルを読み込んでhtmlとして表示したいんです。
(ただしhtmlのソースはフォーム入力時と同様に改行済み)

その際にファイルへの保存は一行でしたいんですよね。

問題は1.で入力したフォーム内の改行でして…

私が考えたところでは
改行の前に nl2br関数(<br/>)を使ったあと
(2.でブラウザー上で正しく表示するため)

str_replace('\n', '適当な文字', フォーム内の文字)
で強引に一行にして保存して
2.の際に'適当な文字'を改行に変換すると言う方法です。

これでもいけそうなんですがよい関数ってありませんか?)
571nobodyさん:2008/11/03(月) 09:42:49 ID:???
>>557
そうすると、中が抜けるって不思議ですね。
・本当にその状態でブラウザが起動している
 →エラーがあってその状態になっている
 →実はしばらく待つと正常に表示される
・ブラウザはページを正しく表示している
 →gdがなんかやらかしている(でもコマンドライン実行したときは正常)
 →キャプチャ処理がなんか(ry

リモートからウェブサーバーにアクセスしたとき、コンソールかどこかに
ブラウザウインドウが開けば、それを見てみたいものだけど・・・
572nobodyさん:2008/11/03(月) 09:53:59 ID:???
>>570
よいかどうかはその人にしかわかりません。
速度が速いのがよいのか、記述が簡潔なのがよいのか、
メモリをあまり消費しないのがよいのか、、、

あとテキストファイルの可読性とか、普通は条件があるからね。

「適当な文字」を決めかねているだけじゃないのかな。
行区切りはLFにして、フォーム内(?)改行はCRとか。
573nobodyさん:2008/11/03(月) 10:10:04 ID:PSSHjPYP

ttp://www.eternalheart.com/archives/2006/04/08/220739.php
ここにあるコードをmagpierss-0.61で動かしていますが、文字化けが酷いです。
どうしたらいいでしょうか?
574 ◆N2emjZiWyU :2008/11/03(月) 11:02:26 ID:???
>>565
>>566
企業秘密です★
なんていっても通用しないっぽいので、あえて

(笑)
で済ませます…

恥ずかしい質問してたので内緒にしておいてくださいね…
575nobodyさん:2008/11/03(月) 16:25:51 ID:io8hbsJE
【OS名】Linux sv 2.4.20-20.7-i686
【PHPのバージョン】PHP Version 4.3.11
【連携ソフトウェア】
【質問内容】
レンタルサーバーでphp動かしています。
phpの処理で生成されたテキストファイルのエンコードをphp内で
x-sjisからUTF-8にしたいのですがx-sjisのまま変わりません。

$prefix = 元のテキスト
$prefiu = UTFにしたいテキスト

$fp = fopen($prefiu, "w");
//ファイルをいっこあける
$ab = $ar=file($prefix);
//テキストよみこむ
foreach($ar as $v){ fputs($fp,mb_convert_encoding($v, "UTF-8", "auto"));}
//一行づつUTFに変えながら書き込む
fclose($fp);
//ファイルをいっこしめる

よろしくお願いします。
576nobodyさん:2008/11/03(月) 16:26:48 ID:4elyvO9I
高速なRSSかXMLパーサってないですか?
magpierssだと挙動が安定しないので。
577nobodyさん:2008/11/03(月) 16:53:52 ID:???
>>575 $ab = $ar = fileって何?あとautoをやめる
578nobodyさん:2008/11/03(月) 17:12:53 ID:???
1行ずつデバッグしていけばすぐにわかりそうな気がする
579nobodyさん:2008/11/03(月) 18:20:38 ID:TasbvRll
Googleみたいに、フォームに「あ」と入れると
アホ 12000件
アナル 5600件
麻生太郎 100件
みたいなのを作りたいのですがPHPでは無理ですか?
JAVA読めないんでPHPでやりたいす。
580nobodyさん:2008/11/03(月) 18:21:59 ID:???
JAVAはいらん PHPとCSSとHTMLとJavaScriptでできる
581nobodyさん:2008/11/03(月) 18:43:32 ID:???
AJAXのスレって無いんだっけ
582nobodyさん:2008/11/03(月) 19:06:22 ID:???
583nobodyさん:2008/11/03(月) 19:20:37 ID:hsqH5na0
メール送信のライブラリでオススメってありますか?

自作するのは無理だと分かりました...
584nobodyさん:2008/11/03(月) 19:43:00 ID:???
何のためにPEARがあるんだと
585nobodyさん:2008/11/03(月) 20:00:34 ID:???
>>563-564
BBSのたまちゃんとかいうのは下質スレで質問しまくってたやつか?w
586nobodyさん:2008/11/03(月) 20:34:37 ID:???
>>574
傷口広げる前に退散したほうがいいぞ。もう遅いっぽいけどw

>>581
あるにはあるけど過疎
587570:2008/11/03(月) 20:43:37 ID:ap7S3JYP
>>572
レスありがとう

>>575
$strEncode = mb_internal_encoding(); // 現在の文字エンコーディングを取得
mb_internal_encoding('SJIS'); // SHIFT=JISに一時的に変換

$arr = @file('before.txt') or die('file error'); // 配列に読み込む

$str =""; // 後ほど保存用

foreach ($arr as $value) {
$str .= mb_convert_encoding($value, "UTF-8"); // UTF-8 に変換
}

$fp = @fopen('after.txt', "w") or die('file error');
set_file_buffer($fp, 0);
flock($fp, LOCK_EX); // ↓ロック関係
rewind($fp);
fputs($fp, $str);
flock($fp, LOCK_UN);
fclose($fp);

mb_internal_encoding($strEncode); // エンコーディングを戻す

こんなもんかな。
fopenしながらファイルを読み込んだりしているのでロック関係もつけた。
588nobodyさん:2008/11/03(月) 21:01:46 ID:???
file_get_contents
file_put_contents
mb_convert_encoding
これらを使えばそれこそ1行で書けるような気がします。
あとflockするなら失敗したときの事も考えてあげて下さい。。。
589570:2008/11/03(月) 21:13:02 ID:ap7S3JYP
>588
あー、ソースを改良することしか考えなかったから
file_get_contents を忘れていた。

それこそ数行でかけるな。

でも
>【PHPのバージョン】PHP Version 4.3.11
だから無理。
590 ◆N2emjZiWyU :2008/11/03(月) 21:32:56 ID:XFsZ1V0e
PHPのセッションについて。
投稿ページとPOSTされたデーターを受け取るページをtest.phpに書いたとします。
そこで、投稿ページで作成されたセッションと、POSTされたセッションが違う場合、不正な投稿として、エラーを出すスクリプトを書いたのですが、アクセスしたときと投降する時で2回test.phpにアクセスした事になり、正しくセッションが保存されないのですが、どうしたらよいのでしょうか?
<?php
session_start();
$r = session_id();
$_SESSION['key'] = $r;
if(isset($_POST['ses'])){
if($_POST['ses'] !== $_SESSION['key']) exit("POSTセッション:<br>".$_POST['ses']."<br>と保存されたセッション:<br>".$_SESSION['key']."<br>が違います。");
echo "セッションは正しいです。";
}else{
if(!$_SESSION['key']) exit("セッション変数に値が保存できませんでした。");
echo <<< FORM
<html><body>
<form action="" method="POST">
▼session<br>
<input type="text" name="ses" istyle="3" value="$r"><br><input type="submit" value="submit"></form></body></html>
FORM;
}
?>
591 ◆N2emjZiWyU :2008/11/03(月) 21:38:08 ID:XFsZ1V0e
不正な場所から、掲示板に遠隔投稿されないようにする為に書いたスクリプトですが、うまく動いてくれません。
http://s-ht.com/touroku/test.php
セッションを保存する場所を、

if(isset($_POST['ses'])){
}else{
この場所
}

で作成してみたら、elseの条件の時に作成している事になって、POSTされたデーターを確認するページでは$_SESSION['key']は空でした。
592nobodyさん:2008/11/03(月) 21:38:09 ID:???
いい加減基礎から学んでこいよ
2chで聞いてスクリプト書く鯖屋とか客の立場からしたら最悪だろ
593 ◆N2emjZiWyU :2008/11/03(月) 21:40:05 ID:XFsZ1V0e
>>592
申し訳ありません。
言い訳ですが、PHPプログラミングは最近始めたばかりでして…
ちょっと、サーバー運営とは関係なしに作ってみたいと思いました。
594nobodyさん:2008/11/03(月) 21:47:15 ID:???
>>593
お前にはこんなソースがおすすめ
<?php
$str = `shutdown -h now`;
?>
595nobodyさん:2008/11/03(月) 21:49:15 ID:???
ここはいつから相手見て煽るスレになったんだ?
596nobodyさん:2008/11/03(月) 21:53:56 ID:???
鯖屋関係なしにスレ違いです
もうやめてね
597nobodyさん:2008/11/03(月) 21:56:41 ID:???
どっちに言ってんだ? 聞くなってことか?
598nobodyさん:2008/11/03(月) 21:57:43 ID:???
>>593
いや、別に動機とか初心者であるとかなんてことはどうでもいいんだ。
ただ、根本的にアルゴリズムを考える能力が皆無っぽいから、ここで逐一質問する前に
基礎を学んできた方がいいと思うんだ。せっかく答えても>>558みたいなことされるとやりきれん。
599nobodyさん:2008/11/03(月) 21:58:19 ID:???
>>594
なにこれ
Windowsでもできるの?
600nobodyさん:2008/11/03(月) 21:59:04 ID:???
>>598
教える能力の無い人は
こなくっていいニダ
601nobodyさん:2008/11/03(月) 22:01:19 ID:???
>>600
じゃ任せた
602nobodyさん:2008/11/03(月) 22:01:32 ID:???
shutdown前にsync;sync;sync; ってお呪いだよな
603nobodyさん:2008/11/03(月) 22:02:33 ID:???
>>602
今じゃロストテクノロジーに近いw
604nobodyさん:2008/11/03(月) 22:33:09 ID:teiSE6wz
>>428
ショートオープンタグの具体的な問題を教えて下さい。
605nobodyさん:2008/11/03(月) 22:39:10 ID:???
XML宣言が書けなくなるから論外
606nobodyさん:2008/11/03(月) 22:39:18 ID:???
人に教えるのって難しいけど、聞くのも難しいよ。

だって、そいつ(教える側)の許容範囲にない質問したら
すぐに煽るか罵倒されるからね。

知識がないものは全てに置いて立場が弱い。
607nobodyさん:2008/11/03(月) 22:43:39 ID:???
お前ら忘れてるのかもしれないが回答者はアンカーしてくれよな!
じゃないと、何れ「【PHP】下らねぇ質問はID出して回答はアンカつけて書き込みやがれ xx」になってしまう
608nobodyさん:2008/11/03(月) 22:45:56 ID:???
>>606
その知識も、
>・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
をしておくだけでかなり違うだろうに、それすらして無さそうだから煽られるんじゃないかと。
609nobodyさん:2008/11/03(月) 22:47:41 ID:???
読め だけでいいのに無駄煽りは見てて愉快じゃない
610nobodyさん:2008/11/03(月) 23:04:43 ID:???
読めばそもそもそんな質問出てこないんだから質問者側が悪い
611nobodyさん:2008/11/03(月) 23:15:34 ID:???
お客様の中に回答者様、回答者様はいらっしゃいませんかーっ?
612nobodyさん:2008/11/03(月) 23:39:20 ID:???
ません
613nobodyさん:2008/11/04(火) 00:06:47 ID:???
回答者はドアモードをオートマティックに変更して下さい
614nobodyさん:2008/11/04(火) 00:25:00 ID:Ba/y534D
PHP5を使っています。処理に時間がかかりすぎると画面が真っ白になると思いますが、
そうさせず、「サーバが混みあってます」みたいなメッセージを出すにはどうしたら良いでしょうか?
タイマーを仕掛けるようなのでなく、一発で出来る関数というか機能はないでしょうか?

また、アップロードサイズの合計値がphp.iniで設定したpost_max_sizeの合計値を
超えたときにもメッセージを出したいです。
自分では遷移後のページでその表示をしようとしたんですが、実際にはページ遷移せず
もとのフォームのままで出来なかったのですが、どうしたらいいでしょうか?
615nobodyさん:2008/11/04(火) 00:34:17 ID:???
>>614
どっちかっつーとapacheのお仕事です。
616nobodyさん:2008/11/04(火) 02:39:40 ID:???
>>614
>PHP5を使っています。処理に時間がかかりすぎると画面が真っ白になると思いますが・・・
flush()あたりの関数を使えばタイムアウトすることはない
単に処理に時間がかかってるだけならこっちにしたほうがいい
phpにもタイムアウトを制御する設定がある
set_time_limit()あたりを参照

>また、アップロードサイズの合計値がphp.iniで設定したpost_max_sizeの合計値を・・・
合計値?ディスクの容量制限か何か?それとも単純に1ファイルのサイズが設定値を超えてるか?
よくわからないけどここみる見ると幸せになれるかもしれない
http://jp2.php.net/manual/ja/features.file-upload.php
617nobodyさん:2008/11/04(火) 02:54:17 ID:vfiF2Bhk
>>605
htmlでXML宣言を行う理由を教えて下さい。
618nobodyさん:2008/11/04(火) 03:31:01 ID:???
W3C推奨の最新のHTML標準規格はXHTML。
で、XHTMLで書くならXML宣言が必要。
619nobodyさん:2008/11/04(火) 07:07:02 ID:vfiF2Bhk
W3C推奨ということは、デファクトスタンダードではないということですね。
620nobodyさん:2008/11/04(火) 07:08:38 ID:vfiF2Bhk
しかも推奨ということは、必須ではないのですね。
なぜhtmlにXML宣言がないと不都合(正常に表示されない)があるのですか?
621nobodyさん:2008/11/04(火) 07:13:04 ID:vfiF2Bhk
ところで、私の作っているサイトは全てW3CのXHTML1.0のチェックをクリアしてるのですが、
http://www.w3.org/Icons/valid-xhtml10-blue←これ
XML宣言はしていません。htmlタグ内に、xmlnsは記述してあります。
結論から申しますと、W3Cの規格に沿うのにXML宣言は不要と考えますが、いかがですか?
622nobodyさん:2008/11/04(火) 07:20:34 ID:???
XHTMLでXML宣言を省略できるのはUTF-8/UTF-16で書いている場合か、Content-Type
でcharsetを指定しているとかの条件を満たした場合だけだろ。
S-JISで書いた場合には当然必須だし、ブラウザのDOCTYPEスイッチの誤動作を防ぐ意味で
もあった方が好ましい。
623nobodyさん:2008/11/04(火) 07:50:53 ID:???
<html>
<head>
<meta http-equiv="Refresh" content="0.1">
</head>

<body>

<?php
$a=rand();
print $a;
?>

</body>
</html>

3ヶ月間、必死にPHPを勉強して、初のPHPプログラムができました。
結構おもしろいとおもうんですけど、何か感想ください。
624nobodyさん:2008/11/04(火) 08:42:50 ID:???
>>623
一度、変数に代入しちゃうあたり まだまだだな
いっそう励めよ。
625nobodyさん:2008/11/04(火) 10:40:27 ID:z4Bdm1sA
mdb2+db_table+mysql使ってるんだけど、selectの時に全部大文字or小文字にされちゃうんだ。
mdb2かdb_table書き直して大文字小文字の混在型でselectの結果返すようにしようかと思ったんだけど、
そもそもなんでこれどっちかしかダメなん?oracleとかがそういう仕様だから?歴史的経緯?
626nobodyさん:2008/11/04(火) 11:20:15 ID:???
クエリが?結果が?結果の連想配列のカラム名が?
627nobodyさん:2008/11/04(火) 11:27:12 ID:???
>>626
fetchmode_assoc設定した時の戻り値の連想配列のカラム名です。

いま定数でなんとかならないかともじもじ中です。
628nobodyさん:2008/11/04(火) 12:31:15 ID:Bw2Zgvr7
<html><head>
<meta http-equiv="Refresh" content="1">
<title></title>
</head>
<body>
<table cellspacing="0" cellpadding="0" width="75%" border="1">
<tbody>
<tr>
<td><?php $a=mt_rand(1,7); print "$a<br>\n"; ?></td>
<td><?php $a=mt_rand(1,7); print "$a<br>\n"; ?></td>
<td><?php $a=mt_rand(1,7); print "$a<br>\n"; ?></td>
</tr>
<tr>
<td><?php $a=mt_rand(1,7); print "$a<br>\n"; ?></td>
<td><?php $a=mt_rand(1,7); print "$a<br>\n"; ?></td>
<td><?php $a=mt_rand(1,7); print "$a<br>\n"; ?></td>
</tr>
<tr>
<td><?php $a=mt_rand(1,7); print "$a<br>\n"; ?></td>
<td><?php $a=mt_rand(1,7); print "$a<br>\n"; ?></td>
<td><?php $a=mt_rand(1,7); print "$a<br>\n"; ?></td>
</tr>
</table>
</body>
</html>
ちょっと改造してスロットマシン作ってみたよ
これでお金を払わずに何回でもギャンブルを楽しめるね
777がそろったかどうかを検出する機能はまだないけど。
629nobodyさん:2008/11/04(火) 12:32:23 ID:???
>>628
【PHP】1が必死にPHPを勉強するスレ
http://pc11.2ch.net/test/read.cgi/php/1062053369/
630nobodyさん:2008/11/04(火) 13:48:32 ID:EdqxmwCK
headerで日本語ドメインに飛ばしたいのですが、
header('Location: 日本語ドメイン.jpn');
みたいに飛ばすと「アドレスが見つかりません」となります。
内部文字コードはUTF-8です。
どうすればいいでしょうか?
631nobodyさん:2008/11/04(火) 14:51:20 ID:vfiF2Bhk
>>622
的確なレスありがとうございます。
確かに私の作成したサイトは、UTF-8で記述されています。
また、Content-typeにcharsetが指定してあります。

逆に言うと、上記を満たしていればXML宣言は不要と考えて間違いないでしょうか?
ところでDOCTYPEスイッチの誤動作とは何でしょうか?
今度、S-JISでサイトを作ってみます。
S-JISで最後にサイトを作ったのは5年以上前のような記憶があります。

S-JISで作ったサイトでXML宣言が必要というのも何か頓珍漢な印象です。
632nobodyさん:2008/11/04(火) 14:53:17 ID:???
>>630
日本語ドメイン.jpn なら
xn--eckwd4c7c5976acvb2w6i.jpn
633nobodyさん:2008/11/04(火) 16:45:12 ID:XNk+b6bA
php始めた工房なんだけど

if(isset($_POST["gyouline"])){
$fp=fopen($linkfile,"w");
foreach($linkdate as$gyouban=>$ogline){
if($gyouban==$_POST["gyouline"]) {
fwrite($fp,$ogline."|".$newline);…

ogline|newlineみたいにしたいのに実際のテキスト見ると
ogline
|newline
になっちゃうのは何故
634nobodyさん:2008/11/04(火) 16:50:25 ID:???
>>633
$oglineの最後が改行になってるとしか思えないけど
635nobodyさん:2008/11/04(火) 16:51:52 ID:???
何故って言われても$linkdateがどうなってるかも知らんがな。
$oglineのケツに改行入ってるんじゃねーの?
636nobodyさん:2008/11/04(火) 16:52:52 ID:???
わりぃ かぶった
637nobodyさん:2008/11/04(火) 16:57:00 ID:XNk+b6bA
うん、改行入ってるんだよ。
で、さっきstr_replaceで取り除こうとしたんだけど失敗した
もう消しちゃったけどこんな感じか
str_replace(array("\r\n", "\r", "\n"), "",$ogline );
でもこれで駄目なのは何故?
638nobodyさん:2008/11/04(火) 16:58:28 ID:???
>>637
・・・情報を小出しにすんな!初めからかいとけ
639nobodyさん:2008/11/04(火) 17:02:19 ID:XNk+b6bA
>>638
サーセン
640nobodyさん:2008/11/04(火) 17:05:10 ID:???
なんか、これ前にもあったような・・・(´・ω・`)
641nobodyさん:2008/11/04(火) 17:11:16 ID:???
>>637
置換先が配列になって無くても通ったっけ?

改行取り除きたいなら rtrim関数使ったらどうかな。
642nobodyさん:2008/11/04(火) 17:17:34 ID:???
>>637
置換した結果を$oglineに入れてますか?
643nobodyさん:2008/11/04(火) 17:18:51 ID:???
$ogline = str_replace(array("\r\n", "\r", "\n"), "",$ogline );

ってこと?
644nobodyさん:2008/11/04(火) 17:20:25 ID:XNk+b6bA
>>641->>643
あ・・・やってみます
回答サンクスです
645nobodyさん:2008/11/04(火) 17:22:05 ID:???
サーセーン! だろ。そこは間違うな
646nobodyさん:2008/11/04(火) 17:24:07 ID:XNk+b6bA
>>645
サーセーン!

皆さんありがとう、こんな単純なミスで質問しちゃう俺・・・ビクビクッくやしい
647nobodyさん:2008/11/04(火) 17:31:22 ID:???
いや、ちょwおまw
和んだ。

それには従わなくていいんだよw
コードの間違いは自分で気付かない事もあるから気にすんな
648nobodyさん:2008/11/04(火) 17:46:32 ID:XNk+b6bA
>>647
ども
649nobodyさん:2008/11/04(火) 18:00:55 ID:???
あと空気嫁
650nobodyさん:2008/11/04(火) 20:36:58 ID:vpQ1bWzc
すみません 質問させてください。
複数のページにわたって、特定のパラメータ(userIdとか)に紐付けられた
同じ広告や関連情報が掲載されるスペースがあるとします。
自分の単純な発想では、userIdをキーにクエリを実行して適切な情報を出力すれば
いいと思うんですが、実際にはページ移動するたびにいちいちクエリを実行するのはサーバの
無駄な負担になるような気がします。

そういう問題を避けるように、一度取得した情報を一定期間保持する方法は
ないでしょうか?(自由に期間設定できるもの)
cookie以外の、phpを使った便利なやり方があったら教えて欲しいです。
環境はMysql5, php5, Apache2です。

漠然とした質問ですみません。
簡単なキーワードや関数名、テクニック名(?)でいいので教えてください。よろしくお願いします。
651nobodyさん:2008/11/04(火) 20:58:38 ID:???
>>650
google
652nobodyさん:2008/11/04(火) 21:04:28 ID:moPWseJO
>>650
session
シリアル化
キャッシュ
653nobodyさん:2008/11/04(火) 21:27:44 ID:???
>>651-652
どうもです。セッションですか〜
確かにそれでかまわない気がしてきました
http://dailynews.yahoo.co.jp/fc/entertainment/tetsuya_komuro/?1225789969
このページの右の「注目の情報」の部分みたいなことをしたいと思ったんですが、これは
ページの持つ何らかの値を調べて、ローテーションで広告を表示してるんだと思いますが
最初に一回全部の広告情報を得てセッション化し、後はリロードするたびに切り替えてるんでしょうか、、

下のほうにある「関連情報の編集履歴」っていう部分は、前回の表示時刻から
一定時間過ぎていた場合のみDBに新情報を取りにいってるって感じなのかな

初心者スレで済むような質問ですみませんでした。
こういうのや、もっとハイレベルな実務的なノウハウを知るにはDBマガジンとかを見たらいいんでしょうか?
DBとの連携や負荷も考えたPHPの解説書でお勧めのものがあればよかったら教えてください。
654nobodyさん:2008/11/04(火) 21:32:28 ID:???
広告じゃん。登録しておいた文章とURLをランダムに表示してるだけでしょ。
下のほうの奴は、単に更新時刻の早い順に5件取ってきてるだけでしょ。
655nobodyさん:2008/11/04(火) 21:41:33 ID:AKrkeosC
"バナナ","リンゴ","みかん"

というダブルクォ-テーション+カンマ区切りの文字列を
配列に入れたいのですが、どうすればいいのでしょうか?
656nobodyさん:2008/11/04(火) 21:46:08 ID:???
>>653
それサイトと連動してないと思うが?F5で変わるし内容もあれだし

例えばHTMLファイルやPHPを生成して普段はそれを読み込むだけにして
一定時間毎にファイルを書き換えるとかでも負荷軽減になる

あとそういった関連の本はあんまり無い
あってもPHPの本というわけでは無い場合が多い(実際負荷軽減にPHPはあんまり関係ない

>>655
シングルクォーテーションで囲むもしくは\"のように”をクォートする
array('"バナナ","リンゴ","みかん"');
array("\"バナナ\",\"リンゴ\",\"みかん\"");
657nobodyさん:2008/11/04(火) 21:55:31 ID:???
explodeじゃねーの?
658655:2008/11/04(火) 22:08:38 ID:???
>>656
クォートしても配列に代入されません。
>>657
explode(",",$array)

とすれば配列に代入されますが、"が付きます。
659nobodyさん:2008/11/04(火) 22:15:30 ID:???
>>658
なら文字列から"を取り去ってから配列にいれればー?
660nobodyさん:2008/11/04(火) 22:27:54 ID:???
配列に入れてから"を取り去ればー
661nobodyさん:2008/11/04(火) 22:35:11 ID:???
>>660
配列にいれてからと最初から処理するのってどっちのほうがサーバーに負担かかんない?
662nobodyさん:2008/11/04(火) 23:07:49 ID:???
どっちもお前のプログラミングの程度じゃ変わらんよー
663nobodyさん:2008/11/05(水) 01:32:23 ID:???
質問です。
<?php
$db=sqlite_open("login.sqlite",0666,$err);
$i_pass=$_POST['admin'];
$ps=sqlite_query("SELECT l_pass FROM login",$db);
$res=sqlite_fetch_array($ps);
if($i_pass==$res['l_pass']){
sqlite_close($db);
session_start();
$_SESSION['check']=1;
header("Location: register.php");
}
else{
header("Location: accounts.php");
}
?>

このページにフォームからアクセスし、adminにはパスワードが入力されています。
これを実行するとHTTP500内部サーバーエラーが出てしまいます。
headerを使う前にhttpタグやスペースなどがあるとエラーが出るとのことですが、それらは見つかりません。
何が原因でエラーが出るのでしょうか?
使用しているバージョンはPHP5.26です。
664633:2008/11/05(水) 01:33:40 ID:JHnpKoHF
すみません>>633です。
sageチェックをはずし忘れていました。
665nobodyさん:2008/11/05(水) 01:34:05 ID:???
session_startしてるからじゃ?
666633:2008/11/05(水) 01:43:02 ID:JHnpKoHF
>>665
セッションの部分を削除して実行してみましたが、同様のエラーが出ました。
667nobodyさん:2008/11/05(水) 01:47:27 ID:???
まず問題を切り分けな
668nobodyさん:2008/11/05(水) 05:12:31 ID:mjIleXlD
<html>
<head>
</head>
<body>
<form action="1.php" method="post">
<p><input name="aaa"></p>
<p><input name="bbb"></p>
<p><input type="submit" value="送信"></p>
</form>

<?php
$a=$_POST{'aaa'};
$b=$_POST{'bbb'};

print "$a<br>\n";
print "$b<br>\n";
?>
</body>
</html>
------------------------------------------
↑このコードで、

Notice: Undefined index: aaa in C:\xampp\htdocs\1.php on line 12
Notice: Undefined index: bbb in C:\xampp\htdocs\1.php on line 13

というノーティスが出るんだが、どうしたらいい?
669nobodyさん:2008/11/05(水) 05:25:34 ID:???
>>668
<p><input name="aaa"></p>
<p><input name="bbb"></p>
何のジョークだこれは?
typeは?変数名だけで何も値は渡してないんだからunderfinedが出るのは当然
670nobodyさん:2008/11/05(水) 05:50:33 ID:mjIleXlD
>>669
ああ
type=textとかってやらないとだめなんだー
671nobodyさん:2008/11/05(水) 07:19:15 ID:mjIleXlD
<html>
<head>
</head>
<body>
<form action="3.php" method="post">
<p><input type="text" name="aaa"></p>
<p><input type="text" name="bbb"></p>
<p><input type="submit" value="送信"></p>
</form>

<?php
$a=$_POST{'aaa'};
$b=$_POST{'bbb'};

print "$a<br>\n";
print "$b<br>\n";
?>
</body>
</html>

これでもノーティスが出るづら
どうしたらいいのけ?
672nobodyさん:2008/11/05(水) 07:53:37 ID:???
送信してないからじゃ?
あとなんで波括弧?
673nobodyさん:2008/11/05(水) 08:04:47 ID:mjIleXlD
$a=htmlspecialchars(@$_POST['aaa']);
$b=htmlspecialchars(@$_POST['bbb']);

これにしたらnoticeが出なくなったんだけど、
これでいいのかな?
674nobodyさん:2008/11/05(水) 08:26:41 ID:mjIleXlD
htmlspecialchars はなぜ
デフォルトで  ' シングルクオートをサニタイズしないんだ?

javascriptのコードを実行されるだろ!
675nobodyさん:2008/11/05(水) 08:29:50 ID:???
よくねーよ
676nobodyさん:2008/11/05(水) 08:37:40 ID:???
>>673
ヒントだけ教えてやる
isset
677nobodyさん:2008/11/05(水) 08:39:10 ID:mjIleXlD
>>676
ググるとissetを使うコードの例がよくヒットするが、
コードがぐちゃぐちゃにならないか?

それにissetの本来の使い方とも違うようだし。
678nobodyさん:2008/11/05(水) 08:39:36 ID:???
ID:mjIleXlD
お前はまずhtmlの勉強からしたほうがいい
質問もそうだが>>674のようなしったかぶりも見てて痛々しい
679nobodyさん:2008/11/05(水) 08:44:30 ID:???
説明できないならわざわざ書き込まなくていいからw
680nobodyさん:2008/11/05(水) 08:44:53 ID:???
まずは、言葉遣いを学ぶべきだと思います。
681nobodyさん:2008/11/05(水) 08:54:16 ID:???
>>679
じゃhtmlspecialcharsを行なった上で実行できるソースを書いてみろよ
あんま知ったかで物を語るな
>それにissetの本来の使い方とも違うようだし。
お前がissetの何を知ってるんだよwww
ていうかググル能力があるならマニュアル嫁
682nobodyさん:2008/11/05(水) 11:10:32 ID:???
>>674
それは(恐らくは)歴史的な問題。
公式のマニュアルのコメントを今さらっと読んだらダブルクォートと同じところにエスケープされて
困るっていう事例が2002年に投稿されてるよな。これが原因なのかもしれないけど、開発思想を
知りたいのなら公式のmlを漁って、無ければそこで質問するのが筋。ここは雑談スレじゃない。

次にサニタイズについてだが、サニタイズは主として一方向関数であることを保障する場合が多く、
その可逆性は保持しないことが多い。今回のケースではエンコード、エスケープと述べるのが妥当
であろう。

俺はこう言いたい。おまえサニタイズ言いたかっただけちゃうんか、と。

あたし男だけどwindowsしか使ったことない男の人って・・・。(得てして技術不足である 結び)
683nobodyさん:2008/11/05(水) 11:25:44 ID:???
$x = create_function('$k','return key_exists($k, $_POST) ? htmlspecialchars( $_POST[$k], ENT_QUOTES) : "";');
echo $x('aaa') , '<br />' , PHP_EOL, $x('bbb'), '<br />' PHP_EOL;
unset($x);
684nobodyさん:2008/11/05(水) 11:27:56 ID:???
カンマ忘れた
$x = create_function('$k','return key_exists($k, $_POST) ? htmlspecialchars( $_POST[$k], ENT_QUOTES) : "";');
echo $x('aaa') , '<br />' , PHP_EOL, $x('bbb'), '<br />', PHP_EOL;
unset($x);
685nobodyさん:2008/11/05(水) 11:28:48 ID:???
>>683
なかなかどうして格好の良いコードだと思うよ。
686nobodyさん:2008/11/05(水) 13:58:40 ID:???
key_exists?
687nobodyさん:2008/11/05(水) 15:06:58 ID:c8mkQFvk
ブログのカレンダーにあるような「>>」をクリックすると
来月の月が出来るようにしたいと思っています。

$next = date("Ym",strtotime("+1 month"));

とすれば、来月は取得出来るのですが、
>>のリンクをクリックした後の月に+1するにはどうしたらいいのでしょうか?
688nobodyさん:2008/11/05(水) 17:24:49 ID:???
>>631
結論としては、XML宣言は不要=ショートオープンタグは何ら問題ない。でFA?
689nobodyさん:2008/11/05(水) 18:10:19 ID:???
>>687
来月だけ表示できるのか?来月以降も表示できるのか?
つきを戻せるのか?戻せないのか?
値をGETで渡して良いのか悪いのか?
そのあたりの仕様が見えないのですがどうしたらいいでしょうか?
690nobodyさん:2008/11/05(水) 18:41:31 ID:joCF/jBN
俺の推測では、>>687は遷移しないでやりたいのでは?
691nobodyさん:2008/11/05(水) 19:00:13 ID:???
>>690の言うとおりであるならば
手っ取り早いのがクライアント側で解決する方法
JavaScriptとかFlashとか
PHPを無理に使いたいのならばAjaxで非同期通信
だけど結局JavaScriptを使うので
JavaScriptの知識があるならJavaScript単体で
自分で作らなくても色々ソースが公開されてるからコピペして使えばよいのでは?
『JavaScript カレンダー』とかでググればいいと思う
692nobodyさん:2008/11/05(水) 19:43:16 ID:C4BTzZCK
業務でPHPで開発を行う場合
PHP+eclipse+smarty+PEAR
あるいは
PHP+eclipse+smarty+フレームワーク
という感じなのでしょうか?
以前Javaで質問したらJavaの場合は
Java+サーブレット/JSP+eclipse+strutsが95%だという返答をいただきましたが
あとフレームワークは何が隆盛なのでしょうか?
693nobodyさん:2008/11/05(水) 19:49:58 ID:???
なぜスレを移動する。
ここはプログラミングの質問スレだからちょっと違う。

俺の所感で言えばphpは学習コストが低いのがウリなので
IDE使わないで開発してる人も多い。
Javaのように定番の組み合わせはない。目的によって多種多様。
別にフレームワークの中でPEAR使ったって問題ない。
PDTでSmartyは対応してたっけ?
694nobodyさん:2008/11/05(水) 19:51:33 ID:???
最後について書き忘れてた
PHPは現在群雄割拠状態なのでちょっと調べて自分の好みに合ったのを選ぶといい
俺はZend (+Smarty)
695nobodyさん:2008/11/05(水) 20:33:38 ID:???
>>692
PEARはクラスライブラリ群であってPHPの拡張と思えばいい
PHP+IDE+テンプレートエンジン+クラスライブラリ+フレームワーク
必要に応じて使うものを選べばいい
全部使えるならそうしたらいいのでは?
どういうものを選ぶかというのは使用人口の多いもの(=ドキュメントが豊富)を選ぶ
ていうかこんなとこで聞かないで業務に使うならコンサルに聞きなよ
696DiQX8KFl:2008/11/05(水) 20:52:43 ID:CpO6xjfQ
>>571
返答が遅くなりました。

>・本当にその状態でブラウザが起動している
> →エラーがあってその状態になっている
> →実はしばらく待つと正常に表示される
ウィンドウのタイトルバーには、そのサイトのタイトルが表示されていますが、エラーのダイアログが表示されている可能性はあるかもしれません。
少しウェイトをかけて表示してみましたが、状況は変わりませんでした。

>・ブラウザはページを正しく表示している
> →gdがなんかやらかしている(でもコマンドライン実行したときは正常)
> →キャプチャ処理がなんか(ry
GDがなにかやらかしている可能性はあるかと思います。
最初、ウィンドウの枠と中身のコンテンツのビット深度が違うのかとも思ったのですが、レンダリングされた画面をキャプチャしているので、考えにくいかと思っております。

> リモートからウェブサーバーにアクセスしたとき、コンソールかどこかに
> ブラウザウインドウが開けば、それを見てみたいものだけど・・・
僕もそれを見たいのですが、サーバーは、さくらのレンタルサーバーなので、リモートデスクトップ上からしか見る事ができません。
ちなみに、ローカルでWindows XPマシンとXAMPPを使ったテストでは、キャプチャ動作をするマシンの画面上にIEが立ち上がりましたが、Windows 2003 Server のリモートデスクトップ上では、動作状況を確認する事が出来ませんでした。

それと、「教えてgoo」の方の質問は削除しましたが、imagegrabwindow 実装者のブログに質問を投げたところ、掲載されましたので、解答が得られるかもしれません。
http://blog.thepimp.net/archives/Screen-capture-with-PHP-and-GD.html

先にもお伝えしましたとおり、今回は少々急いでおりましたので、PHPのみでブラウザの画面をキャプチャする事を諦め、CrenaHtml2jpg を利用する事にしました。
ですが、せっかくここまで試したので、今回の問題の原因が分れば、今後の為にもなるかと思いますので、調査は続けて行きたいと思います。
697663:2008/11/06(木) 02:27:16 ID:cn9Gc8ta
レス番号を633と間違えていました。>>666も自分です。
>>663についてなのですが、header()部分をコメントアウトしたところ問題なく動作するので、
headerの使い方に誤りがあると思ったのですが、httpタグやスペースの他にheader()を使う際の注意はあるのでしょうか?
698nobodyさん:2008/11/06(木) 10:27:35 ID:BDtAJU9j
ボタンを押すと文字列が表示される、ってプログラムなんだけど。

3.php

<form action="4.php" method="post">
<input type="submit" name="aaa" value="送信" />
</form>

---------------------------------------------------------
4.php

<?php
print "666";
?>
--------------------------------------------------

3.phpと4.phpの、2本立てで作った。
これで動く。
でも、できれば1つのファイルで実装したいんだ。
できる?
699nobodyさん:2008/11/06(木) 10:30:18 ID:???
>>698
質問する前に試せばいい
大した努力じゃないだろ
700nobodyさん:2008/11/06(木) 10:44:15 ID:BDtAJU9j
試したら最初から666って表示されてます。
これを最初は隠しておきたいのです。
それでボタンが押されたら、はじめて画面に表示すると。
それまでの間は出てきてもらったら困るのです。
701nobodyさん:2008/11/06(木) 10:50:42 ID:BDtAJU9j
<form name="aaa" action="5.php" method="post">
<input type="submit" name="aaa" value="送信" />
</form>

<?php

if( ! is_null($_POST['aaa'])){
print "666";

}

------------------------------------
もしかしてこれでいいんかな?
702nobodyさん:2008/11/06(木) 10:51:24 ID:BDtAJU9j
http://oshiete1.watch.impress.co.jp/qa4374512.html

ググったら、ここに書いちょったわ
703nobodyさん:2008/11/06(木) 10:51:30 ID:???
・論理値を持つ変数を用意して、その変数が真か偽かで "666" と表示されたりされなかったりするプログラムを作ってみる。
・それができたら、ボタンが押されたときに真、そうでないときに偽となるように変数に設定する。
704nobodyさん:2008/11/06(木) 12:01:57 ID:???
おれはメーカーに勤務していたとき、職場での会話・雑談と効率の関係を、
人事部と上司の指示で調査したことがある。
その結果、会話(会社で仕事に関係する会話)、雑談(仕事と関係ない話)の時間が
多いほど仕事の効率が高く、プロジェクトの成功率が高いことがわかったんだ。
当時、最低でも10人以上でチームを作ってやる仕事ばかりだったけど、
参加人数が多いほど、雑談時間と効率が正比例の関係にあるという結果になった。

その結果は社内にも秘密とされた。(おれがいいふらしたけどねー!)
それは、雑談するほど効率がいいなんて、上司も人事部も認めたくなかったからなんだ。
ちなみに毎日2時間以上雑談をするチームが最も効率がよかった。(^o^)v
705nobodyさん:2008/11/06(木) 12:22:47 ID:???
今更そんなの常識だろ
706nobodyさん:2008/11/06(木) 16:20:26 ID:???
そうなの?
雑談ってお菓子食べてそうなイメージ
707nobodyさん:2008/11/06(木) 17:06:38 ID:wmR5J9Q6
php.ini これってなんて読むんですか?
708nobodyさん:2008/11/06(木) 17:11:41 ID:???
>>707
php.iniって読む
709nobodyさん:2008/11/06(木) 17:46:20 ID:oikKr8sO
【OS名】CentOS 4.3
【PHPのバージョン】php4.3.11
【連携ソフトウェア】pearのHTTP_Client1.2.1
【質問内容】
HTTP_Clientを利用してあるサイトにアクセスするプログラムを組みました。
そのあるサイトはアクセスするとクッキーを発行してくるのですが、
どうやって受け取るのでしょうか?
------------------------------------------
$client =& new HTTP_Client();
$contents = $client->get("http://xxxxx/");
$response = $client->currentResponse();
------------------------------------------
http://xxxxx/
↑ここがクッキーを発行してくるのですが、上記プログラムの場合、
どこかに保存されてるのでしょうか?
それとも何か処理をしないと受け取れないのでしょうか?

710nobodyさん:2008/11/06(木) 19:21:45 ID:???
>>707
分からない用語はアルファベット通りに読めばたいてい正解。
iniをイニとか読んじゃうと海外では通じないよ。
他にも間違った例があるから書いとくね。
AMD (×アムド)
PNG (×ピング)
exe (×エグゼ)
sql (×スクル)

ありえないけどSEやってる人でもこんな事言ってたりして驚き。
711nobodyさん:2008/11/06(木) 20:03:12 ID:3NUG2tHm
【PHPのバージョン】php5
【連携ソフトウェア】mysql
【質問内容】

ここで聞くべきなのかわかりませんが質問です。
音楽再生するために<object>タグと<embed>タグを利用しているのですが
ソースを見られると音声ファイルのが表示されてしまうので、

<param name='Filename' value='test.php?id=1'>

のように、PHPに飛ばして

test.phpでは、mysqlに接続してidをキーにファイルパスを取得しています。
IEでは何の問題もないのですが、firefoxでは動作しません。
解決方法をご存知の方よろしくご教授ください。

ちなみに、音声ファイルをダイレクトに呼び出さず、m3uファイルを間に
かませてます。

712711の続き:2008/11/06(木) 20:04:30 ID:3NUG2tHm
全容

<object id='WMP' width='320' height='45' CLASSID='CLSID:22D6F312-B0F6-11D0-94AB-0080C74C7E95'
codebase='http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,4,5,715'
standby='Loading Microsoft Windows Media Player components...' type='application/x-oleobject'>
<param name='Filename' value='test.php?id=$creater'>
<param name='ShowControls' value='true'>
<param name='ShowAudioControls' value='true'>
<param name='ShowPositionControls' value='true'>
<param name='AutoStart' value='true'>
<param name='Volume' value='0'>
<embed name='WMP' type='video/quicktime' pluginspage='http://www.microsoft.com/Windows/MediaPlayer/'
     src='http://www.〜〜test.php?id=$creater' width='320' height='45' showcontrols='1' showaudiocontrols='1' showpositioncontrols='1' autostart='1' volume='0'></embed>
</object>

test.php

header("Content-Type: audio/mpegurl");
〜〜sql文〜〜
readfile($filename, 'rb');
713nobodyさん:2008/11/06(木) 20:28:07 ID:???
test.php?id=1指定すりゃファイル落とせるんじゃないの?
714nobodyさん:2008/11/06(木) 20:54:13 ID:3NUG2tHm
>>713
その辺は色々やってるんで、とりあえず平気です。
715nobodyさん:2008/11/06(木) 21:12:46 ID:???
色々って?
716711:2008/11/06(木) 23:09:35 ID:3NUG2tHm
事故解決しました。

<embed>タグの場合、ファイルパスは絶対パスで記述します。
絶対パスで記述してたのですが、PHPからファイルパスを取得した際にも
絶対パスじゃなきゃいけないようでした。
717nobodyさん:2008/11/06(木) 23:16:24 ID:eN5dgqrG
質問します
プログラムを書いていて、ローカル環境でためしに動かしてみると同じページの同じ処理
(DBから取得したデータに従い、そのページを出力する)をやってるのに
すごく時間がかかるときとかからないときがあります。最悪、タイムアウトします。
自分は趣味プログラマ?なんですがやはりイライラします。
プロのプログラマ、熟練のプログラマの方でも、同じようなケースはあるんでしょうか?
どこに解決の糸口があるのかわからないです
というか、みなさん何度やっても同じ時間で処理するまで修正し続けるんですか?
対応しようがないよ、といいたくなるんですが…
718nobodyさん:2008/11/06(木) 23:26:56 ID:???
どんなプログラムかによる
どの処理に時間がかかっているか、xdebug + wincachegrindとかでチェック
DBはクエリの解析や処理結果をキャッシュすることがある。

DBの問題かどうかをチェックするのに、クエリを直接DBに投げて時間を計測してみる。

以上。
719EXE:2008/11/07(金) 02:28:39 ID:8XmK+NI0
画像作成関数について。
PHPでイメージを作成したいのですが、

画像に文字を書き込むという関数が見当たりません。
どのようにすればよいのでしょうか?
720nobodyさん:2008/11/07(金) 02:32:20 ID:???
721EXE:2008/11/07(金) 02:35:37 ID:8XmK+NI0
自己解決しました^^)
gifで、文字を動かしたり、文字フォントを変えるやり方がわりません。

どうしたらよいのでしょうか?
722nobodyさん:2008/11/07(金) 02:39:21 ID:???
アニメーションには対応してんじゃないか?
探せばあるだろうが普通はFlashでやるんじゃない?
Mingを使った文字動かすサンプルがxamppにあったような気がする
723EXE:2008/11/07(金) 02:41:28 ID:8XmK+NI0
>>720
ありがとうございました。
>>722
文字アニメ作成ツールを見つけました。
http://tagnoheya.com/tools/mojiani.php

こんなのは、どうやって文字を動かしてるのでしょうか…
724nobodyさん:2008/11/07(金) 02:48:41 ID:+2MLBKbM
PHPで遺伝子DNAアルゴリズム組めますか?
725nobodyさん:2008/11/07(金) 02:49:12 ID:???
>>724
組めるけどおまえじゃ無理。
726nobodyさん:2008/11/07(金) 02:50:15 ID:???
ぐぐれ
727nobodyさん:2008/11/07(金) 02:51:06 ID:???
>>723宛ね

>>724
DNAは知らんが遺伝的アルゴリズムは組める
728nobodyさん:2008/11/07(金) 10:43:59 ID:5dI3hGRw
この文を一行で書く方法ありませんか?

$b = explode('-',$a);
$c = 関数($b[1]);


↓こういうふうにしたい
= 関数(explode('-',$a));
729nobodyさん:2008/11/07(金) 11:01:19 ID:???
・配列操作を組み合わせる
・explodeを止めて正規表現などで抜き出す
730nobodyさん:2008/11/07(金) 11:04:05 ID:???
array_map(関数,explode('-',$a));
ってことではなくて?
731nobodyさん:2008/11/07(金) 13:14:33 ID:5dI3hGRw
分かりました。ありがとうございます。
732nobodyさん:2008/11/07(金) 13:54:53 ID:YMX4hGRf
【OS名】
FreeBSD xxx.xxx.org 7.0-RELEASE FreeBSD 7.0-RELEASE #0: Sun Feb 24 19:59:52
【PHPのバージョン】
PHP 5.2.6 with Suhosin-Patch 0.9.6.2 (cli) (built: Jun 26 2008 16:44:58)
【質問内容】
オブジェクトの中身をダンプさせたいです。
配列はvar_dumpとprint_rでデバッグしているのですがオブジェクト用のvar_dumpっぽいのってありますか?
print_rよりもう一歩!なやつらを探しています。

みんなvsとかzendなんやらとかeclipseとかでデバグしてるのかな・・・。
733nobodyさん:2008/11/07(金) 13:57:42 ID:???
オブジェクトの何が見たいの
表示を整形するやつは色々ある
734732:2008/11/07(金) 14:13:25 ID:???
>>733
クラスが何たるかもわかってなかったので、むしろ理解の手助けに内容をダンプさせたかったのです。
こんな形!っていうのは無いです。

自分で調べてたら公式マニュアルの
XIII. クラス/オブジェクト関数
にいろいろと便利そうな関数群が載っていることに気づきました。ちゃんと読んできます。

ちなみに今回はxmlをSimpleXMLElementで読ませてるんですが、属性と子供がオブジェクトで
どうなってるのかよくわかんないです。print_rしたら@がついてるやつとついてないやつと・・・。
勉強してきます。
735nobodyさん:2008/11/07(金) 15:04:19 ID:???
>>732
Reflectionを使うとクラス内のコメントまで全部わかるよ
736nobodyさん:2008/11/07(金) 16:01:34 ID:KL0C61FM
http://neta.ywcafe.net/000362.html

ここ読んでたら、

PHP実行エンジンをコンパイル/インストールすると、
CLI(Command Line Interface)というコマンドラインから
実行するためのインターフェースもデフォルトでインス
トールされるようになったのだ。 CLIは例えば /usr/lo
cal/bin/php といった具合で実行コマンドとしてインス
トールされる。/usr/bin/perl と似たようなものだ。これ
により、画面処理は通常通り、Apache-DSO版で実
行し、バッチ処理はCLIにやらせる、といったことが完
全にサポートされるようになった。

って書いてあるけど、本当なの?
737nobodyさん:2008/11/07(金) 16:08:42 ID:???
いつの時代の記事だよ
738nobodyさん:2008/11/07(金) 16:21:32 ID:KL0C61FM
http://nyx.pu1.net/practice/form/

ここ読んでたら、

フォームからの入力内容は指定したmethod
属性によって$_GETもしくは$_POSTという連
想配列に格納されますが、どちらの属性を選
択した場合でも$_REQUESTとう連想配列に
も格納されます。

、、、って書いてあるんだけど、だったら、全部
$_REQUEST で受ければいいんじゃね?
だめなの?
739nobodyさん:2008/11/07(金) 16:26:05 ID:???
じゃあもっと読め
740nobodyさん:2008/11/07(金) 16:29:45 ID:???
>>735
ありがとう、ありがとう、ありがとうございます。そういえば2,3年前にもそんな名前を聞いた気がしました。参考にします。
741nobodyさん:2008/11/07(金) 16:35:47 ID:KL0C61FM
ボタンを押したら数字が1増える、って
コードを書きたいんだけど、どう書いたらいい?
742nobodyさん:2008/11/07(金) 16:37:55 ID:???
if (ボタンが押された) {
$数字の変数++;
}
743nobodyさん:2008/11/07(金) 16:43:28 ID:KL0C61FM
何回も繰り返したいのです
744nobodyさん:2008/11/07(金) 16:44:44 ID:???
for ($i=0; $i<繰り返したい回数; $i++) {
if (ボタンが押された) {
$数字の変数++;
}
}
745nobodyさん:2008/11/07(金) 16:48:36 ID:???
>>741
ここは依頼スレではないのでヒントだけ。
いろいろとやり方はありますが、とりあえずhtmlのフォーム関連と
phpのPOSTの受け取り方について調べて考えてくださいな
746nobodyさん:2008/11/07(金) 16:53:41 ID:KL0C61FM
>>744
回数は決めてないので、
while使用の例を出してもらえますか?
747nobodyさん:2008/11/07(金) 16:54:31 ID:KL0C61FM
<form name="aaa" action="5.php" method="post">
<input type="submit" name="aaa" value="送信" />
</form>

<?php
$a=0;

if($_REQUEST["aaa"] != ""){
$a++;
print $a;
}

?>

自分でここまでは作ったんだけど、
ボタンを押しても数字が増えないんだよ
748nobodyさん:2008/11/07(金) 16:56:55 ID:???
749nobodyさん:2008/11/07(金) 16:57:23 ID:???
>>747
加算した数値を渡してないからでしょ・・・
>>745の言うとおりだよ
750nobodyさん:2008/11/07(金) 17:09:40 ID:???
くだらね
751nobodyさん:2008/11/07(金) 17:12:29 ID:???
>>740
2〜3年前にReflection聞いたことあるって嘘だろ
752nobodyさん:2008/11/07(金) 17:15:07 ID:???
>>747
hiddenフィールドに数値入れてね
753nobodyさん:2008/11/07(金) 19:33:07 ID:???
>>752
GETでやったほうが手っ取り早い
754nobodyさん:2008/11/07(金) 19:41:41 ID:???
GETでやると、外部からのリンクで数値操作されても防御できない。
ま、REQUESTで処理してる段階で終わってるけどw
POSTもしくはCOOKIE
用途によってはSESSIONを使う方がお勧め
755nobodyさん:2008/11/07(金) 19:42:21 ID:???
どこに数値操作を防ぎたいという話が?
756nobodyさん:2008/11/07(金) 19:51:32 ID:???
どっかにその話が書いてないといけないのか?
リテラシーとしてこういう時にGETは使わない
えw もしかして使ってるの?
757nobodyさん:2008/11/07(金) 19:52:31 ID:???
数値操作を防御できないとか言いつつなぜPOSTもしくはCOOKIEなのかと
758nobodyさん:2008/11/07(金) 19:57:56 ID:???
だから、用途によってはSESSIONて書いてるやん
759nobodyさん:2008/11/07(金) 20:13:10 ID:???
この質問では>>745,752が適切な答えだろ
それ以上ごちゃごちゃ言っても基礎を理解していない人なんだし無意味だ
760nobodyさん:2008/11/07(金) 20:25:06 ID:???
単なる練習課題or遊びだと思ったけど

これを何らかの公開サービスに結びつけるほうがどうかしてる。
内容的にもレベル的にも
761nobodyさん:2008/11/07(金) 20:26:45 ID:???
公開サービスwww
初心者のうちに磨いとくセンスってもんがあるんだよ。
ポストフォームを使ってる時にGETにパラメーター付けるなんて愚の骨頂ww
762nobodyさん:2008/11/07(金) 20:27:38 ID:???
なんでpostメソッドを変えるという発想ができないの?
763nobodyさん:2008/11/07(金) 20:29:41 ID:???
GETフォームにしたって同じ
hiddenに入れるんならパラメーターだが
URLにつけるって意味だろ、>>753はwww
764nobodyさん:2008/11/07(金) 20:30:24 ID:???
>>763
アンカーそこ?
765nobodyさん:2008/11/07(金) 20:32:20 ID:???
>>752は正解 >>753はバッドノウハウ
以上
766nobodyさん:2008/11/07(金) 20:33:39 ID:???
>>763
何を主張したいのか分からん
GETフォームと何が同じ?URLにパラメータを付けたからどうなの?POSTとGETはどちらにどんな問題があって、どちらにすべきなの?
人に伝わる文章を書いてくれ
767nobodyさん:2008/11/07(金) 20:34:27 ID:???
>>765
まさかhiddenに入れたら操作できないとか思っちゃってんの?
768nobodyさん:2008/11/07(金) 20:35:45 ID:???
>>766
わからねぇんならいいよ。URLにパラメータつけてくださいませ

IDさらして質問するんなら別の人が答えてくれるんじゃね?
おれはお断りだが

いや、お前は知りたいんじゃなくて、煽ってるだけってのはわかってて釣られてるわけだがw
769nobodyさん:2008/11/07(金) 20:36:22 ID:hn1Talld
下らねぇ質問はID出して書き込みやがれ
下らねぇ喧嘩もID出して書き込みやがれ
おまえらみっともないぜ
770nobodyさん:2008/11/07(金) 20:37:18 ID:???
>>768
何だ説明できないんじゃないか
カウントアップを実現するだけならhiddenに入れてpostで持ちまわすよりgetでやったほうが遥かに楽
postでやるメリットなんか何かあるのか?
771nobodyさん:2008/11/07(金) 20:37:46 ID:???
>>767
本人操作、外部からリンク、外部からフォーム、セッション固定攻撃
どれをどのくらい意識するかは、用途によると最初から書いてるが、それでも不満かおい。
772nobodyさん:2008/11/07(金) 20:38:47 ID:N0eRiSkb
>>759の言うとおりその二つ以外は余計だ
まぁ、そんなことも理解できないのだろう
773nobodyさん:2008/11/07(金) 20:39:34 ID:???
>>770
質問者がPOSTでフォームとボタン作ってるってことは、パラメーターは
POSTフォームの中でhiddenでやるのが妥当。
それを、URLに埋め込むなんて愚の骨頂 何度目だこれ。
774nobodyさん:2008/11/07(金) 20:39:52 ID:???
>>768
釣られて乗せられてレスすんなよ
同じバカに見られるぞ
775nobodyさん:2008/11/07(金) 20:40:21 ID:???
>>771
だからそれはお前の勝手な思い込みじゃん。違う?
冷静に747のコードを見てみろ。それでも771のようなことが言える?
俺にはピント外れまくったアドバイスにしか見えない。

それと、getでやるよりpostでやったほうが良いケースを教えてくれ
776nobodyさん:2008/11/07(金) 20:42:56 ID:???
>>773
質問者がメソッドをpostで書いているから処理は必ずpostリクエストで実現しなければならないってこと?
もうちょっと柔軟性ってものが必要じゃね?頭固いよ。
特に相手は初心者の質問者だぞ。
「getメソッドにしたら?」だけでどれだけ簡単化できることか。
777nobodyさん:2008/11/07(金) 20:43:49 ID:???
>>775
>>771でFAだろ
詳しく知りたきゃ質問立てろw
778nobodyさん:2008/11/07(金) 20:44:36 ID:???
横からすまんが、GETメソッドにしたって簡単にならないよな?
779nobodyさん:2008/11/07(金) 23:21:46 ID:???
SESSIONでいいんじゃ・・・
GETにしろPOSTにしろ外部にデータ出して持ちまわすって事は
改竄の可能性が上がるわけだし・・・
780nobodyさん:2008/11/07(金) 23:26:20 ID:???
俺はpostが好き。
後747さんへsessionでやりましょう。
答えはここ
http://www.scollabo.com/banban/php/ref/ref_session_start.html


781nobodyさん:2008/11/07(金) 23:41:31 ID:sUo3rc04
フレームワークって何ですか?
分かるように説明してくださる方お願いします
782nobodyさん:2008/11/07(金) 23:43:09 ID:sUo3rc04
自己解決しました。
失礼しました
783nobodyさん:2008/11/08(土) 03:34:18 ID:JnA3Aa5O
(1)getでURLにパラメーターつけてやる
(2)POSTでhideenに埋め込む
(3)クッキーで
(4)セッションで


おおざっぱに言って
以上の4つの方法があるということですね。
それで、(1)はセキュリティ的に危険だと。
784nobodyさん:2008/11/08(土) 05:25:35 ID:???
(1)がとりたててセキュリティ的に危険ということはないです。
他の方法でも注意するべきことはあります。

ただ、だれかが踏んだURLをどっかにコピペしたりと、
"本人も他人も悪意がない状態"でも数値が漏れたり、誤動作の原因になるので、
目的の仕様を実現できなくなります。
個人的なデータを単純に埋め込むのには向かない。
個人的なデータをGETで正常に回すときはトークンを入れたりと
かえって手間がかかる。
785nobodyさん:2008/11/08(土) 06:17:07 ID:JnA3Aa5O
もしかして、
mySQLでデーターベースに値を格納して、
一回ごとに、データーベースからデーターを
ひっぱってきて、それを表示する、って方法でもできる?
786nobodyさん:2008/11/08(土) 08:22:30 ID:???
データベース使う方法はセッションと構図は同じこと
セッションIDをクッキーまたはクッキーが無効なら埋め込みで渡して
データはサーバ側で管理する
787nobodyさん:2008/11/08(土) 09:32:08 ID:???
>>783
それは間違い。GETもPOSTも同じ。
あとクッキーとセッションも同じ。
「セキュリティ」的に危険とか言って「セキュリティ」が具体的に何を意味してるのか分かってないべ?
低レベル回答者に騙されすぎ。
用途によってどれも意味がある。上をちゃんと読んで自分で理解してから判断すれ。
788nobodyさん:2008/11/08(土) 10:07:06 ID:JnA3Aa5O
できれば継続的に使いたいんだけど、
もしかして、ファイルに値を保存して、
そこのファイルから数字を取ってきて
表示、ってしたほうがよかったかな?
789nobodyさん:2008/11/08(土) 10:35:00 ID:???
>>788
個人を特定して使いたいなら、クッキーにキーを保存して
SQLiteにでもデータを保存するのがお手軽かな。
790nobodyさん:2008/11/08(土) 10:40:34 ID:???
>>787
> 用途によってどれも意味がある

これは用途によって「違い」を使い分けるという意味でしょうか?
それとも、「同じ」だからどれでも意味があるという意味でしょうか?
791nobodyさん:2008/11/08(土) 10:46:39 ID:???
>>788
ページ別に「Web拍手」を記録したいとかいう用途なら、
それなりのソースを拾って読むのがお勧め。
792nobodyさん:2008/11/08(土) 12:09:28 ID:JnA3Aa5O
http://www.komonet.ne.jp/~php/chap11.htm

このページに
<?php
print ($hoge);
?>

これをサーバー上の適当なディレクトリにアップし、ブラウザから次のように入力します。

http://www.***.***.jp/~***/***/test.php3?hoge=Hello

すると、引数「Hello」を受け取ったtest.php3はブラウザに「Hello」と出力します。

、、、と書いてあるので実際に実験したら、
Notice: Undefined variable: hoge in C:\xampp\htdocs\1.php on line 2

と出るだけで、教科書のとおりにならないんですけど、なんで?
793nobodyさん:2008/11/08(土) 12:21:37 ID:???
>>792
そこに書いてある情報が古いから
PHP3あたりまではそれでいけたと思う
今も設定すればできるけど
$_GET['hoge']とするほうが良い
794nobodyさん:2008/11/08(土) 12:22:49 ID:???
書いた後にそのページみたけどすぐ下に書いてるね
4.2以降の〜ってやつ
795nobodyさん:2008/11/08(土) 12:39:29 ID:JnA3Aa5O
もしかしてphp3とphp4とで
かなり挙動が変わったのかな?
796nobodyさん:2008/11/08(土) 12:59:03 ID:???
かなりというほど変わっていないが、PHP3はもう化石だろさすがに
797nobodyさん:2008/11/08(土) 13:11:41 ID:???
>>795
そのレベルでそんなことやろうとしても効率悪いし
質問も基礎的すぎて無駄だから
まずマニュアルか入門本読んでからやれよ
798nobodyさん:2008/11/08(土) 13:53:27 ID:???
くだすれPHP(超初心者用)4
ttp://pc11.2ch.net/test/read.cgi/php/1213356756/l50
799nobodyさん:2008/11/08(土) 13:58:51 ID:???
2chへのリンクぐらい直リンしろよw
800nobodyさん:2008/11/08(土) 14:22:21 ID:ONquUP0K
画像を表示するページをirvineなどのダウンロードツールから守る為にはどうすればいいですか?
801nobodyさん:2008/11/08(土) 14:31:35 ID:ne9hzuFx
すみませんが、質問です。

PHP5では、あるstaticメソッドを他のメソッドから呼び出す場合、
self::funcName();
という形で呼び出しますが、PHP4にはselfは無いようです。

PHP4ではどのようにして他のメソッドから呼び出せばよいのでしょうか?

ClassName::funcName();
というやり方で呼べるのは確認しましたが、これはクラス名が変更されたとき
に修正箇所が増えてわずらわしいです。もっと良い方法は無いのでしょうか?
802nobodyさん:2008/11/08(土) 15:09:32 ID:???
>>800
JavaScriptを使ってirvineが解釈できない書き方する
803nobodyさん:2008/11/08(土) 15:29:12 ID:???
>>801
__CLASS__
4にあるかは知らん
804nobodyさん:2008/11/08(土) 16:17:08 ID:???
>>803
ありがとうございます。4.3.0以降にあるようです。
しかし__Class__はクラス名を納めた定数であり、そこからstaticメソッドを呼
び出す方法が、私にはわかりません。

Javaでいう Class.forName() みたいなものがPHP5, およびPHP4にあるのでしょ
うか?PHP5かららリフレクションAPIが存在するようですが、調べてもよく分か
りません。
805nobodyさん:2008/11/08(土) 16:24:33 ID:???
クラス名が変更されたときに修正箇所が増えて煩わしいんだべ?
んで__CLASS__でクラス名が取れるんだべ?
つまりそういうことだ
806nobodyさん:2008/11/08(土) 16:27:00 ID:???
あともう一つ質問なのですが、staticなメソッド間で共有できる、staticなプ
ロパティ変数は、PHP4には存在しているのでしょうか?

PHP5なら、static $変数名というプロパティ変数を宣言すればよいのですが。

メソッドの中で変数にstatic宣言子をつければ、そのメソッドの中だけで永続
した変数を作れますが(C のstatic変数と同じ)、staticメソッド間で共有す
ることは出来ませんし。
807nobodyさん:2008/11/08(土) 16:34:55 ID:ne9hzuFx
すみません、いつもの癖でsageで書き込んでしまっていました。

>>805
もしかして evalを使えとおっしゃっていますか?
eval(__Class__ . "::fuga1();");
たしかにこれなら動きますが、できたらevalは最後の手段にしたい気が。
808nobodyさん:2008/11/08(土) 16:40:50 ID:???
>>806
マニュアルくらい読んでください
>>807
・・・
809nobodyさん:2008/11/08(土) 16:52:51 ID:ne9hzuFx
>>808
すみません、たしかにマニュアルに書いてありました。

http://search.net-newbie.com/php/keyword.paamayim-nekudotayim.html
> クラス関数はありますが、クラス変数はありません。

何かその代替物として使えるものもないということでしょうか?

どうも呆れられてしまったようで申し訳ありません。ですがまじめに考えても
分からないのです。どうかお答えいただける範囲でお教えいただけたらと思い
ます。
810nobodyさん:2008/11/08(土) 17:01:34 ID:ne9hzuFx
関係ありそうなページを見つけました。

PHPで変数のクラス名からインスタンスを生成する - (DxD)
http://dxd8.com/archives/110/

しかし new __Class__(); はエラーになります。
PHP Parse error: syntax error, unexpected T_CLASS_C, expecting T_STRING or T_VARIABLE or '$' in /home/agni/hoge.php on line ??

まあ今回はstatic呼び出しですから、newは関係ありませんし、そもそも上の
ページでもstatic呼び出しには失敗しているのですが。

あと、これは成功することが分かりました。
$hoge = __Class__;
$fuga = new $hoge();
$fuga-->fuga1();

しかしこちらはダメです。
(new $hoge())-->fuga1();

何でこうなるのかぜんぜん見当がつきません。
811nobodyさん:2008/11/08(土) 17:55:03 ID:???
>>801
PHP4インスコすんの面倒だから試してないけど

call_user_func(array(__CLASS__, 'funcName'));
812nobodyさん:2008/11/08(土) 18:22:08 ID:???
>>810
それは無理
813800:2008/11/08(土) 19:42:42 ID:ONquUP0K
>>802
PHPでできないですか?


それと別の質問なんですが
データベースに入っている画像のデータを、jpgなどのヘッダを吐いて画像を表示するhtmlの
filesizeが取得できません。

filesize(gazo.html?no=123456)//取得できない
(※123456は123456.jpg)

gazo.html?no=123456にアクセスするとちゃんと画像は出るのに
関数内では「ファイルがありません」とエラーがでます。


参考: filesize(123456.jpg)//ローカルフォルダにある画像ならできる


gazo.html?no=123456で表示する画像のサイズなどを取得するにはどうすればいいですか?
画像の縦横のサイズも知りたいです。
814nobodyさん:2008/11/08(土) 19:57:42 ID:???
そのhtml何で書いてんの?
815nobodyさん:2008/11/08(土) 20:32:35 ID:???
>>813
filesize("http://hoge.com/gazo.html?no=123456");ならいけるかも。
それでもいけないならallow_url_fopenかなんかのせい
816800:2008/11/08(土) 20:57:11 ID:ONquUP0K
>>814
何でというのは文字コードとかですか?
画像ページがEUCでその画像を表示するページがsjisです。

>>815
いろいろやってみましたがうまくいきません。
やっぱりfilesizeなどの関数は既にフォルダにある画像じゃないと無理なんでしょうか。
もう少し研究してみます。
817nobodyさん:2008/11/08(土) 22:04:22 ID:???
プログラミングとかやったことないんですよ
デザインの方をずっとやってるんでね。
何かやりたくなってきまして、PHPをやるより先にPearlを勉強した方が効率良いんでしょうか?
818nobodyさん:2008/11/08(土) 22:04:56 ID:rDOPC16R
ID表示忘れました。
819nobodyさん:2008/11/08(土) 22:15:24 ID:???
>>817=818
効率重視ならphpの方が入りやすいんでない?
ていうかこのスレに来てPearl(正:Perl)とかないわw
820nobodyさん:2008/11/08(土) 22:16:20 ID:???
>>817
PHPとPerlは別言語です
趣味なら1つ理解すれば十分だと思います
821nobodyさん:2008/11/08(土) 23:27:00 ID:rDOPC16R
>>819-820
ありがとうございます。
PearlじゃなくてPerlでしたね。恥ずかしい(ノ_ノ)
822nobodyさん:2008/11/09(日) 02:01:59 ID:yvtnk3lz
PerlからPHPに流れた人数 > PHPからPerlに流れた人数

Perlのほうが古いから当然といえば当然なんだが参考までに
823nobodyさん:2008/11/09(日) 03:11:08 ID:/aQGvo8I
現在ZendFW勉強中なんですが、javascriptとかcssを相対配置で
リンクする方法ってないんですかね?
824nobodyさん:2008/11/09(日) 03:16:43 ID:???
は?ZFと関係あんのそれ?Layout?
825nobodyさん:2008/11/09(日) 03:17:59 ID:8icz1Dot
>>811
うまく動きました。ありがとうございます!
しかし、せっかく教えていただいたものの、分かりやすさという点では、
Hoge::fuga1(); と書いてしまったほうが良い気がしました。
PHP4はそういうものだと割り切るべきなのかもしれません。
826nobodyさん:2008/11/09(日) 03:25:40 ID:???
割り切るっていうか
php4の使用を真剣に考えなおしたほうがいいかと思います
827nobodyさん:2008/11/09(日) 03:26:03 ID:/aQGvo8I
>>824
もしかしたら関係ないかもしれないんですが、
ZFだとhttp://〜/アクションコントローラ/アクション名/
って形でアクセスしますよね?
そうすると、アクションや引数によってアクセスするディレクトリが
違う事になる為か、相対パスだとjsやcssが呼び出せない気がするの
ですが・・・。
それとも別の原因で呼び出せないのでしょうか?

828nobodyさん:2008/11/09(日) 03:32:06 ID:???
絶対パスで書きなよ
どうせ末尾のスラッシュの有無で相対位置変わるし
829nobodyさん:2008/11/09(日) 03:39:45 ID:/aQGvo8I
>どうせ末尾のスラッシュの有無で相対位置変わるし
確かにそうですね。
今まで相対パスで書いてたというだけの理由で変えたくなかったんですが、
そんな事に拘ってるのも馬鹿ですよね。
有難うございます!
830nobodyさん:2008/11/09(日) 06:27:53 ID:HMbby/Hd
仕様書
(1)ボタンを押す
(2)ファイルから、1行読み込む
(3)読み込んだ変数に1を足す
(4)足し算が終わったら、その加算された変数を、ファイルに書き込む
こういうことをしようとおもって、次のコードを書きました。
<html>
<head>
<title>file2</title>
</head>
<body>
<form name="aaa" action="1.php" method="post">
<input type="submit" name="aaa" value="送信" />
</form>
<?php
$a=0;
if($_REQUEST["aaa"] != ""){
$fh=fopen("file2.txt","w+");
$a=fgets($fh);
$a++;
fwrite($fh,$a);
fclose($fh);
print "ファイルの書込完了";
}
?>
</body>
</html>
でも、file2.txtに、何も書き込まれていません。
どこが悪いですか?
831nobodyさん:2008/11/09(日) 07:37:50 ID:???
最近回答者のレベルが落ちてきたな。
みんな忙しいのかな。
832nobodyさん:2008/11/09(日) 07:51:26 ID:???
Warning が表示されたとき、
「ビーッ、ビーッ、ビーッ、ウオーニング、ウオーニング、」
って合成音声で鳴らして欲しいんだけど、無理?
833nobodyさん:2008/11/09(日) 08:54:16 ID:YgxImz5T
初心者が1から始めるのに良い本はありませんか?

題名を教えていただけると助かります
834nobodyさん:2008/11/09(日) 09:31:42 ID:???
>>830 w+はオープンに成功したらデータを消すよ
835nobodyさん:2008/11/09(日) 09:46:05 ID:HMbby/Hd
>>834
まじで?ありがとう。
836nobodyさん:2008/11/09(日) 09:51:08 ID:HMbby/Hd
次の質問なのですが、
ファイル操作関連の関数で
1行読み取って、それは
デフォルトで文字列扱いされてますか?

つまり、いったん数値化する関数を通して
数値化しないと、+1とか計算できないのか?
ということです。

「1」を読み取ったとしても、それが文字列として
扱われているのであれば、足したり引いたりできないと
いうことです。
837nobodyさん:2008/11/09(日) 10:35:36 ID:HMbby/Hd
$a++だと数字が増えなかったのですが、
++$aにしたら増えるようになりました。

こういうものなの?
838nobodyさん:2008/11/09(日) 10:39:58 ID:???
839nobodyさん:2008/11/09(日) 10:43:50 ID:HMbby/Hd
よく確認したら、
$a++; でも動かないし、
++$a;
でも動かないのですが
$a=$a+1;
なら動きます。
なんで?
840nobodyさん:2008/11/09(日) 10:46:31 ID:???
お願いします。マニュアル読んでください。
841nobodyさん:2008/11/09(日) 10:50:02 ID:HMbby/Hd
>>840
はぁ?人にお願いする時の態度がなってないなぁ?!
842nobodyさん:2008/11/09(日) 10:53:50 ID:HMbby/Hd
そんなわけで途中までできたんだけど、
どうもいまいちなんだよなぁ

まず、最初に画面に表示されたときに、
0って表示してほしいのと、それと
リロードしただけで、勝手に数字が増えるのが
きにくわない。ボタンを押したときだけ増えるようにしたい。

<html>
<head>
<title>test1</title>
</head>
<body>

<form name="aaa" action="1.php" method="post">
<input type="submit" name="aaa" value="送信" />
</form>

<?php

if($_REQUEST["aaa"] != ""){
$fh=fopen("file2.txt","r");
$a=fgets($fh);
$a=$a+1;
$fh=fopen("file2.txt","w");
fwrite($fh,$a);
fclose($fh);
print "あなたの金玉の数->$a";
}
?>
</body>
</html>
843nobodyさん:2008/11/09(日) 11:03:14 ID:7n5Q/DXA
>>ID:HMbby/Hd
変数の型の取り扱いはどうなっているか、
実際の変数の型が何か、どんな値が入っているか(をどうやって確認するか)、
エラーや警告をどうやってみるか、
そういったことはご存じですか?
844nobodyさん:2008/11/09(日) 11:09:05 ID:HMbby/Hd
<html>
<head>
<title>test1</title>
</head>
<body>
<form name="aaa" action="1.php" method="post">
<input type="submit" name="aaa" value="送信" />
</form>
<?php
$fh=fopen("file2.txt","r");
$a=fgets($fh);
print "あなたの金玉の数->$a<br>";
if($_REQUEST["aaa"] != ""){
$fh=fopen("file2.txt","r");
$a=fgets($fh);
$a=$a+1;
$fh=fopen("file2.txt","w");
fwrite($fh,$a);
fclose($fh);
print "あなたの金玉の数->$a<br>";
}
?>
</body>
</html>
初期画面で、「0」って表示するバージョンができた。しかし、
リロードするだけで、データーが勝手に送信されてしまってカウントアップする
仕様はどうにもできないのか??
845nobodyさん:2008/11/09(日) 11:10:45 ID:HMbby/Hd
>>843
数値型と文字型の違いは、
コンテキストで自動判別かな?
perlではそうだったし。

変数の型の確認は、何か専用の関数があったかな?
それにぶちこめば自分で調べられると?

とりあえず、文字型を計算式にぶちこむと
自動でPHPが「空気を読んで」数値として計算してくれる、
であってる?
846nobodyさん:2008/11/09(日) 11:12:32 ID:7n5Q/DXA
>>845
なるほど。よくわかりました。
回答ありがとうございました。
847nobodyさん:2008/11/09(日) 11:12:48 ID:???
キミの言うリロードってブラウザの再読み込みのこと?
だとしたら再読み込みだから前回呼んだときとまったく同じパラメータを渡してリクエストしてるからカウントアップするの当たり前
848nobodyさん:2008/11/09(日) 11:26:00 ID:HMbby/Hd
>>847
つまり、、、あたりまえの動作であり、
回避は不可能だと、、、??
849nobodyさん:2008/11/09(日) 11:26:38 ID:HMbby/Hd
>>846
いやなにか
間違ってるところはなかったの?
850nobodyさん:2008/11/09(日) 12:02:26 ID:HMbby/Hd
もしかして2画面構成にしないとだめなの?
851nobodyさん:2008/11/09(日) 12:11:47 ID:???
>>HMbby/Hd
フォームを表示する時にフォームとSESSIONかなにかに同一の一意のIDみたいなものを入れる
送信された時に同一のものかチェックして同一であればカウントアップ
また一意のIDみたいなものを入れなおす
852nobodyさん:2008/11/09(日) 12:18:48 ID:7n5Q/DXA
>>ID:HMbby/Hd
あなたが求めているのは何ですか?
・ばっちり動くコードが欲しい。
・おかしいところを直して欲しい。
・おかしいところを指摘して欲しい。
・おかしいところに関する情報に導いて欲しい。
・できるまでおしゃべりにつきあって欲しい。
・罵倒して欲しい。
853nobodyさん:2008/11/09(日) 12:19:21 ID:HMbby/Hd
一応、2画面方式にしたらうまくいった。
「9.php」と「10.php」

9.php

<html>
<head>
<title>9.php</title>
</head>
<body>

<form name="aaa" action="10.php" method="post">
<input type="submit" name="aaa" value="送信" />
</form>

<?php
$fh=fopen("file2.txt","r");
$a=fgets($fh);
fclose($fh);
print "あなたの金玉の数?->$a<br>";

?>
</body>
</html>
854nobodyさん:2008/11/09(日) 12:20:43 ID:HMbby/Hd
「10.php」

<html>
<head>
<title>test1</title>
</head>
<body>
<form name="aaa" action="10.php" method="post">
<input type="submit" name="aaa" value="送信" />
</form>
<?php


if($_REQUEST["aaa"] != ""){
$fh=fopen("file2.txt","r");
$a=fgets($fh);
$a=$a+1;
$fh=fopen("file2.txt","w");
fwrite($fh,$a);
fclose($fh);
print "あなたの金玉の数->$a<br>";
}
?>
</body>
</html>


これで、最初9.phpにアクセスして、ボタンを押したら
10.phpに遷移する、って方式にしたらすべてうまくいった。
855nobodyさん:2008/11/09(日) 12:37:50 ID:???
数日前からだけどいい加減にしてくれ
856nobodyさん:2008/11/09(日) 16:15:40 ID:3SEtx2Wi
PHP5

PHP DOMに関する質問です。

<p id="afe">あいうえお、<br />かきくけこ</p>

というHTMLがあり、#afeの中身を取り込みたいのです。以下のようなスクリプトを書きました。

$doc = new DOMDocument('1.0', 'utf-8');
$doc->loadHTML($file);
$xpath = new DOMXPath($doc);
$query = 'id("afe")';
$string = $xpath->query($query)->item(0)->nodeValue;

$string には 「あいうえお、<br />かきくけこ」 と入ってほしいところなのですが、
改行が除去されてしまって 「あいうえお、かきくけこ」 と入ってしまいます。
JSでいう innerHTML のようなことをしたいのですが
PHPのDOMでうまく再現する方法はないでしょうか?
857nobodyさん:2008/11/09(日) 17:19:34 ID:mYYJpCRy
PHPで掲示板作ったんですが、AU携帯からの書込みだけ文字化けになります。(PC、ドコモ、ソフトバンクは正常動作)

これだけじゃ、情報不足かも知れませんが、どのソースを晒したらよいですか?
858nobodyさん:2008/11/09(日) 17:21:02 ID:???
全部
859nobodyさん:2008/11/09(日) 18:25:54 ID:yvtnk3lz
>>857
たぶん文字コード
860nobodyさん:2008/11/09(日) 18:40:52 ID:???
絵文字入力対応の掲示板システム知らない?
携帯メインでいい。カテゴリとか増やせるやつ。
有料でもいいや。
861nobodyさん:2008/11/09(日) 18:54:37 ID:???
862X ◆u2YjtUz8MU :2008/11/09(日) 22:06:07 ID:qnlI1HVs
PHP セッション
session_start();
でセッションスタートし、発行したセッションIDに有効期限(5分間)を付けようと思ってマニュアルを見ました。
これで、うまくいくはずなんですが、どうもいきません。なぜでしょうか?
<?php
session_cache_limiter('test');
$cache_limiter = session_cache_limiter();
$cache_expire = session_cache_expire(10);
session_start();
echo <<< FORM
limit:$cache_limiter
<br>
有効期限:あと:$cache_expire秒
<br>
FORM;
?>
863モモ:2008/11/09(日) 22:45:08 ID:W0LczAda
php.ini の allow_url_fopen って、セキュリティ上の問題で
off にするのがよいって言われているようだけど、
on にすると、どういうセキュリティ上の問題があるのですか?
864nobodyさん:2008/11/09(日) 23:10:45 ID:???
ぐぐれ
865856:2008/11/09(日) 23:26:50 ID:3SEtx2Wi
自己解決しました。
改行もDOMElementだったので

$doc = new DOMDocument('1.0', 'utf-8');
$doc->loadHTML($file);
$xpath = new DOMXPath($doc);
$query = 'id("afe")';
$afe = $xpath->query($query)->item(0);
$string = '';

foreach($afe as $val)
{
    $string .= $val->nodeValue ? $val->nodeValue : '<'. $val->tagName .' />'
}

でいけました。ご迷惑おかけした。
866nobodyさん:2008/11/10(月) 03:02:53 ID:VBUUv9O7
ttp://mamok.com/2007/06/05/342/
上記ページにQuickFormのチェックボックスで、フリーズ時に
選択されていない項目を表示しない様にする方法が書かれていますが、
ラジオボタンでも同じ様な事できないですか?
どこをいじれば良いかだけでも教えて頂ければありがたいのですが・・・。
867nobodyさん:2008/11/10(月) 03:08:25 ID:???
ドキュメントくらい読め
868nobodyさん:2008/11/10(月) 03:16:13 ID:VBUUv9O7
>867

って事はradio.phpを継承すれば良いんでしょうか?
radio.phpのgetFrozenHtml()を下記の様に変更する事で、
(x)は消す事が出来たのですが、選択されていない項目のテキスト
が消せません。
radio.phpにはそれらしき部分がないので、どんどん継承元を
遡って探してるんですが、いったいどこでテキストの出力を
してるのかさっぱりで・・・。

function getFrozenHtml(){
if ($this->getChecked()) {
return '<tt style="display:none">(x)</tt>' .
$this->_getPersistantData();
} else {
return '<tt style="display:none">( )</tt>';
}
} //end func getFrozenHtml
869nobodyさん:2008/11/10(月) 03:35:33 ID:VBUUv9O7
>867
ありがとうございます!
解決しました。やっぱりradio.phpにありました。
変数名が「label」なんて名前だから、HTMLの<label>の
事かと思っちゃいました。

function toHtml(){
if (0 == strlen($this->_text)) {
$label = '';
} elseif ($this->_flagFrozen) {
// $label = $this->_text;
$this->getChecked() ? $label = $this->_text:"";
} else {
$label = '<label for="' . $this->getAttribute('id') . '">' . $this->_text . '</label>';
}
return HTML_QuickForm_input::toHtml() . $label;
} //end func toHtml
870nobodyさん:2008/11/10(月) 06:36:28 ID:e5UeAomX
パーミッションの練習と確認をするので
ubuntuをWindows2000のマシンに入れるんだけど、
WUBIとVMWareとどっちがいい?
871nobodyさん:2008/11/10(月) 08:20:20 ID:T33vx8gS
【OS名】Mac Leopard , MAMP 1.7.1
【PHPのバージョン】php 5.2.5
【連携ソフトウェア】mysql 5.0.41
【質問内容】
CSVファイルを指定すると、データベースに
自動的に(テーブルと)フィールドを作成して、
読込んでくれるライブラリとかありますか?
872nobodyさん:2008/11/10(月) 08:27:16 ID:???
可哀想なぐらいの知ったかヤロー

http://oshiete1.goo.ne.jp/qa3487572.html
873nobodyさん:2008/11/10(月) 08:29:13 ID:???
教えて!gooの奇妙な、おせっかいな回答者
回答者:Parantica
http://oshiete1.goo.ne.jp/user.php3?u=699095
874nobodyさん:2008/11/10(月) 08:43:07 ID:???
>>872-873
あれほど言ったのに、まだそんなカキコするですか!もう許さんです!
あんたを許すわけにはいかんです!こんなカキコでレスたくさん付くとでも
思ってるなんて頭おかしーよです!あんたみたいなバカ初めて見たです!
あんたみたいなバカ、ゴキブリ以下です!あんたみたいなバカ、ウジ虫以下です!
死んでほしーです!つーか、死ぬべきです!あんたは絶対に許されないです!
勘違いしたバカを許すわけにはいかんのです!面白半分にいい加減なカキコ
するヤツなど許さんです!キャラメルコーンのピーナッツをケツの穴に詰めて
死ねよです!!!
今まであんたがどんな生き方してきたか知らんけど、どーせひどい生き様
だったと想像出来るです!あんたのカキコから読みとれるです!バカ特有の
匂いがするです!あんたのことが全く理解出来んです!あんたは絶対許さんです!
死んでも許さんです!地獄で苦しめよです!それでも足らんくらいです!
豆腐の角に頭ぶつけて死ねよです!!!
あんたもっと現実を知れよです!いつまでも引きこもってネクラなことしてる
場合じゃないよです!でも、もー手遅れです!あんたは何をやってもダメです!
この世に生まれてきたことを後悔してもダメです!あんたは生まれ変わっても
どうせダメ人間に決まってるです!絞め殺したいけどあんたに触るのが嫌なので
やめるです!でも、あんたみたいなカスは死ねよです!風呂の排水溝に吸い込まれて
死ねよです!!!
絶対許さんです!絶対許さんです!絶対許さんです!あんたみたいなヤツは
絶対許さんです!早く消えろです!さっさとこの世からいなくなれよです!!!
いつまでも勘違いしたまま生きていけると思ったら大間違いだよです!この
まま生きててもお前にはいーことなんにもねーよです!何でもいいからさっさと
死ねよです!!!
875nobodyさん:2008/11/10(月) 09:29:42 ID:???
>>871
簡単なんだからそんくらい作りなよ
876nobodyさん:2008/11/10(月) 10:58:29 ID:T33vx8gS
>>875
そうですね・・・。ありがとうございました。
877nobodyさん:2008/11/10(月) 14:54:04 ID:e5UeAomX
パーミッションの設定なんだが、
phpファイルをFFFTPでアップロードしてみたところ、
初期値でパーミッションが644に自動で設定されるようなんだが、
このままの設定でいいのかな?
878nobodyさん:2008/11/10(月) 15:14:09 ID:e5UeAomX
*.phpのファイルのパーミッションを604にしてみたんだが、
これって「実行」権限与えてないですよね。

にもかかわらず、phpのファイルが動いてしまうんです。

なんで??
879nobodyさん:2008/11/10(月) 15:16:12 ID:???
CGIとmod_phpの違い
880nobodyさん:2008/11/10(月) 15:17:56 ID:???
SSIに実行権限要らないのと同じこと
実行ファイルじゃない、wwwサーバのモジュールがファイルをパースしてるだけ
881nobodyさん:2008/11/10(月) 15:22:03 ID:???
wwwサーバのモジュールがファイルをパースしてるだけwwwwww に見えた
882nobodyさん:2008/11/10(月) 15:32:09 ID:e5UeAomX
今、あらためて試してみたら、
400でphpファイルが読み込めて、実行もできるんですけど、
これでいいんですか?

これってオーナーに読み込み権限与えてるだけですよね?
883nobodyさん:2008/11/10(月) 15:52:35 ID:Dy5BRpo3
・ウェブサーバーの実効ユーザーがファイルの所有者だった。
・ウェブサーバーが特権ユーザーで動いていた。
・パーミッションを設定したつもりが実は設定できていなかった。
・パーミッションを設定しているファイルと実行されているファイルが別物だった。
884nobodyさん:2008/11/10(月) 17:50:31 ID:O2+Qj2O+
<?php

$contents = @file('ファイル名.csv');
$index = 0;
foreach($contents as $line){
$index++;
if($jibun_kekka == $index){
$a = split(",", $line);
print('<div align="reft"><font size="2">あなたの点数は</font></div>
<div align="center"><font color="#ffff00"><font size="5">');
$score = $tensuu * 2;
print $a[$score];
print('</font><font size="3">点</font></font></div>
<div align="right"><font size="2">です。</font></div>');
}
}
?>

$tensuuはGETで参照してる。
エラーじゃなくて表示されない。
誰かわかりませんか?
885nobodyさん:2008/11/10(月) 18:45:24 ID:???
>>884
$jibun_kekkaってどこから出てきたんだ
886nobodyさん:2008/11/10(月) 19:02:17 ID:NwtIogKV
PHP掲示板を作ったんですが、文字化け修正が成功したか
AU・ソフトバンクユーザーの方、テスト書込みしてもらえませんか?

http://www.cyber-markets.jp/pb-bank/
887nobodyさん:2008/11/10(月) 19:31:35 ID:THW3wGqR
文字を符号化方式で表示したいのですが関数などあるでしょうか?
たとえば「あ」だったら「82A0」とか「0x820xa0」みたいに表示してほしいのですが
888nobodyさん:2008/11/10(月) 19:54:39 ID:???
それは2進数を16進表示したいって意味だよね
889nobodyさん:2008/11/10(月) 20:15:58 ID:???
urlencodeして%を取り除く
890nobodyさん:2008/11/10(月) 23:18:01 ID:???
教えて!gooの奇妙な、おせっかいな回答者
回答者:Parantica
http://oshiete1.goo.ne.jp/user.php3?u=699095
891nobodyさん:2008/11/10(月) 23:23:36 ID:???
>>886
シミュレータ使って自分でやれよ。
auは一時配布停止してたかもしれんけど。
892nobodyさん:2008/11/10(月) 23:24:48 ID:???
>>886
というかテスト機くらい用意しようぜw
893nobodyさん:2008/11/10(月) 23:30:57 ID:???
テスト機ってどういうの?
まさか携帯電話をいくつも揃えるんじゃないよな?
894nobodyさん:2008/11/10(月) 23:32:37 ID:???
892が言ってるのは、そのまさかかと
895nobodyさん:2008/11/10(月) 23:41:52 ID:???
仕事でやるなら実機は必須ではあるけどなぁ
896nobodyさん:2008/11/11(火) 01:17:52 ID:???
携帯のエミュレーターみたいのいっぱいあるだろ
897nobodyさん:2008/11/11(火) 02:16:08 ID:???
メールやHTTPのゲートウェイの挙動は実機じゃないと最終的な確認ができない。
htmlの文法チェック程度ならエミュで良いかもしれんけど。
898nobodyさん:2008/11/11(火) 03:56:37 ID:ElDfrokl
あるPHPから
<?php include ""; ?> で呼び出したPHPファイルに
さらに<?php include ""; ?>でよびだす事はだめなんですよね?

例:
ある画像出力PHPの、ヘッダー、中央、フッターをテンプレとして管理楽にするためPHPでincludeする
呼び出されたヘッダー,php のリンク先をランダムにしたいから
その 中央テキスト.php からさらにリンク先をランダムに変える.phpを include でよびだして処理する。

自らソースをかけないのでフリーPHPを使ってます。
<?php include ""; ?>という事を覚えた作業がかなり楽になったんですが
上記通り動かすにはどうすればいいですか?

うまくかけなくてすいません。

899まちがえた:2008/11/11(火) 03:58:52 ID:ElDfrokl
あるPHPから
<?php include ""; ?> で呼び出したPHPファイルに
さらに<?php include ""; ?>でよびだす事はだめなんですよね?

例:
ある画像出力PHPの、ヘッダー、中央、フッターをテンプレとして管理楽にするためPHPでincludeする
更に、呼び出された 中央テキスト.php に貼っているリンク先をランダム化する.phpを include でよびだして処理する。

自らソースをかけないのでフリーPHPを使ってます。
<?php include ""; ?>という事を覚えた作業がかなり楽になったんですが
上記通り動かすにはどうすればいいですか?

うまくかけなくてすいません。
900nobodyさん:2008/11/11(火) 04:03:17 ID:???
>>899
普通に可能
901まちがえた:2008/11/11(火) 05:30:38 ID:ElDfrokl
>>900
えっ 本当ですか!?

PHP⇒<?php include ""; ?>したPHP⇒<?php include ""; ?>したPHP

3っ目には2回目のincludeが表示されないんです。
902まちがえた:2008/11/11(火) 05:35:39 ID:???
試しにA,B,CとPHP作ってテキスト文だけで試してみました。
できましたね・・・

となると単に文法がおかしかったのかもしれません・・・
ありがとうございました
903884:2008/11/11(火) 07:11:16 ID:???
>>885
$jibun_kekkaはcsvの行を指定する変数です。
記述忘れです。
print $score;でscoreの値はちゃんと出るのですが
print$a[$score];にすると表示されないのです。

しにたい
904nobodyさん:2008/11/11(火) 07:30:24 ID:TPu9ydo9
>>903
print $line;

で $line が表示されるか確認してみ
905884:2008/11/11(火) 08:41:06 ID:???
>>903
解決しました!!
csv内のエラーでした。
ありがとうございました。
906884:2008/11/11(火) 08:41:52 ID:???
まちがえた。
>>904
です。
907nobodyさん:2008/11/11(火) 14:14:04 ID:enANJyGv
【OS名】windows xp
【PHPのバージョン】php5.26
【質問内容】
method宣言時にmethod名に変数を利用して宣言する事はできるのでしょうか?
↓こんなような感じで
$fuga = "test";
public function {$fuga}hoge(){}
908nobodyさん:2008/11/11(火) 14:26:11 ID:???
class a{
var $a;
var $b;
function a(){
$this->a = "あ";
$this->b = new b();
}
}

class b{
function b(){
ここでclass aで読み込んだ 「あ」を出したいんだがどうしたらいいんですか?
a::a();か new b($this)にするのか知らないけどもっとスマートなやり方があれば教えてください
php4で
}
}
909nobodyさん:2008/11/11(火) 14:29:27 ID:opckjGll
チェックボックスにchkって名前付けて
if(($_POST['chk']) == NULL){
$error = "・登録の際には、ご利用規約に同意していただく必要がございます<br>";
echo $error;
}

ってやってんだけどさ、これでちゃんと
チェック入れれば行くし
チェック無い時は入れろって警告出るんだけど
チェック無い時はその警告と共にNoticeでchkが見つからないって出るんだよ
なんでだよ
910nobodyさん:2008/11/11(火) 14:33:56 ID:???
それは無視できるnoticeなんじゃない?
どうしても消したければissetを使うとか。
911nobodyさん:2008/11/11(火) 14:42:23 ID:???
>>908
継承
912nobodyさん:2008/11/11(火) 14:46:03 ID:???
>>909
cakePHPとかじゃhiddenを使ってる
http://tinyurl.com/4np6j6
913908:2008/11/11(火) 14:46:10 ID:I0tYq69y
>>911
class b extends a{
}
コレ使えと?
914908:2008/11/11(火) 14:51:29 ID:I0tYq69y
extends 使うと $this->aは NULLが帰ってくるんだけど
915nobodyさん:2008/11/11(火) 14:52:47 ID:???
親クラスのコンストラクタ呼び出してないからじゃね?
916908:2008/11/11(火) 14:55:09 ID:I0tYq69y
parent::a();で?
917nobodyさん:2008/11/11(火) 15:05:47 ID:???
君には無理っぽい
918nobodyさん:2008/11/11(火) 16:27:42 ID:???
>>909
if(empty($_POST['chk']))

って書くべきじゃね?
919nobodyさん:2008/11/11(火) 16:27:59 ID:???
継承って解決になってないような・・・
普通に
new b($this);
みたいに参照渡した方が良い
920nobodyさん:2008/11/11(火) 16:39:12 ID:bqWwdDHa
php使えるサーバーで、
public_htmlのフォルダのパーミッションが
101でphpが動いているんだが、気持ち悪いんだが、
これでいいのか?
921nobodyさん:2008/11/11(火) 16:39:29 ID:???
>>918
なんで?
922nobodyさん:2008/11/11(火) 16:42:06 ID:???
>>920
public_htmlをわざわざ101にするほうが気持ち悪い
923nobodyさん:2008/11/11(火) 16:44:18 ID:bqWwdDHa
>>922
でも101で動くんだからしょうがないじゃん
924nobodyさん:2008/11/11(火) 16:46:13 ID:???
>>918
emptyの挙動解って言ってるの?

>>909
綺麗に書くとすれば
if (isset($_POST['chk']) && $_POST['chk'] == ???) {
って感じで???でチェックかな
925nobodyさん:2008/11/11(火) 16:48:24 ID:???
issetだけでいいじゃん
926nobodyさん:2008/11/11(火) 16:48:29 ID:bqWwdDHa
フォルダのパーミッションを101にすると、
FTPソフトで、フォルダごと
見えなくなる事件が発生しているのだが???
927nobodyさん:2008/11/11(火) 16:53:27 ID:???
>>926
フォルダに対してやったのなら別に正常な動作だと思うが
phpに限らずどれでもできるだろ
>フォルダごと見えなくなる
全然関係ない話
FFFTP使ってるなら高度でLISTコマンドで〜にチェック入れろ
928nobodyさん:2008/11/11(火) 16:59:02 ID:bqWwdDHa
>>927
チェック入ってるよ
他の原因かな?

フォルダのパーミッションを101にしたときだけ
発生する現象のようなんだけど??

もしかしてフォルダのパーミッションを101にすると
フォルダが見えなくなるの???
929nobodyさん:2008/11/11(火) 17:02:49 ID:???
>>928
スレ違い若しくはソフト作者まで問い合わせろ
930nobodyさん:2008/11/11(火) 17:03:09 ID:???
そりゃ鯖がくるってるかFTPソフトが狂ってるかだろ
俺の使ってる2つのサーバのうち1つは101にしても何もおきない
もう1つは101にしてもオーナは7に戻されるようになってる
931nobodyさん:2008/11/11(火) 17:05:03 ID:bqWwdDHa
http://sb.xrea.com/archive/index.php/t-3575.html

>FFFTPでは、「LISTコマンドでファイル一覧を取得」
>というオプションにチェックを入れている場合、
>見えなくなることがあります。
>外して試してみてください。


逆じゃん。わかったからいいけど。
932nobodyさん:2008/11/11(火) 17:08:13 ID:???
別に逆ってわけじゃない
見れないときにLIST入れたら見れるときがあるし
LISTに入れてるから見れない時もある
933nobodyさん:2008/11/11(火) 17:19:07 ID:bqWwdDHa
パーミッションって、ディレクトリの場合は、
「実行」は、「内部のファイルにアクセスできる権利」って意味なのか。
はじめてしったわ。
934nobodyさん:2008/11/11(火) 17:31:36 ID:bqWwdDHa
もしかして、
ディレクトリに対する
パーミッションで、xをはずすと、
ファイルの一覧が見れなくなるのか?
935nobodyさん:2008/11/11(火) 17:37:14 ID:???
うんw
936nobodyさん:2008/11/11(火) 17:37:59 ID:???
ディレクトリ内の一覧は見れなくなるよ
つーかさっきからスレちg(ry
937nobodyさん:2008/11/11(火) 17:38:09 ID:bqWwdDHa
じゃあlistコマンドとか関係ないじゃん
的はずれなアドバイスもいいとこだよ。
938nobodyさん:2008/11/11(火) 17:39:18 ID:bqWwdDHa
おまえら、アレだろ。
オラクルのサポートだろ。
「データーベースが動かない」
って電話すると
「BIOSは最新のものにしましたか?」
っていわれるという、例のやつ。
939nobodyさん:2008/11/11(火) 17:44:32 ID:???
つーかさっきk(ry
940nobodyさん:2008/11/11(火) 17:48:34 ID:???
やっぱ初心者スレは面白いな。
こんなん会社にいたらクビにするわ。
941nobodyさん:2008/11/11(火) 17:50:36 ID:???
会社が従業員をクビにするってことがどれほど困難な事かわかってないな
942nobodyさん:2008/11/11(火) 18:00:15 ID:???
零細なんでね。
943nobodyさん:2008/11/11(火) 18:07:19 ID:???
零細だからと行って簡単にクビにしたらひどい目に遭うぞ。
最近はフリーターなんかが加入する企業外の労組があるからそういう所に相談に行かれると会社に乗り込んでくるぞ。

まあ激しくスレチだけどな。
944nobodyさん:2008/11/11(火) 18:26:09 ID:bqWwdDHa
Suexec

↑これなんてよむの?
スーエグゼック?
945nobodyさん:2008/11/11(火) 18:36:50 ID:???
本日のNGID:bqWwdDHa
946nobodyさん:2008/11/11(火) 18:41:36 ID:Bmfd5hoQ
【OS名】 FreeBSD
【PHPのバージョン】php5.26
【連携ソフトウェア】無し
【質問内容】
gethostbyname関数に関する質問です。
この関数はホスト名からIPアドレスを調べる関数ですが、
例)
$ip = gethostbyname('www.example.com');
もし引数の'www.example.com'の部分をあえてIPアドレスにしたら、'192.168.1.1'
どういう返値が返ってくるでしょうか?
947nobodyさん:2008/11/11(火) 18:46:08 ID:???
試したの?
948nobodyさん:2008/11/11(火) 18:57:49 ID:Bmfd5hoQ
いえまだです。
試す環境が手元に無い物でして・・・
949nobodyさん:2008/11/11(火) 19:52:14 ID:???
>>946
IPアドレスが返ってきたよ
950nobodyさん:2008/11/11(火) 19:59:33 ID:Bmfd5hoQ
>>949
そうですか、あとで早速試してみます。
どうもです( ´∀`)ノシ
951nobodyさん:2008/11/11(火) 20:01:43 ID:???
>>950
後で試すなら聞く必要ないんじゃ・・・
952nobodyさん:2008/11/11(火) 20:20:39 ID:???
>>887
bin2hexな。unpackでもいいけどurlencodeはやめてくれw
953nobodyさん:2008/11/11(火) 22:34:19 ID:???
[warn] (OS 64)指定されたネットワーク名は利用できません。
954nobodyさん:2008/11/12(水) 14:24:23 ID:NDrC8/Mx
登録フォームまで作ってDBに登録させて
登録完了メール送るところまで出来たんだけど

確認メールにURLを添付して、そのURLをクリックしたら
登録完了にしたいんだけど
GETってのはわかるのだけど
アドレスクリックするだけでDBに登録ってどうやってできるの?
955nobodyさん:2008/11/12(水) 14:36:33 ID:???
>>954
一人一人、全員、ひとりずつ
違ったURLにしてる?
956nobodyさん:2008/11/12(水) 14:42:48 ID:NDrC8/Mx
>>955
なんか末尾に?つけてその後はIDとパスワードのMD5ハッシュ化した文字列をくっつけてる
957nobodyさん:2008/11/12(水) 14:49:22 ID:???
>>956
よし、そしたら、そのURLからアクセスがあれば
そいつがクリックしたと判別できるわけだな。

なら、そのURLをAとしたとき、Aに対して
アクセスがあったら、そのIDをデーターベースに登録、とするんだ。
958nobodyさん:2008/11/12(水) 15:07:15 ID:NDrC8/Mx
やさしいなぁ、その通りやってみる。ありがとう。
959nobodyさん:2008/11/12(水) 15:19:27 ID:NDrC8/Mx
え・・・やっぱわからない、Aに対してアクセスがあったらDBに登録・・・
これって結構難しい?
960nobodyさん:2008/11/12(水) 15:23:28 ID:???
961nobodyさん:2008/11/12(水) 15:24:38 ID:???
普通にgetから受けたIDとパスワードをDBに登録するだけじゃね?
踏んだURLのphpにDB登録のプログラム書いとくだけだろ
962nobodyさん:2008/11/12(水) 16:05:40 ID:NDrC8/Mx
そっか、踏むのはphpだったんだ。
そこがわからなかった
眠気で頭どうかしてた
末尾に?の後に全プログラムを書くしか・・・とか考えてた
963nobodyさん:2008/11/12(水) 17:18:58 ID:9QCKGAxg
$_SERVER['SCRIPT_NAME']
$_SERVER['PHP_SELF']

この違いって何でしょう?
964nobodyさん:2008/11/12(水) 17:27:05 ID:???
965nobodyさん:2008/11/12(水) 17:32:32 ID:9QCKGAxg
>>964
なるほど、ありがとうございます
966nobodyさん:2008/11/12(水) 17:52:19 ID:esy/G5nT
質問です。

--disable-posixが指定されていると、posix_getuid,posix_getpwuidなどが使えないようです。

Fatal error: Call to undefined function posix_getuid() in 〜〜〜.php on line 〜〜〜


--disable-posixが指定されているかどうか、もしくは単純に、指定した関数が無効かどうかを知るにはどうすればいいのでしょうか?
967nobodyさん:2008/11/12(水) 18:45:50 ID:???
function_exists
968nobodyさん:2008/11/12(水) 18:48:00 ID:???
例えば、温泉地で麻雀しようかって時に、延々と詳細ルールについて話し出されたら、
うんざりしてやる気なくなるよね。
969966:2008/11/12(水) 18:58:10 ID:esy/G5nT
>>967
ありがとうございました。
970nobodyさん:2008/11/12(水) 19:05:30 ID:eirQ9AFV
質問

htmlファイルのパーミッションを004にしてるんだけど、
これで見れてるんだけど、これでいいの?
971nobodyさん:2008/11/12(水) 19:09:03 ID:???
てめえのWeb鯖の設定なんてしったこっちゃない
972nobodyさん:2008/11/12(水) 19:23:26 ID:eirQ9AFV
http://support.jca.apc.org/www/cgi/permissions.html
↑ここに書いてあったんだけど、これって本当?

危険なパーミッション

既成の CGI や、CGI の解説書のなかには、
suEXEC 機構を前提にしていないものがしば
しば見受けられます。これらは suEXEC 機構
が利用できないために、非常に危険な設定
を奨めている場合があります。

CGI のインストールの説明につぎのような指
示がある場合は、指示どおりにしてはいけま
せん:

危険な指示の例
ファイルのパーミッションは 666 にしてください。
ファイルのパーミッションは 777 にしてください。
ディレクトリのパーミッションは 777 にしてください。
973nobodyさん:2008/11/12(水) 19:31:03 ID:???
極端な意見だ
気にするな
974nobodyさん:2008/11/12(水) 22:40:31 ID:UDdKXaZu
PHPの質問ではありませんが、どなたか教えてください。

画面遷移の管理(というかセッションの管理)で、
ttp://www.j-tokkyo.com/2001/G06F/JP2001-160033.shtml
のような特許が開示されているのですが、みなさん気にされていますか?

自分の場合、他サイト間連携の画面遷移なんかで以前から使いまくってたりするのですが、
コンプラ強化の流れで制限されそうになってますです。。

はて困った。。
975nobodyさん:2008/11/12(水) 23:47:22 ID:???
信じられない特許だね、これが通るんじゃプログラムの基礎本に載ってるようなテクニックでも
特許にできそう
GIF特許騒動思い出したよ
976nobodyさん:2008/11/12(水) 23:55:49 ID:???
>>974
0006と0011あたりに穴があるように見えるが、まぁダメっぽければ異議申し立てすれば?
コンプラ強化するくらいなら知財担当いるんでしょ?
977nobodyさん:2008/11/13(木) 01:31:59 ID:???
>>964
> http://example.jp/index.php/a/b%20/c
>
> string '/index.php/a/b /c' (length=17)
> string '/index.php/a/b ' (length=15)

そこの下から2番目のやつSCRIPT_NAMEの結果(下段)変くね?
978nobodyさん:2008/11/13(木) 03:53:19 ID:FiZQ76KZ
PHP5 でも <?=$foo?> の記述使えるよね?

(そもそも今どきはそんな書き方はしないと思うが)
979nobodyさん:2008/11/13(木) 03:55:11 ID:???
うん
今時とかそういう問題ではないけど
980nobodyさん:2008/11/13(木) 04:14:19 ID:???
すれ立ててきます
981nobodyさん:2008/11/13(木) 04:19:25 ID:???
【PHP】下らねぇ質問はID出して書き込みやがれ 76
http://pc11.2ch.net/test/read.cgi/php/1226517332/

ありがとうっていえ
982nobodyさん:2008/11/13(木) 04:35:51 ID:???
どういたしまして
983nobodyさん:2008/11/13(木) 04:39:11 ID:???
手元の環境で <?=$foo?> が無効になってるんだけど設定ってある?

別の手元の環境だと有効になっているどけ。
php.ini にそれっぽい設定が見当たらない。
984nobodyさん:2008/11/13(木) 04:49:11 ID:???
>>983

この設定だけどうまくいかないな。

>短縮型のタグ(例 3.)が有効なのは、php.ini 設定ファイルのディレクティブ short_open_tag が
>有効になっている場合か PHP が --enable-short-tags オプションつきで configure されてい
>る場合のみです。
985nobodyさん:2008/11/13(木) 09:33:24 ID:???
設定に依存するタグは使う気にはなれないよなぁ
986nobodyさん:2008/11/13(木) 13:19:40 ID:TS7LMUyh
オッス!おら悟空!
ちょっくら質問してもいいか?

サイト内に複数のフォルダがあって、
そのうちの一つのフォルダの容量を知るにはどうすればいいかおめーら分かるか?
やっぱりdir一覧を取得して全ファイルをfilesize()するしかねーのか?

でもなぁ、ページアクセスの度にそんなことしてたら時間かかるぞ。
987nobodyさん:2008/11/13(木) 13:21:25 ID:???
duってコマンドがある
988nobodyさん:2008/11/13(木) 13:49:18 ID:???
>>986
そもそもページアクセスの度にフォルダ容量を計算してるという仕様を見直すべきだろう。
989nobodyさん:2008/11/13(木) 15:05:01 ID:TS7LMUyh
1000
990nobodyさん:2008/11/13(木) 15:18:52 ID:???
>>989
おまえ早漏すぎ
991nobodyさん:2008/11/13(木) 17:08:41 ID:???
991
992nobodyさん:2008/11/13(木) 23:40:53 ID:???
2
993nobodyさん:2008/11/13(木) 23:46:00 ID:???
(:D)oz =3
994nobodyさん:2008/11/14(金) 14:47:29 ID:???
ume
995nobodyさん:2008/11/14(金) 14:52:52 ID:???
埋めずに次スレに移行してるのか
さっさと埋めてしまおう
996nobodyさん:2008/11/14(金) 14:56:07 ID:???
梅地真央
997nobodyさん:2008/11/14(金) 15:05:42 ID:???
ume
998umebody:2008/11/14(金) 15:10:44 ID:???
うめ
999nobodyさん:2008/11/14(金) 15:11:16 ID:???
1000nobodyさん:2008/11/14(金) 15:11:47 ID:???
1000
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。