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

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

レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん2008/10/16(木) 23:52:01ID:???
質問者はまず>>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等)・フレームワークは各該当スレへ
0002nobodyさん2008/10/16(木) 23:53:24ID:???
■過去ログ
【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/
0003nobodyさん2008/10/16(木) 23:54:16ID:???
関連リンク
■本家マニュアル   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/
0004nobodyさん2008/10/16(木) 23:55:05ID:???
【簡易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プログラムとして実行された結果になる。
0005nobodyさん2008/10/16(木) 23:56:24ID:???
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に保存?
 → 好きにしてください
0006nobodyさん2008/10/16(木) 23:58:36ID:???
いつの間にか1000行ったから立てたが
980以降誰も次スレの話しないのにワロタw
0007nobodyさん2008/10/17(金) 02:08:33ID:???
Cだったら変数宣言するときに、
その変数が何バイト使うか、ってあらかじめ
宣言しないとだめだけど、PHPはそんなことないから
次スレとか、あと何回書き込めるか、とか、
そういうことは気にしない人たちが集まってるんだよ
0008nobodyさん2008/10/17(金) 02:56:16ID:???
色んな意味で感心したw
0009nobodyさん2008/10/17(金) 03:07:35ID:3h5QsAXP
phpinfo()でみれるxdebug項目のMasterとLocalのValueって何がちがうんすか?
0010nobodyさん2008/10/17(金) 03:09:39ID:???
>>9
Master Value は php.ini で設定された値
Local Value は .htaccessやhttpd.conf等で設定を定義した場合

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

とか?
0065nobodyさん2008/10/18(土) 19:16:57ID:???
countはいらんだろ
0066nobodyさん2008/10/18(土) 20:49:55ID:???
切り取る関数あるだろ
0067nobodyさん2008/10/19(日) 13:15:27ID: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は使いたくないのです。
0068nobodyさん2008/10/19(日) 13:17:21ID:???
function hoge(&$target, $keys, $var){
$target[$keys[0]][$keys[1]] = $var;
}
0069672008/10/19(日) 13:26:51ID:VVm7alzF
thx!
でも、それだと$keysがarray('foo', 'bar', 'boo')だとセットされないんですよね。
この場合$target['foo']['bar']['boo']に$valをセットしたいのです。
0070672008/10/19(日) 13:32:21ID:???
補足すると、$keysの要素の数は不定にしたいです。
eval使えば簡単なんだけど・・・
0071nobodyさん2008/10/19(日) 13:46:24ID:???
再帰使えばいいじゃん
eval使うほうがめんどい
0072672008/10/19(日) 13:59:09ID:???
>71
getする関数は再帰で書いたんですが、
再帰でsetする関数がどうにも思いつかないんですよ。
もうちょっとヒントもらえるとうれしいです。
0073nobodyさん2008/10/19(日) 14:00:16ID:???
getできてるんならもう9割方できてるようなもんじゃん
ちょっと変えるだけだよ
0074672008/10/19(日) 14:34:04ID:???
> 73
ほんとだ、できた。アドバイスthxでした。
0075nobodyさん2008/10/19(日) 14:41:40ID:w27rzwDg
XPsp3でPHP5.2.6、apache2.2.9です。
10月分のWindowsUpdateを行うと、
crypt関数の戻り値が違ってしまうのですが、
同様な現象の方、いますでしょうか?
0076nobodyさん2008/10/19(日) 15:05:34ID:???
例示しなさい例示
0077752008/10/19(日) 16:18:04ID: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の基本がなっていないのでしょうか?
どうか、ご教授願います。
0078nobodyさん2008/10/19(日) 16:30:41ID:???
ほんとだ、たまに変なの混ざるw 面白いね
0079nobodyさん2008/10/19(日) 17:00:11ID:cbDAkf2P
質問

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

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

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

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

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

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

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

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

aaa@localhost

なのですが、

aaa@127.0.0.1

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

wordpress で localhost がメアドとして
登録できないのが今の問題なの。
0101nobodyさん2008/10/19(日) 18:48:07ID:???
いやだからソース見ろよ
0102nobodyさん2008/10/19(日) 18:48:23ID:???
>>99
IPアドレス直で指定する場合の書き方。囲んでおかないとmxを引こうとする。
で、試したの?
0103nobodyさん2008/10/19(日) 18:49:52ID:???
つかwordpressのどこの機能で入力する話だよ
メールアドレス入力する場所複数あるじゃん
0104nobodyさん2008/10/19(日) 19:13:39ID:cbDAkf2P
>>101
ソースは見てるよ。ボケ
0105nobodyさん2008/10/19(日) 19:24:33ID:cbDAkf2P
>>103

http://tkoolup.hp.infoseek.co.jp/cgi-bin/src/tkoolup1424.png

この画面だっちゃ。
0106nobodyさん2008/10/19(日) 19:26:14ID:cbDAkf2P
MXレコードってなんだっけ?
ああ、、、またぐぐらないといけないのか、、、
ただブログソフトを使いたいだけなのに、、、
0107nobodyさん2008/10/19(日) 19:26:58ID:cbDAkf2P
ひとつのことを勉強しようとすると
わからないことがあらたに3つでてくる、
この現象に名前をつけようぜ
0108nobodyさん2008/10/19(日) 19:37:04ID:???
馬鹿の考え休むに似たり
0109nobodyさん2008/10/19(日) 19:42:06ID:cbDAkf2P
メールアドレスの入力のとき、
入力されたメールアドレスの形式が
正しいかどうか、チェックする、
割とありふれたルーチンですよね。

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

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

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

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

>>121
パスワードクラックでもしようとしてんの?
0123nobodyさん2008/10/19(日) 21:52:59ID:???
>>121
環境無いから試してないけど、OS依存の問題ならmcryptでも
発症する可能性あるし、今は諦めて寝た方が良いんじゃない?
あとはlinuxでも立てるかw
0124nobodyさん2008/10/19(日) 22:44:21ID:???
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
0125nobodyさん2008/10/19(日) 22:44:50ID:???
Text_WikiでMediawikiのパーサー使ってるんだけど、
HTMLタグは一切使えない(エスケープされる)って認識でいいかな。
実際のMediawikiで許可されている<pre>とかは使えるけれど
そこまでの互換性はないってことで。
01261252008/10/19(日) 23:11:04ID:???
Text_Wiki::singleton(’Mediawiki’, $rules);
で$rules配列に'Code'を追加したら
<code>タグが使えるようになった。
とりあえず解決。
0127nobodyさん2008/10/20(月) 00:06:36ID:cbDAkf2P
hostsファイルに

127.0.0.1 vYw3Ccm.com

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

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

@PHP 5.2.5
0137nobodyさん2008/10/20(月) 15:47:04ID:???
BBQ
0138752008/10/20(月) 20:06:31ID: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
0139nobodyさん2008/10/20(月) 20:27:09ID:???
php.iniの設定ミス
0140nobodyさん2008/10/20(月) 20:35:42ID:???
「指定されたモジュールが見つかりません。」つってるからpathがおかしいんじゃね?
パス区切り「\\」にする必要あったっけ?
0141nobodyさん2008/10/20(月) 20:38:25ID:???
>>138
お前、mcryptの使い方以前にインストールすらできてなかったのかよ・・・
0142752008/10/20(月) 20:54:01ID: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
0143nobodyさん2008/10/20(月) 20:56:44ID:???
この程度でひどい言われ方だとかって・・・。
煽り要素なんて皆無じゃないか。数値で言うと0%。
ちなみにこのレスは10%くらい。
このスレの住人が本気出したらもっとすごいよ?
あと質問はシラネ
0144752008/10/20(月) 21:01:13ID:7cNHWpvS
> あと質問はシラネ

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

Execute()と echo $sqlResultと count($sqlResult)の間には
何も処理をはさんでいません。
すみませんが回答よろしくお願いします。
0185nobodyさん2008/10/22(水) 07:25:34ID:???
そりゃsqlResult変数にはsqlResultしか要素がないから1
0186nobodyさん2008/10/22(水) 07:34:47ID:???
$db->Execute($sql文) の型と返り値は何か
echo $sqlResult で何が表示されるか
count($sqlResult) は何を意味するか
0187nobodyさん2008/10/22(水) 08:02:43ID:ydcrSA/W
基礎的な間違いをしてるようですみません
すると、返ってきた件数を取得するにはどうしたらいいでしょうか?
0188nobodyさん2008/10/22(水) 08:34:11ID:???
先に調べておいで
0189nobodyさん2008/10/22(水) 09:18:26ID:???
そもそも$dbのクラスはなんだと言うんだ
妄想すればいいのか
0190nobodyさん2008/10/22(水) 11:42:32ID: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
0191nobodyさん2008/10/22(水) 12:00:44ID:???
>>190
配列じゃないからだ
$a->b で思い切り「b」のリストを取得してんだからelement名のbがキーになるだろ
xpathあたりで要素を取り出してunsetすりゃいいんじゃね?
0192nobodyさん2008/10/22(水) 12:26:51ID:???
PHP MANUAL 見たんですが、シンボルテーブルに関する詳しい説明のページってないですね。
どこかに公式のそういうのないでしょうか??
0193nobodyさん2008/10/22(水) 12:28:17ID:GMcgCgHy
質問です
IISでphp5を動かしています

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

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

>>193
hoge.php内で各ならdirnameを2回コール
0195nobodyさん2008/10/22(水) 13:10:00ID:???
>>193
絶対パスじゃ駄目なの?
0196nobodyさん2008/10/22(水) 13:56:08ID:GMcgCgHy
ああああ、 \と/が混在してました
お騒がせしました、ありかどうございます
0197nobodyさん2008/10/22(水) 14:13:16ID:???
ドキュメントルートがなぜhttpw
0198nobodyさん2008/10/22(水) 14:26:47ID:???
>>197
例えにツッコむほど余裕がないのかお前は
0199nobodyさん2008/10/22(水) 14:27:32ID:???
指摘されて涙目?w
0200nobodyさん2008/10/22(水) 16:44:13ID: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
)
0201nobodyさん2008/10/22(水) 17:15:06ID:???
asort
0202nobodyさん2008/10/22(水) 17:19:17ID:???
ゆとりの秋はもう終わりです
人肌恋しい季節がやってきます
PHPマニュアルに包まれてヌクヌクしたいですね、幸せになれます
0203nobodyさん2008/10/22(水) 18:24:17ID:???
添え字がこわれるw
0204nobodyさん2008/10/22(水) 23:41:52ID:???
既出かもしれませんが、有効な情報をググり得なかったので、
質問させてください。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 では正常に情報を取得することができます。

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

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

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

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

firefoxではアップロードできるんでしょ?
ならiniは問題ないと思うが俺予想だと多分HTMLの書き方に問題があるんじゃないかなー
0216nobodyさん2008/10/23(木) 01:38:22ID: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) "実行"
}
0217nobodyさん2008/10/23(木) 02:00:35ID: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 にいってしまっているようです。
なぜなんだろう??
0218nobodyさん2008/10/23(木) 02:11:24ID:???
uploadesample要素とかどこから来たの?
0219nobodyさん2008/10/23(木) 02:15:25ID: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>
0220nobodyさん2008/10/23(木) 02:20:16ID:???
そのコードでやってみたら問題なくアップロードできたよ。
$_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
0221nobodyさん2008/10/23(木) 02:22:28ID:cEwU+RA6
>>220
ありがとうございます。それは SSL 環境でオーケーだったということでしょうか?
0222nobodyさん2008/10/23(木) 02:29:54ID:???
SSL環境でもやってみたけど出来たよ 自己証明だけど
0223nobodyさん2008/10/23(木) 02:38:11ID:cEwU+RA6
Mac 版の Firefox 、Safari だと問題ないのですが、最新版の Webkit だと問題が発生します。
Windows XP + IE7 だと問題は発生しないのですね。テストしていただいてありがとうございました。
こちらは OpenSSL 0.9.7e-p1 25 Oct 2004 を使用しています。
問題が発生するブラウザでは、送信するファイルを文字列として送信しているのかな??
うーん。ますます分からん。。。
0224nobodyさん2008/10/23(木) 04:32:40ID:cEwU+RA6
その後、自宅サーバーでも同じことをやってみましたが、SSL なしの環境でも
同じ現象が発生することが分かりました。となると、ブラウザに問題があるとしか
言いようがありませんね。
もしやと思って、そこらへんのアップローダーでも試してみましたが、やはり
アップロードできませんでした。対処法は分からずじまいのままですが、
あきらめムードにはいっております。

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

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

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

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

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

0242nobodyさん2008/10/23(木) 14:03:20ID:???
釣りに見えてしかたない
02432402008/10/23(木) 14:04:02ID:fEAN24MM
すいません 後ろの]は余分でした
それを消してやるとエラーは消えましたが
どれか1文字だけってのができません
$str = "apple";
if (preg_match("/[acde]{1}/s", $str)){
echo '正常';
} else {
echo '異常';
exit();
結果→ 正常
どれか一文字だけなので異常ってだるようにしたいんです。
0244nobodyさん2008/10/23(木) 14:08:29ID:???
1文字「だけ」の場合trueなら
/^[absd]$/
02452402008/10/23(木) 14:19:53ID:fEAN24MM
>>244
1文字だけの場合は $ で指定だったんですね
/^[absd]$/ にしてみたらちゃんとできました
どうもありがとうございます。
0246nobodyさん2008/10/23(木) 19:07:00ID: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でも動くライブラリはどこかで配布されていませんか?
自作だとあまりにも心もとなくて・・・。
0247nobodyさん2008/10/23(木) 19:13:08ID:???
>>246
書いた後にphp4ってキーワードでググればいけるんじゃね、って思ったらありました。
お汚しすみません。
http://upgradephp.berlios.de/
0248nobodyさん2008/10/23(木) 22:19:39ID:GN2wkDk9
フレームワークは何がおすすめですか?
日本語環境が整ったフレームワークをおしえてください。
0249nobodyさん2008/10/23(木) 22:50:52ID:???
ZF
0250nobodyさん2008/10/23(木) 22:56:56ID:???
Zendって日本語か?
0251nobodyさん2008/10/23(木) 22:57:54ID:???
うん
0252nobodyさん2008/10/24(金) 00:18:45ID:wH/GxTYw
ko
0253nobodyさん2008/10/24(金) 00:51:51ID:???
みなさんフレームワークってどうやって使う?
インストールして使う?
それともclassだけ使う?
0254nobodyさん2008/10/24(金) 01:00:17ID:MLCsRPQN
tikiwiki なんだが、記事を書いて、
「投稿」ボタンを押すと、画面が
真っ白になってしまうんだ。

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

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

何が考えられる?

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

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

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

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

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

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

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

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

こういうエラーです。

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

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

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

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

それにMySQL側としてもクオートの有無は影響受けん
スペースや記号、マルチバイトなどのスケープが必要な場合にクオートでSQLと値を区別してるだけだからな
0271nobodyさん2008/10/24(金) 14:23:08ID:???
てか、入力値を素でSQLに与えてるのか?
0272nobodyさん2008/10/24(金) 17:10:10ID:???
>>271
それは勘違いだな
PDOで「シングルクオーテーションが補完される」状況ってのはプリペアドステートメントだ
素のデータを「値」としてスケープして安全にSQLに放り込むってこった
頼りすぎるとLIKE文が大変なことに・・・
0273nobodyさん2008/10/24(金) 17:40:33ID: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の問題?
02742732008/10/24(金) 17:53:25ID:56/ITrxj
phpinfo(); で確認したら、mysql、mysqli、pdo_mysql のバージョンが全部 5.0.51a になってるから、これが原因かな。
でもこれ、PHP5.2.6のzipに一緒に入ってたやつなんだけど。
最新版のPHPに古いバージョンのAPIが入ってるってこと?
0275nobodyさん2008/10/24(金) 17:53:34ID:???
>>273
PHPにはMySQLと接続する為の「ドライバ」が組み込まれる
そのソースが5.0系だって話
んで、稼働中のMySQLは5.1系ですよっと

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

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

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

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

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

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

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

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

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

「HTMLタグを使えるようにする」ってチェックを入れても
勝手に無効化されるんだが?
0300nobodyさん2008/10/25(土) 07:32:55ID:???
はぁ?
0301nobodyさん2008/10/25(土) 10:56:34ID:???
はぁ?じゃねーよ
0302たまちゃん ◆ExGQrDul2E 2008/10/25(土) 11:08:34ID: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);
です。
これでは、動かないでした。
0303nobodyさん2008/10/25(土) 13:23:15ID:???
正規表現スレでどうぞ
0304nobodyさん2008/10/25(土) 13:50:19ID:???
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'
0305nobodyさん2008/10/25(土) 13:50:48ID:???
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
0306nobodyさん2008/10/25(土) 14:03:59ID:???
なんで>>1読まないんですか?
0307nobodyさん2008/10/25(土) 14:04:30ID:???
というかスレタイも読んでないんですね
03083052008/10/25(土) 14:11:46ID:l6Hvkhtj
>>306,307

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

0309nobodyさん2008/10/25(土) 17:01:16ID:???
テンプレもシカトですかそうですか
0310752008/10/25(土) 19:06:20ID: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;

?>
0311nobodyさん2008/10/25(土) 21:38:58ID:???
処理内容はかわっとらんように見えるけど効果あったの?
0312nobodyさん2008/10/25(土) 21:54:59ID: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
0313nobodyさん2008/10/25(土) 22:09:47ID:???
extension_dir
0314nobodyさん2008/10/25(土) 23:32:19ID:snZUYzJG
$flag = mail($to,$subject,$body,$headers);

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

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

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

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

>>313
それでも、php_msspl.dllは有効にすると読み込まれます。
php_mysql.dllも同じディレクトリに入っているので、extension_dirに間違いはないようです。
03213122008/10/26(日) 03:01:46ID: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
0322nobodyさん2008/10/26(日) 03:01:53ID:???
バージョンが合ってない
0323nobodyさん2008/10/26(日) 03:02:29ID:???
>>320
libmysql.dllの設置場所じゃねぇか?

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

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

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

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

こんなCGI探してます 23
http://pc11.2ch.net/test/read.cgi/hp/1219654359/
0334nobodyさん2008/10/27(月) 00:36:51ID:???
>>333
リンクありがとうございます
0335nobodyさん2008/10/27(月) 02:22:19ID:5yuC5xwT
iPhone対応のBBSじゃなくてchatならあるけど。
chatができればbbsもできるんじゃないだろうか?
http://ajaxmyadmin.lolipop.jp/AjaxChat/
0336nobodyさん2008/10/27(月) 03:52:18ID:tp6YAsYQ
PHPはじめたばかりなんですが、なぜか「->」の部分を終了タグと誤認してしまうみたいでプログラムがうまく動きません
解決策がわかる人がいたらよろしくお願いします
0337nobodyさん2008/10/27(月) 03:55:14ID:???
それを終了タグと誤認することはない
0338nobodyさん2008/10/27(月) 04:03:09ID:???
>>336
どんなソースが実際にそうなるか、そのままを張ればいい。
0339nobodyさん2008/10/27(月) 04:54:07ID:tp6YAsYQ
ソースは他の方のつくったものにhtmlとbodyをつけました
ttp://lab.kamawada.com/techmemo/index.cgi?page=MagpieRSS%A4%F2%BB%C8%A4%C3%A4%C6PHP%A4%C7%B4%CA%C3%B1RSS%A5%D1%A1%BC%A5%B9

実行した結果
ttp://www.uploda.org/uporg1750721.jpg
0340nobodyさん2008/10/27(月) 04:58:08ID:???
ソースファイルを上げてみろ
0341752008/10/27(月) 06:10:50ID:GQs1gERt
>>311
効果なかったです。。。
0342752008/10/27(月) 06:16:16ID: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;

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

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

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

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

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

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

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

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

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

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

まずはテスト版作ってみて、問題点を洗い出せ。
0357nobodyさん2008/10/27(月) 19:10:34ID:???
普通DBにデッキ入れない
セッションでいいだろ
0358nobodyさん2008/10/27(月) 19:13:51ID:???
なんで「普通」なん?
03593562008/10/27(月) 19:18:05ID:???
>>357
俺も思ったがそれこそ仕様によるかも
対戦するならテーブルに入れたほうがいいじゃないかな・・
0360nobodyさん2008/10/27(月) 19:43:36ID: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です
0361nobodyさん2008/10/27(月) 19:53:56ID:???
>>354
再現しねーよ
ていうか鯖の環境くらい面倒くさがらずに書けボケ
0362nobodyさん2008/10/27(月) 20:16:03ID:???
>>353
他の方法はダメなんですかね。

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

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

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

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

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

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

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

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

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

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


あと、cryptの部分だけ、perlにしてみて、試してみます。
(速度がおそくなりそうだな。。。)
0371nobodyさん2008/10/28(火) 09:22:30ID:???
MD5なりSHA1なりではアカンのか。
後方互換性が問題なのかい?
0372nobodyさん2008/10/28(火) 11:11:44ID: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経由でのデータのやり取りをする時、
何か設定などが必要なのでしょうか?
0373nobodyさん2008/10/28(火) 12:45:19ID:???
>>372
utf-8のつもりがujisって件

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

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

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

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

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

まあコード側でchomp()すればすむ話なんだがな。
0381nobodyさん2008/10/28(火) 16:44:17ID:???
>>380
難しい事じゃなくて、ただの凡ミスですね。
すみませんでした。
03823122008/10/28(火) 17:38:08ID:???
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がよくないのか……?
0383nobodyさん2008/10/28(火) 17:49:02ID:???
>>382
そんな酔狂な環境持つつもりもないが、
「メモリ ロケーションへのアクセスが無効です。」つってるから
64bit版のlibmysql.dll持ってきちゃってない?
0384nobodyさん2008/10/28(火) 17:59:46ID:???
ありがとうございます。

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

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

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

今はメモ帳でやってます
0409nobodyさん2008/10/29(水) 05:06:12ID:???
DB
0410nobodyさん2008/10/29(水) 05:19:18ID:???
エクセル
0411nobodyさん2008/10/29(水) 09:54:31ID: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を使ってます
0412nobodyさん2008/10/29(水) 10:59:24ID:???
>>411
pear install XML_RSS
0413nobodyさん2008/10/29(水) 11:01:48ID:Z9jgE9oz
配列をphpの書式でtxtなどに出力したい時
やっぱりforeachで自力で分解して書き出すしかないですよね?
0414nobodyさん2008/10/29(水) 11:06:30ID:???
phpだけで扱うならserialize/unserializeって手もある
他の言語とリンクするならjsonでも出来そうだ(javaにもjsonライブラリあるし)
0415nobodyさん2008/10/29(水) 11:08:38ID:???
補足
整形して出力、再度PHPで読むことはない、って使い方ならループしかないだろうな
0416nobodyさん2008/10/29(水) 11:54:40ID: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です
0417nobodyさん2008/10/29(水) 12:00:25ID:???
>>416
upload_max_filesizeとmp3のサイズ見比べてみれば
0418nobodyさん2008/10/29(水) 12:00:44ID:???
>>416
http://jp.php.net/manual/ja/features.file-upload.errors.php
04194112008/10/29(水) 12:03:02ID:veAPPVGQ
>>412
レスありがとうございます。
pear install -a XML_RSSと
pear install -s XML_Parserは実行してます。
0420nobodyさん2008/10/29(水) 12:07:23ID:???
>>419
じゃぁインストール先とinclude_pathが違うんじゃね?
0421nobodyさん2008/10/29(水) 12:07:50ID:Z9jgE9oz
>>414
そういった関数があるのですね
ありがとうございました
0422nobodyさん2008/10/29(水) 12:55:24ID:X0IlisXc
>>417-418
ありがとうございました ファイルサイズ制限の問題でした
ほんとうにありがとう
0423nobodyさん2008/10/29(水) 15:12:08ID: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を実行しなければ駄目なのでしょうか?
0424nobodyさん2008/10/29(水) 15:14:29ID:???
>>423
mysql_data_seek
http://jp.php.net/manual/ja/function.mysql-data-seek.php

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

0460nobodyさん2008/10/30(木) 19:19:05ID:???
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("行数が長すぎます"); }
0461nobodyさん2008/10/30(木) 19:19:21ID:???
画面遷移をおこなわない
AJAX等を使う
0462nobodyさん2008/10/30(木) 19:21:06ID:???
>>459
だからセッションだってヴぁ
0463nobodyさん2008/10/30(木) 19:27:29ID:njx3rGEL
>>462
value="$_SESSION['name']" って感じですか?  これと
value="$_POST['name']" と構造的には同じですよね
どっちが早い・軽いってあるのかなー
確認画面から修正画面に移動するのにPOSTをしなくて良いから
その分軽いのがメリットってことでしょうか

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

<?php

return "test";

?>

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

[test.php]

<?php

echo include('afe.php');

?>


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


それと厳密にチェックする方法ってなかったっけ?
0473nobodyさん2008/10/30(木) 22:33:03ID:???
>>470
汎用的な関数だけのファイルを造り、
それが必要な時に、必要なファイルをインクルードすればいい
0474nobodyさん2008/10/30(木) 22:33:52ID:njx3rGEL
>>464
すみません 463の問題点を教えてください
ほんとにお願いします
0475nobodyさん2008/10/30(木) 22:40:11ID:???
基礎勉強してからやったほうがいいと思うよ
0476nobodyさん2008/10/30(木) 22:49:11ID:???
一度マニュアルを読むだけでこのスレの9割の質問はなくなる
0477nobodyさん2008/10/30(木) 22:51:13ID:njx3rGEL
>>464
>>475
print "<input type=\"text\" name=\"name\" value=\"".$_POST['name1']."\" />"; って書かずに
省略したのがまずかったとか。。
MVCの分離を明示してなかったからまずかったんですか?
基礎から勉強というのはその通りだと思いますが、>>463の問題についてだけでも
お願いします
0478nobodyさん2008/10/30(木) 22:53:42ID:QT/w86V5
>>473
ちゃいますよ、
includeが返り値をもてるって知ってました?
これすごくないんですか。
0479nobodyさん2008/10/30(木) 22:55:29ID:???
>>477
>>475

>>478
>>471
0480nobodyさん2008/10/30(木) 22:58:02ID:QT/w86V5
>>479
ありました。
0481nobodyさん2008/10/31(金) 01:13:25ID:???
>>436
>>439
439の正気かとはどういう意味?
436じゃだめなの?
0482nobodyさん2008/10/31(金) 01:15:45ID:???
>>481
正気ですか?
0483nobodyさん2008/10/31(金) 01:22:40ID:???
>>478
俺は普通に驚いたよw
なんか変態的なことできるんだな
0484nobodyさん2008/10/31(金) 01:37:00ID:???
>>482
わかんないなら書かないでいいんだよ?
0485nobodyさん2008/10/31(金) 01:37:18ID:???
正気じゃない人はお帰り下さい
0486nobodyさん2008/10/31(金) 02:31:21ID:???
なんで素直に教えてやることができないのか・・・
0487nobodyさん2008/10/31(金) 02:33:19ID:???
>>486
>>485
0488nobodyさん2008/10/31(金) 03:01:26ID:???
いつからここは初心者スレになった
0489nobodyさん2008/10/31(金) 09:23:13ID:???
phpbbとかjoomlaとか、
phpアプリで、事前にデーターベースの
作成は要求されるけど、
そのあと細かいテーブルの作成とか
要求されないよね。

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

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

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

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

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

風景画とか振り分けできないしな。
0498nobodyさん2008/10/31(金) 17:57:42ID:???
同じ色のピクセルの分布状況を見るとか
二次元だとベタ塗りしてある部分が多いのでは?
0499nobodyさん2008/10/31(金) 19:15:06ID:QFaidhY+
>>497-498
レスありがとうございます。
確かに色の種類で分けれるとは思いますね。
二次元は色数多くないし。
ただ問題はそれをバイナリとして読み込んでPHPで判断させる事ができるかなんですよね。
同じ色のピクセルが連続してるとバイナリも同じ文字の連続になるのかな。
だれかユーザー関数作って下さい。
0500nobodyさん2008/10/31(金) 19:15:06ID:???
2次元画像と3次元画像のさまざまなデータをとるところから始めるんだ
何かお互い特徴的なものが出てくるだろ
0501nobodyさん2008/10/31(金) 19:16:06ID:???
>>499
高いよ
0502nobodyさん2008/10/31(金) 21:20:49ID:???
>>500
>>2-3
0503nobodyさん2008/11/01(土) 02:08:01ID: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の読み込みエラー等は起こっていないので、関連づけとかに問題があると思うんですが……
どなたか解決方法がわかる人はいませんか?
0504nobodyさん2008/11/01(土) 02:17:14ID:???
CLIとモジュールの違いも分からんならxampp使うなよ
0505nobodyさん2008/11/01(土) 06:18:02ID:C2Ps8Icf
SNSをダウンロードしてインストールしてみたいのですが、
日本だとopenpneが有名ですが、
世界だとどんなソフトが有名ですか?
0506nobodyさん2008/11/01(土) 06:24:46ID:???
mail関数を使ってDocomoに送信すると、なぜか2通届くんですが、
これはいったいどうすりゃいいんですか?
0507nobodyさん2008/11/01(土) 07:03:09ID:???
>>506
2通届かないようにすればいい
0508nobodyさん2008/11/01(土) 10:59:44ID:???
ここは、悪いくだ質ですね。
質問するほうも回答するほうも、最悪です。
0509nobodyさん2008/11/01(土) 11:03:39ID:???
http://alanszlosek.wordpress.com/2008/10/20/five-years-is-enough/

これよんでどう思う?
0510nobodyさん2008/11/01(土) 11:57:40ID:???
>>508
>>1を読まないやつには質の悪い回答で十分だろ
0511nobodyさん2008/11/01(土) 16:41:12ID:???
>>510
きしょい
0512nobodyさん2008/11/01(土) 16:44:27ID:???
消えろカス
0513nobodyさん2008/11/01(土) 17:25:00ID:???
オマエガナー
0514nobodyさん2008/11/01(土) 18:44:11ID:???
ガキかよ
0515nobodyさん2008/11/01(土) 20:57:35ID: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だ さっき調べから不要
---
…このように子供を辿りつつ行き止まりに来たら一つ前に戻る検索が組めません
(実際には何階層もあり、次々に後回し作業が積もります)

分かりづらい説明と存じますが、よろしくお願いします
0516nobodyさん2008/11/01(土) 21:07:47ID:???
まずは日本語の勉強。
0517nobodyさん2008/11/01(土) 21:18:26ID: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 が必要である】と
導き出すには、どんな手順にすればいいのか…です
0518nobodyさん2008/11/01(土) 21:21:59ID:???
どうなってるのかわからない構造じゃなくて
ちゃんとした構造にしなよ
ヒープならちゃんとヒープにしないと
0519nobodyさん2008/11/01(土) 21:25:36ID:???
「アルゴリズムとデータ構造」は本棚の肥やしにしておくとたまに役に立つよね
0520nobodyさん2008/11/01(土) 22:04:46ID: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
0521nobodyさん2008/11/01(土) 22:18:46ID:???
>>509
これの読書感想文まだー?
0522nobodyさん2008/11/01(土) 22:23:03ID:???
>>520
再帰的にやればいい
0523nobodyさん2008/11/02(日) 00:03:32ID: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 上で動作させたいのですが、どなたか解決策をお持ちではないでしょうか。

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

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

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

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

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

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

新規登録(insert)のid値を取得するのを妨げられないようにするにはどうしたら?
という質問です
0535nobodyさん2008/11/02(日) 12:36:23ID:???
>>534
トランザクションかファイルロック
>>533
基本的にPHPから連携して何でも使える
0536nobodyさん2008/11/02(日) 12:48:47ID:???
zendにそんなのあったっけ?
0537nobodyさん2008/11/02(日) 12:59:38ID: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万件の更新を一気にするのは負荷がかかるのでしょうか?
0538nobodyさん2008/11/02(日) 13:04:25ID:???
>>532
> 正しい値が入らないんじゃないかと思うんですが、
正しい値が入る。

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

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

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

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

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

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

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

と書いてあります。

そこで、str_replaceを使って、#NO#をナンバーに、と各独自タグの処理を行いたいのですが、うまくいきません。なぜでしょうか?【つづく】
0547 ◆UYjlAm5nNk 2008/11/02(日) 17:49:39ID: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;
}

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

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

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

http://s-ht.com/touroku/log.dat
0555nobodyさん2008/11/02(日) 22:24:15ID:???
あれ、解決してないのか
>>550-551がいいヒントというか答えを書いてるのに
0556nobodyさん2008/11/02(日) 22:42:01ID:???
$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
0557DiQX8KFl2008/11/02(日) 23:12:25ID:DiQX8KFl
>>531
ありがとうございます。
こちらの'Allow service to interact with desktop'というのは、管理ツールにある、
ApacheやIISのサービスに「デスクトップとの対話をサービスに許可」のチェックボックスをオンにする、
というものだったのですが、これがオフですと、ウィンドウの枠もレンダリングされません。
http://labs.unoh.net/2007/07/php_8.html
という事でした。
0558 ◆UYjlAm5nNk 2008/11/02(日) 23:35:13ID:0rYlog69
>>556
なるほどです。
つまり、どのような変換したらよいのでしょうか…

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

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

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

修飾子は関係があるのでしょうか?
0560nobodyさん2008/11/03(月) 00:03:48ID:???
>>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に代入(上書き)

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

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

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

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

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

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

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

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

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

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

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

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

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

(笑)
で済ませます…

恥ずかしい質問してたので内緒にしておいてくださいね…
0575nobodyさん2008/11/03(月) 16:25:51ID: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);
//ファイルをいっこしめる

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

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

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

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

でも
>【PHPのバージョン】PHP Version 4.3.11
だから無理。
0590 ◆N2emjZiWyU 2008/11/03(月) 21:32:56ID: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;
}
?>
0591 ◆N2emjZiWyU 2008/11/03(月) 21:38:08ID:XFsZ1V0e
不正な場所から、掲示板に遠隔投稿されないようにする為に書いたスクリプトですが、うまく動いてくれません。
http://s-ht.com/touroku/test.php
セッションを保存する場所を、

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

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

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

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

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

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

<body>

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

</body>
</html>

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

いま定数でなんとかならないかともじもじ中です。
0628nobodyさん2008/11/04(火) 12:31:15ID: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がそろったかどうかを検出する機能はまだないけど。
0629nobodyさん2008/11/04(火) 12:32:23ID:???
>>628
【PHP】1が必死にPHPを勉強するスレ
http://pc11.2ch.net/test/read.cgi/php/1062053369/
0630nobodyさん2008/11/04(火) 13:48:32ID:EdqxmwCK
headerで日本語ドメインに飛ばしたいのですが、
header('Location: 日本語ドメイン.jpn');
みたいに飛ばすと「アドレスが見つかりません」となります。
内部文字コードはUTF-8です。
どうすればいいでしょうか?
0631nobodyさん2008/11/04(火) 14:51:20ID:vfiF2Bhk
>>622
的確なレスありがとうございます。
確かに私の作成したサイトは、UTF-8で記述されています。
また、Content-typeにcharsetが指定してあります。

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

S-JISで作ったサイトでXML宣言が必要というのも何か頓珍漢な印象です。
0632nobodyさん2008/11/04(火) 14:53:17ID:???
>>630
日本語ドメイン.jpn なら
xn--eckwd4c7c5976acvb2w6i.jpn
0633nobodyさん2008/11/04(火) 16:45:12ID: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
になっちゃうのは何故
0634nobodyさん2008/11/04(火) 16:50:25ID:???
>>633
$oglineの最後が改行になってるとしか思えないけど
0635nobodyさん2008/11/04(火) 16:51:52ID:???
何故って言われても$linkdateがどうなってるかも知らんがな。
$oglineのケツに改行入ってるんじゃねーの?
0636nobodyさん2008/11/04(火) 16:52:52ID:???
わりぃ かぶった
0637nobodyさん2008/11/04(火) 16:57:00ID:XNk+b6bA
うん、改行入ってるんだよ。
で、さっきstr_replaceで取り除こうとしたんだけど失敗した
もう消しちゃったけどこんな感じか
str_replace(array("\r\n", "\r", "\n"), "",$ogline );
でもこれで駄目なのは何故?
0638nobodyさん2008/11/04(火) 16:58:28ID:???
>>637
・・・情報を小出しにすんな!初めからかいとけ
0639nobodyさん2008/11/04(火) 17:02:19ID:XNk+b6bA
>>638
サーセン
0640nobodyさん2008/11/04(火) 17:05:10ID:???
なんか、これ前にもあったような・・・(´・ω・`)
0641nobodyさん2008/11/04(火) 17:11:16ID:???
>>637
置換先が配列になって無くても通ったっけ?

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

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

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

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

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

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

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

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

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

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

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

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

とすれば配列に代入されますが、"が付きます。
0659nobodyさん2008/11/04(火) 22:15:30ID:???
>>658
なら文字列から"を取り去ってから配列にいれればー?
0660nobodyさん2008/11/04(火) 22:27:54ID:???
配列に入れてから"を取り去ればー
0661nobodyさん2008/11/04(火) 22:35:11ID:???
>>660
配列にいれてからと最初から処理するのってどっちのほうがサーバーに負担かかんない?
0662nobodyさん2008/11/04(火) 23:07:49ID:???
どっちもお前のプログラミングの程度じゃ変わらんよー
0663nobodyさん2008/11/05(水) 01:32:23ID:???
質問です。
<?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です。
06646332008/11/05(水) 01:33:40ID:JHnpKoHF
すみません>>633です。
sageチェックをはずし忘れていました。
0665nobodyさん2008/11/05(水) 01:34:05ID:???
session_startしてるからじゃ?
06666332008/11/05(水) 01:43:02ID:JHnpKoHF
>>665
セッションの部分を削除して実行してみましたが、同様のエラーが出ました。
0667nobodyさん2008/11/05(水) 01:47:27ID:???
まず問題を切り分けな
0668nobodyさん2008/11/05(水) 05:12:31ID: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

というノーティスが出るんだが、どうしたらいい?
0669nobodyさん2008/11/05(水) 05:25:34ID:???
>>668
<p><input name="aaa"></p>
<p><input name="bbb"></p>
何のジョークだこれは?
typeは?変数名だけで何も値は渡してないんだからunderfinedが出るのは当然
0670nobodyさん2008/11/05(水) 05:50:33ID:mjIleXlD
>>669
ああ
type=textとかってやらないとだめなんだー
0671nobodyさん2008/11/05(水) 07:19:15ID: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>

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

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

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

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

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

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

あたし男だけどwindowsしか使ったことない男の人って・・・。(得てして技術不足である 結び)
0683nobodyさん2008/11/05(水) 11:25:44ID:???
$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);
0684nobodyさん2008/11/05(水) 11:27:56ID:???
カンマ忘れた
$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);
0685nobodyさん2008/11/05(水) 11:28:48ID:???
>>683
なかなかどうして格好の良いコードだと思うよ。
0686nobodyさん2008/11/05(水) 13:58:40ID:???
key_exists?
0687nobodyさん2008/11/05(水) 15:06:58ID:c8mkQFvk
ブログのカレンダーにあるような「>>」をクリックすると
来月の月が出来るようにしたいと思っています。

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

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

俺の所感で言えばphpは学習コストが低いのがウリなので
IDE使わないで開発してる人も多い。
Javaのように定番の組み合わせはない。目的によって多種多様。
別にフレームワークの中でPEAR使ったって問題ない。
PDTでSmartyは対応してたっけ?
0694nobodyさん2008/11/05(水) 19:51:33ID:???
最後について書き忘れてた
PHPは現在群雄割拠状態なのでちょっと調べて自分の好みに合ったのを選ぶといい
俺はZend (+Smarty)
0695nobodyさん2008/11/05(水) 20:33:38ID:???
>>692
PEARはクラスライブラリ群であってPHPの拡張と思えばいい
PHP+IDE+テンプレートエンジン+クラスライブラリ+フレームワーク
必要に応じて使うものを選べばいい
全部使えるならそうしたらいいのでは?
どういうものを選ぶかというのは使用人口の多いもの(=ドキュメントが豊富)を選ぶ
ていうかこんなとこで聞かないで業務に使うならコンサルに聞きなよ
0696DiQX8KFl2008/11/05(水) 20:52:43ID: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 を利用する事にしました。
ですが、せっかくここまで試したので、今回の問題の原因が分れば、今後の為にもなるかと思いますので、調査は続けて行きたいと思います。
06976632008/11/06(木) 02:27:16ID:cn9Gc8ta
レス番号を633と間違えていました。>>666も自分です。
>>663についてなのですが、header()部分をコメントアウトしたところ問題なく動作するので、
headerの使い方に誤りがあると思ったのですが、httpタグやスペースの他にheader()を使う際の注意はあるのでしょうか?
0698nobodyさん2008/11/06(木) 10:27:35ID: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つのファイルで実装したいんだ。
できる?
0699nobodyさん2008/11/06(木) 10:30:18ID:???
>>698
質問する前に試せばいい
大した努力じゃないだろ
0700nobodyさん2008/11/06(木) 10:44:15ID:BDtAJU9j
試したら最初から666って表示されてます。
これを最初は隠しておきたいのです。
それでボタンが押されたら、はじめて画面に表示すると。
それまでの間は出てきてもらったら困るのです。
0701nobodyさん2008/11/06(木) 10:50:42ID:BDtAJU9j
<form name="aaa" action="5.php" method="post">
<input type="submit" name="aaa" value="送信" />
</form>

<?php

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

}

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

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

その結果は社内にも秘密とされた。(おれがいいふらしたけどねー!)
それは、雑談するほど効率がいいなんて、上司も人事部も認めたくなかったからなんだ。
ちなみに毎日2時間以上雑談をするチームが最も効率がよかった。(^o^)v
0705nobodyさん2008/11/06(木) 12:22:47ID:???
今更そんなの常識だろ
0706nobodyさん2008/11/06(木) 16:20:26ID:???
そうなの?
雑談ってお菓子食べてそうなイメージ
0707nobodyさん2008/11/06(木) 17:06:38ID:wmR5J9Q6
php.ini これってなんて読むんですか?
0708nobodyさん2008/11/06(木) 17:11:41ID:???
>>707
php.iniって読む
0709nobodyさん2008/11/06(木) 17:46:20ID: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/
↑ここがクッキーを発行してくるのですが、上記プログラムの場合、
どこかに保存されてるのでしょうか?
それとも何か処理をしないと受け取れないのでしょうか?

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

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

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

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

のように、PHPに飛ばして

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

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

0712711の続き2008/11/06(木) 20:04:30ID: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');
0713nobodyさん2008/11/06(木) 20:28:07ID:???
test.php?id=1指定すりゃファイル落とせるんじゃないの?
0714nobodyさん2008/11/06(木) 20:54:13ID:3NUG2tHm
>>713
その辺は色々やってるんで、とりあえず平気です。
0715nobodyさん2008/11/06(木) 21:12:46ID:???
色々って?
07167112008/11/06(木) 23:09:35ID:3NUG2tHm
事故解決しました。

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

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

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

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

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

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

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

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


↓こういうふうにしたい
= 関数(explode('-',$a));
0729nobodyさん2008/11/07(金) 11:01:19ID:???
・配列操作を組み合わせる
・explodeを止めて正規表現などで抜き出す
0730nobodyさん2008/11/07(金) 11:04:05ID:???
array_map(関数,explode('-',$a));
ってことではなくて?
0731nobodyさん2008/11/07(金) 13:14:33ID:5dI3hGRw
分かりました。ありがとうございます。
0732nobodyさん2008/11/07(金) 13:54:53ID: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とかでデバグしてるのかな・・・。
0733nobodyさん2008/11/07(金) 13:57:42ID:???
オブジェクトの何が見たいの
表示を整形するやつは色々ある
07347322008/11/07(金) 14:13:25ID:???
>>733
クラスが何たるかもわかってなかったので、むしろ理解の手助けに内容をダンプさせたかったのです。
こんな形!っていうのは無いです。

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

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

ここ読んでたら、

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

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

ここ読んでたら、

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

、、、って書いてあるんだけど、だったら、全部
$_REQUEST で受ければいいんじゃね?
だめなの?
0739nobodyさん2008/11/07(金) 16:26:05ID:???
じゃあもっと読め
0740nobodyさん2008/11/07(金) 16:29:45ID:???
>>735
ありがとう、ありがとう、ありがとうございます。そういえば2,3年前にもそんな名前を聞いた気がしました。参考にします。
0741nobodyさん2008/11/07(金) 16:35:47ID:KL0C61FM
ボタンを押したら数字が1増える、って
コードを書きたいんだけど、どう書いたらいい?
0742nobodyさん2008/11/07(金) 16:37:55ID:???
if (ボタンが押された) {
$数字の変数++;
}
0743nobodyさん2008/11/07(金) 16:43:28ID:KL0C61FM
何回も繰り返したいのです
0744nobodyさん2008/11/07(金) 16:44:44ID:???
for ($i=0; $i<繰り返したい回数; $i++) {
if (ボタンが押された) {
$数字の変数++;
}
}
0745nobodyさん2008/11/07(金) 16:48:36ID:???
>>741
ここは依頼スレではないのでヒントだけ。
いろいろとやり方はありますが、とりあえずhtmlのフォーム関連と
phpのPOSTの受け取り方について調べて考えてくださいな
0746nobodyさん2008/11/07(金) 16:53:41ID:KL0C61FM
>>744
回数は決めてないので、
while使用の例を出してもらえますか?
0747nobodyさん2008/11/07(金) 16:54:31ID: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;
}

?>

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

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

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

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

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


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


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

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

これは用途によって「違い」を使い分けるという意味でしょうか?
それとも、「同じ」だからどれでも意味があるという意味でしょうか?
0791nobodyさん2008/11/08(土) 10:46:39ID:???
>>788
ページ別に「Web拍手」を記録したいとかいう用途なら、
それなりのソースを拾って読むのがお勧め。
0792nobodyさん2008/11/08(土) 12:09:28ID: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

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

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

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

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

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

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

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

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

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

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

どうも呆れられてしまったようで申し訳ありません。ですがまじめに考えても
分からないのです。どうかお答えいただける範囲でお教えいただけたらと思い
ます。
0810nobodyさん2008/11/08(土) 17:01:34ID: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();

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

call_user_func(array(__CLASS__, 'funcName'));
0812nobodyさん2008/11/08(土) 18:22:08ID:???
>>810
それは無理
08138002008/11/08(土) 19:42:42ID: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で表示する画像のサイズなどを取得するにはどうすればいいですか?
画像の縦横のサイズも知りたいです。
0814nobodyさん2008/11/08(土) 19:57:42ID:???
そのhtml何で書いてんの?
0815nobodyさん2008/11/08(土) 20:32:35ID:???
>>813
filesize("http://hoge.com/gazo.html?no=123456");ならいけるかも。
それでもいけないならallow_url_fopenかなんかのせい
08168002008/11/08(土) 20:57:11ID:ONquUP0K
>>814
何でというのは文字コードとかですか?
画像ページがEUCでその画像を表示するページがsjisです。

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

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

0828nobodyさん2008/11/09(日) 03:32:06ID:???
絶対パスで書きなよ
どうせ末尾のスラッシュの有無で相対位置変わるし
0829nobodyさん2008/11/09(日) 03:39:45ID:/aQGvo8I
>どうせ末尾のスラッシュの有無で相対位置変わるし
確かにそうですね。
今まで相対パスで書いてたというだけの理由で変えたくなかったんですが、
そんな事に拘ってるのも馬鹿ですよね。
有難うございます!
0830nobodyさん2008/11/09(日) 06:27:53ID: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に、何も書き込まれていません。
どこが悪いですか?
0831nobodyさん2008/11/09(日) 07:37:50ID:???
最近回答者のレベルが落ちてきたな。
みんな忙しいのかな。
0832nobodyさん2008/11/09(日) 07:51:26ID:???
Warning が表示されたとき、
「ビーッ、ビーッ、ビーッ、ウオーニング、ウオーニング、」
って合成音声で鳴らして欲しいんだけど、無理?
0833nobodyさん2008/11/09(日) 08:54:16ID:YgxImz5T
初心者が1から始めるのに良い本はありませんか?

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

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

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

こういうものなの?
0838nobodyさん2008/11/09(日) 10:39:58ID:???
>>836
http://goggle.com/
0839nobodyさん2008/11/09(日) 10:43:50ID:HMbby/Hd
よく確認したら、
$a++; でも動かないし、
++$a;
でも動かないのですが
$a=$a+1;
なら動きます。
なんで?
0840nobodyさん2008/11/09(日) 10:46:31ID:???
お願いします。マニュアル読んでください。
0841nobodyさん2008/11/09(日) 10:50:02ID:HMbby/Hd
>>840
はぁ?人にお願いする時の態度がなってないなぁ?!
0842nobodyさん2008/11/09(日) 10:53:50ID: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>
0843nobodyさん2008/11/09(日) 11:03:14ID:7n5Q/DXA
>>ID:HMbby/Hd
変数の型の取り扱いはどうなっているか、
実際の変数の型が何か、どんな値が入っているか(をどうやって確認するか)、
エラーや警告をどうやってみるか、
そういったことはご存じですか?
0844nobodyさん2008/11/09(日) 11:09:05ID: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」って表示するバージョンができた。しかし、
リロードするだけで、データーが勝手に送信されてしまってカウントアップする
仕様はどうにもできないのか??
0845nobodyさん2008/11/09(日) 11:10:45ID:HMbby/Hd
>>843
数値型と文字型の違いは、
コンテキストで自動判別かな?
perlではそうだったし。

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

とりあえず、文字型を計算式にぶちこむと
自動でPHPが「空気を読んで」数値として計算してくれる、
であってる?
0846nobodyさん2008/11/09(日) 11:12:32ID:7n5Q/DXA
>>845
なるほど。よくわかりました。
回答ありがとうございました。
0847nobodyさん2008/11/09(日) 11:12:48ID:???
キミの言うリロードってブラウザの再読み込みのこと?
だとしたら再読み込みだから前回呼んだときとまったく同じパラメータを渡してリクエストしてるからカウントアップするの当たり前
0848nobodyさん2008/11/09(日) 11:26:00ID:HMbby/Hd
>>847
つまり、、、あたりまえの動作であり、
回避は不可能だと、、、??
0849nobodyさん2008/11/09(日) 11:26:38ID:HMbby/Hd
>>846
いやなにか
間違ってるところはなかったの?
0850nobodyさん2008/11/09(日) 12:02:26ID:HMbby/Hd
もしかして2画面構成にしないとだめなの?
0851nobodyさん2008/11/09(日) 12:11:47ID:???
>>HMbby/Hd
フォームを表示する時にフォームとSESSIONかなにかに同一の一意のIDみたいなものを入れる
送信された時に同一のものかチェックして同一であればカウントアップ
また一意のIDみたいなものを入れなおす
0852nobodyさん2008/11/09(日) 12:18:48ID:7n5Q/DXA
>>ID:HMbby/Hd
あなたが求めているのは何ですか?
・ばっちり動くコードが欲しい。
・おかしいところを直して欲しい。
・おかしいところを指摘して欲しい。
・おかしいところに関する情報に導いて欲しい。
・できるまでおしゃべりにつきあって欲しい。
・罵倒して欲しい。
0853nobodyさん2008/11/09(日) 12:19:21ID: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>
0854nobodyさん2008/11/09(日) 12:20:43ID: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に遷移する、って方式にしたらすべてうまくいった。
0855nobodyさん2008/11/09(日) 12:37:50ID:???
数日前からだけどいい加減にしてくれ
0856nobodyさん2008/11/09(日) 16:15:40ID: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でうまく再現する方法はないでしょうか?
0857nobodyさん2008/11/09(日) 17:19:34ID:mYYJpCRy
PHPで掲示板作ったんですが、AU携帯からの書込みだけ文字化けになります。(PC、ドコモ、ソフトバンクは正常動作)

これだけじゃ、情報不足かも知れませんが、どのソースを晒したらよいですか?
0858nobodyさん2008/11/09(日) 17:21:02ID:???
全部
0859nobodyさん2008/11/09(日) 18:25:54ID:yvtnk3lz
>>857
たぶん文字コード
0860nobodyさん2008/11/09(日) 18:40:52ID:???
絵文字入力対応の掲示板システム知らない?
携帯メインでいい。カテゴリとか増やせるやつ。
有料でもいいや。
0861nobodyさん2008/11/09(日) 18:54:37ID:???
>>860
こんなCGI探してます 23
http://pc11.2ch.net/test/read.cgi/hp/1219654359/
0862X ◆u2YjtUz8MU 2008/11/09(日) 22:06:07ID: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;
?>
0863モモ2008/11/09(日) 22:45:08ID:W0LczAda
php.ini の allow_url_fopen って、セキュリティ上の問題で
off にするのがよいって言われているようだけど、
on にすると、どういうセキュリティ上の問題があるのですか?
0864nobodyさん2008/11/09(日) 23:10:45ID:???
ぐぐれ
08658562008/11/09(日) 23:26:50ID: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 .' />'
}

でいけました。ご迷惑おかけした。
0866nobodyさん2008/11/10(月) 03:02:53ID:VBUUv9O7
ttp://mamok.com/2007/06/05/342/
上記ページにQuickFormのチェックボックスで、フリーズ時に
選択されていない項目を表示しない様にする方法が書かれていますが、
ラジオボタンでも同じ様な事できないですか?
どこをいじれば良いかだけでも教えて頂ければありがたいのですが・・・。
0867nobodyさん2008/11/10(月) 03:08:25ID:???
ドキュメントくらい読め
0868nobodyさん2008/11/10(月) 03:16:13ID: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
0869nobodyさん2008/11/10(月) 03:35:33ID: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
0870nobodyさん2008/11/10(月) 06:36:28ID:e5UeAomX
パーミッションの練習と確認をするので
ubuntuをWindows2000のマシンに入れるんだけど、
WUBIとVMWareとどっちがいい?
0871nobodyさん2008/11/10(月) 08:20:20ID:T33vx8gS
【OS名】Mac Leopard , MAMP 1.7.1
【PHPのバージョン】php 5.2.5
【連携ソフトウェア】mysql 5.0.41
【質問内容】
CSVファイルを指定すると、データベースに
自動的に(テーブルと)フィールドを作成して、
読込んでくれるライブラリとかありますか?
0872nobodyさん2008/11/10(月) 08:27:16ID:???
可哀想なぐらいの知ったかヤロー

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

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

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

これってオーナーに読み込み権限与えてるだけですよね?
0883nobodyさん2008/11/10(月) 15:52:35ID:Dy5BRpo3
・ウェブサーバーの実効ユーザーがファイルの所有者だった。
・ウェブサーバーが特権ユーザーで動いていた。
・パーミッションを設定したつもりが実は設定できていなかった。
・パーミッションを設定しているファイルと実行されているファイルが別物だった。
0884nobodyさん2008/11/10(月) 17:50:31ID: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で参照してる。
エラーじゃなくて表示されない。
誰かわかりませんか?
0885nobodyさん2008/11/10(月) 18:45:24ID:???
>>884
$jibun_kekkaってどこから出てきたんだ
0886nobodyさん2008/11/10(月) 19:02:17ID:NwtIogKV
PHP掲示板を作ったんですが、文字化け修正が成功したか
AU・ソフトバンクユーザーの方、テスト書込みしてもらえませんか?

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

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

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

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

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

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

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

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

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

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

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

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

で $line が表示されるか確認してみ
09058842008/11/11(火) 08:41:06ID:???
>>903
解決しました!!
csv内のエラーでした。
ありがとうございました。
09068842008/11/11(火) 08:41:52ID:???
まちがえた。
>>904
です。
0907nobodyさん2008/11/11(火) 14:14:04ID:enANJyGv
【OS名】windows xp
【PHPのバージョン】php5.26
【質問内容】
method宣言時にmethod名に変数を利用して宣言する事はできるのでしょうか?
↓こんなような感じで
$fuga = "test";
public function {$fuga}hoge(){}
0908nobodyさん2008/11/11(火) 14:26:11ID:???
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で
}
}
0909nobodyさん2008/11/11(火) 14:29:27ID:opckjGll
チェックボックスにchkって名前付けて
if(($_POST['chk']) == NULL){
$error = "・登録の際には、ご利用規約に同意していただく必要がございます<br>";
echo $error;
}

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

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

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

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

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

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


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

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

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

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

なら、そのURLをAとしたとき、Aに対して
アクセスがあったら、そのIDをデーターベースに登録、とするんだ。
0958nobodyさん2008/11/12(水) 15:07:15ID:NDrC8/Mx
やさしいなぁ、その通りやってみる。ありがとう。
0959nobodyさん2008/11/12(水) 15:19:27ID:NDrC8/Mx
え・・・やっぱわからない、Aに対してアクセスがあったらDBに登録・・・
これって結構難しい?
0960nobodyさん2008/11/12(水) 15:23:28ID:???
http://qb5.2ch.net/test/read.cgi/operate/1222311594/570,573
素人が質問してるぞ
0961nobodyさん2008/11/12(水) 15:24:38ID:???
普通にgetから受けたIDとパスワードをDBに登録するだけじゃね?
踏んだURLのphpにDB登録のプログラム書いとくだけだろ
0962nobodyさん2008/11/12(水) 16:05:40ID:NDrC8/Mx
そっか、踏むのはphpだったんだ。
そこがわからなかった
眠気で頭どうかしてた
末尾に?の後に全プログラムを書くしか・・・とか考えてた
0963nobodyさん2008/11/12(水) 17:18:58ID:9QCKGAxg
$_SERVER['SCRIPT_NAME']
$_SERVER['PHP_SELF']

この違いって何でしょう?
0964nobodyさん2008/11/12(水) 17:27:05ID:???
>>963
http://puchiko.lowtech.ne.jp/?itemid=957&catid=26
0965nobodyさん2008/11/12(水) 17:32:32ID:9QCKGAxg
>>964
なるほど、ありがとうございます
0966nobodyさん2008/11/12(水) 17:52:19ID:esy/G5nT
質問です。

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

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


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

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

危険なパーミッション

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

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

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

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

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

はて困った。。
0975nobodyさん2008/11/12(水) 23:47:22ID:???
信じられない特許だね、これが通るんじゃプログラムの基礎本に載ってるようなテクニックでも
特許にできそう
GIF特許騒動思い出したよ
0976nobodyさん2008/11/12(水) 23:55:49ID:???
>>974
0006と0011あたりに穴があるように見えるが、まぁダメっぽければ異議申し立てすれば?
コンプラ強化するくらいなら知財担当いるんでしょ?
0977nobodyさん2008/11/13(木) 01:31:59ID:???
>>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の結果(下段)変くね?
0978nobodyさん2008/11/13(木) 03:53:19ID:FiZQ76KZ
PHP5 でも <?=$foo?> の記述使えるよね?

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

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

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

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

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

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

でもなぁ、ページアクセスの度にそんなことしてたら時間かかるぞ。
0987nobodyさん2008/11/13(木) 13:21:25ID:???
duってコマンドがある
0988nobodyさん2008/11/13(木) 13:49:18ID:???
>>986
そもそもページアクセスの度にフォルダ容量を計算してるという仕様を見直すべきだろう。
0989nobodyさん2008/11/13(木) 15:05:01ID:TS7LMUyh
1000
0990nobodyさん2008/11/13(木) 15:18:52ID:???
>>989
おまえ早漏すぎ
0991nobodyさん2008/11/13(木) 17:08:41ID:???
991
0992nobodyさん2008/11/13(木) 23:40:53ID:???
2
0993nobodyさん2008/11/13(木) 23:46:00ID:???
(:D)oz =3
0994nobodyさん2008/11/14(金) 14:47:29ID:???
ume
0995nobodyさん2008/11/14(金) 14:52:52ID:???
埋めずに次スレに移行してるのか
さっさと埋めてしまおう
0996nobodyさん2008/11/14(金) 14:56:07ID:???
梅地真央
0997nobodyさん2008/11/14(金) 15:05:42ID:???
ume
0998umebody2008/11/14(金) 15:10:44ID:???
うめ
0999nobodyさん2008/11/14(金) 15:11:16ID:???
1000nobodyさん2008/11/14(金) 15:11:47ID:???
1000
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。