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

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

◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 101
http://hibari.2ch.net/test/read.cgi/php/1289793607/
◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】

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

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

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

【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
2nobodyさん:2010/12/18(土) 20:08:20 ID:???
■過去ログ
【PHP】下らねぇ質問はID出して書き込みやがれ 100
http://hibari.2ch.net/test/read.cgi/php/1288168893/
【PHP】下らねぇ質問はID出して書き込みやがれ 99
http://hibari.2ch.net/test/read.cgi/php/1286938893/
【PHP】下らねぇ質問はID出して書き込みやがれ 98
http://hibari.2ch.net/test/read.cgi/php/1284805237/
【PHP】下らねぇ質問はID出して書き込みやがれ 97
http://hibari.2ch.net/test/read.cgi/php/1279833891/
【PHP】下らねぇ質問はID出して書き込みやがれ 96
http://pc11.2ch.net/test/read.cgi/php/1275032024/
【PHP】下らねぇ質問はID出して書き込みやがれ 95
http://pc11.2ch.net/test/read.cgi/php/1271636105/
【PHP】下らねぇ質問はID出して書き込みやがれ 94
http://pc11.2ch.net/test/read.cgi/php/1268835461/
【PHP】下らねぇ質問はID出して書き込みやがれ 93
http://pc11.2ch.net/test/read.cgi/php/1266229386/
【PHP】下らねぇ質問はID出して書き込みやがれ 92
http://pc11.2ch.net/test/read.cgi/php/1263035502/
【PHP】下らねぇ質問はID出して書き込みやがれ 91
http://pc11.2ch.net/test/read.cgi/php/1260247989/
【PHP】下らねぇ質問はID出して書き込みやがれ 90
http://pc11.2ch.net/test/read.cgi/php/1258187482/
3nobodyさん:2010/12/18(土) 20:09:01 ID:???
関連リンク
■本家マニュアル   http://www.php.net/manual/ja/
■日本PHPユーザ会 http://www.php.gr.jp/
■PEARマニュアル  http://pear.php.net/manual/ja/
■メーリングリスト   http://ns1.php.gr.jp/mailman/listinfo/
■ZFマニュアル    http://framework.zend.com/manual/ja/
■Smartyマニュアル  http://www.smarty.net/manual/ja/

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

1.IDを出すには、入力項目のメール欄に何も入力しない状態で送信すればOK

2.IDを出していない質問については、いろいろな意見が出るけれども泣かない

3.IDを出していない質問については、こちらに転載するなどして誘導しますか?

【PHP】下らねぇ質問はID出さずに書き込みやがれ 1
http://hibari.2ch.net/test/read.cgi/php/1289117484/l50

■Ajax 厨について

【PHP】下らねぇ質問はID出さずに書き込みやがれ 1
http://hibari.2ch.net/test/read.cgi/php/1289117484/l50

こちらのスレッドで好きなだけ遊んでください。

7nobodyさん:2010/12/19(日) 23:23:04 ID:???
>>1乙これはポニーテルry
8nobodyさん:2010/12/19(日) 23:23:35 ID:???
>>1(・ω・`)乙  これは乙じゃなくてポニーテールなんだからね!
9nobodyさん:2010/12/20(月) 07:32:05 ID:???
乙ポ
10nobodyさん:2010/12/20(月) 23:52:54 ID:???
hage
11nobodyさん:2010/12/21(火) 00:20:51 ID:???
>>1
1乙。Ajaxの教育効果があったようだな。
12nobodyさん:2010/12/21(火) 00:21:45 ID:???
>>1(・ω・`)X  これはAjaxじゃなくてJAXAなんだからね!
13nobodyさん:2010/12/21(火) 01:04:57 ID:WU1Jm8ey
OS:CentOS
PHP:5.2.12
連携ソフトウェア:GoogleIME
確認ブラウザ:Chrome Opera IE

Google変換のAPIを試してみてもうまくいきません

$res = file_get_contents("http://www.google.com/transliterate?langpair=ja-Hira|ja&text=".urlencode("すいせいせき"));
print $res;

ブラウザで同じURLに行ってみたらうまくいくのですが
PHPを通すと
[ [ "\u3059\u3044\u305B\u3044\u305B\u304D", [ "\u7FE0\u661F\u77F3","\u7FC6\u661F\u77F3","\u5F57\u661F\u77F3","\u3059\u3044\u6210\u7E3E","\u3059\u3044\u305B\u3044\u305B\u304D", ], ], ]
と、文字化けみたいなことになります

エンコードとか色々してみたんですがダメでした。
原因を教えてください。
よろしくお願いします。
http://www.google.com/intl/ja/ime/cgiapi.html
14nobodyさん:2010/12/21(火) 01:33:24 ID:???
json_decode
15nobodyさん:2010/12/21(火) 01:46:57 ID:???
そんくらいぱっとみてjson関連ってわからないとAPIを使うのはむずかしい
16nobodyさん:2010/12/21(火) 01:54:14 ID:???
これJSON形式か?
17nobodyさん:2010/12/21(火) 02:44:15 ID:???
>レスポンス
>JSON 形式の配列が返されます。

おもいっきり説明に書いてあるし書き方的にもJSON
18nobodyさん:2010/12/21(火) 03:08:43 ID:???
>>17
違います。Ajaxです。
19nobodyさん:2010/12/21(火) 03:31:53 ID:???
池沼は放置
2013:2010/12/21(火) 09:52:18 ID:???
いえ、JSONってことはわかるんですが、文字化けの解決法がわかりません。
JSONのデコード以前の問題かと
21nobodyさん:2010/12/21(火) 09:59:53 ID:???
文字化けじゃなくてunicodeエスケープされてるだけなのでjson_decodeすればOK
json_decode使わないならpackとかめんどくさい事しないとダメ
22nobodyさん:2010/12/21(火) 10:11:02 ID:???
文字化けしてないじゃん。
23nobodyさん:2010/12/21(火) 10:27:36 ID:???
これJson+Urlencodeだっけ
Json_decode+Urldecodeすれば解決すんじゃないのん?
24nobodyさん:2010/12/21(火) 10:29:57 ID:???
urlencodeだと%〜になるので関係なし
json_decodeだけでいい
25nobodyさん:2010/12/21(火) 10:31:49 ID:???
そうなのか
俺の時、サーバサイドでjson_encodeしたら日本語のままだったから、
恐らくFirefox(Firebug)で自動的に日本語変換でもされてたのかな、まぁいいや
26nobodyさん:2010/12/21(火) 11:00:42 ID:???
PHPで使うことを想定してるならシリアライズしてくれたらいいのにな
27nobodyさん:2010/12/21(火) 11:04:56 ID:???
どこにもPHPで使うことを想定してるような事は書いてないが・・・
どちらかと言えばJSONPが使えればとは思う・・・
28nobodyさん:2010/12/21(火) 11:26:54 ID:???
<!DOCTYPE html>
<head>
<meta charset="UTF-8">
<script>
<?php
$res = file_get_contents("http://www.google.com/transliterate?langpair=ja-Hira|ja&text=".urlencode("ゆうらくちょう"));
echo "var json = unescape(".$res.");\n";
echo "document.write(json);\n";
?>
</script>
</head>
2928:2010/12/21(火) 11:30:57 ID:???
理屈はこうなんだけど
JavaScriptのunescapeに相当するPHPの関数を知らない
30nobodyさん:2010/12/21(火) 11:35:15 ID:???
>>29
その辺はPEARライブラリがサポートしてるな

そういやGoogle変換APIって商用利用不可能だっけ
3128:2010/12/21(火) 11:51:01 ID:???
http://jp2.php.net/utf8_encode#58442
この関数コピペしていけた
使う前に$resの\を%に置き換える必要があるけど
まぁJavaScript側でやっていいんじゃないかと思うけどね

//上の関数群をコピペ
$res = preg_replace("/\\\/", "%", file_get_contents("http://www.google.com/transliterate?langpair=ja-Hira|ja&text=".urlencode("すいせいせき")));
echo unescape($res);
3228:2010/12/21(火) 11:55:01 ID:???
荒れないうちに訂正しておく
preg_replace("/\\\/"→str_replace("\\"
33nobodyさん:2010/12/21(火) 12:00:30 ID:???
いやだからjson_decodeで十分だろ・・・
34nobodyさん:2010/12/21(火) 12:04:40 ID:???
json_decodeが何をする関数か調べてからいいなよ
35nobodyさん:2010/12/21(火) 12:20:11 ID:???
その用途ならunescapeする必要なくないか・・・?
3628:2010/12/21(火) 12:24:58 ID:???
いやただ単に俺の環境じゃjson_decode使えなかったからw
使えるなら簡単にできるんだろうね
37nobodyさん:2010/12/21(火) 12:31:48 ID:???
5.2以降ならデフォルトでjson_decode使えるけど
>>13とは別人なのか・・・ややこしい
38nobodyさん:2010/12/21(火) 12:44:55 ID:???
$res = file_get_contents("http://www.google.com/transliterate?langpair=ja-Hira|ja&text=".urlencode("すいせいせき"));
print_r(json_decode(str_replace(",]", "]", preg_replace(array("/\x20/", "/\\t/", "/\\n/"), array("", "", ""), $res))));

まぁこんなかんじっすかね
39nobodyさん:2010/12/21(火) 12:47:43 ID:???
>preg_replace(array("/\x20/", "/\\t/", "/\\n/"), array("", "", ""), $res)
preg_replace("/[[:space:]]/", "", $res)
でおk
40nobodyさん:2010/12/21(火) 14:43:46 ID:???
41nobodyさん:2010/12/21(火) 15:43:31 ID:???

Ajax については、【PHP】下らねぇ質問はID出さずに書き込みやがれ 1
http://hibari.2ch.net/test/read.cgi/php/1289117484/l50

こちらで解説付きで書いてください。
42nobodyさん:2010/12/21(火) 17:09:15 ID:???
未だにfile()かfgetsか迷うな
43nobodyさん:2010/12/21(火) 18:25:35 ID:???
いやだからAjaxで十分だろ・・・
44nobodyさん:2010/12/21(火) 19:00:41 ID:???
えーっ?十分も掛かったらやだなあ、もっと早く動作させられる物をキボンヌ!
45nobodyさん:2010/12/21(火) 19:23:47 ID:???
いい加減荒らすのやめろよカスが
そろそろぶちきれますよ
4613:2010/12/21(火) 20:38:03 ID:WU1Jm8ey
json_decode関数の使い方がいまいちわかりません

<?php
$res = file_get_contents("http://www.google.com/transliterate?langpair=ja-Hira|ja&text=".urlencode("すいせいせき"));
$aryres=json_decode($res);

print_r($res);

とすると何も表示されません
print_rの代わりにvar_dumpを使うとNULLが帰ってきます
なんどもすみません。よろしくお願いします。
47nobodyさん:2010/12/21(火) 20:41:43 ID:???
$aryres=json_decode($res);

print_r($res);

え?
48nobodyさん:2010/12/21(火) 20:46:25 ID:???
注)釣り針が大きすぎる
4913:2010/12/21(火) 20:52:06 ID:???
大変失礼しました。
2chに転記する時のミスです。

print_r($aryres);
です。
50nobodyさん:2010/12/21(火) 21:54:51 ID:???
マニュアルと>>38のコード読めよ・・・
なんで",]"を"]"にわざわざ置き換えてるのか考えろ
51nobodyさん:2010/12/21(火) 22:05:02 ID:???
javascriptの場合,つけてても平気だけどPHPのjson_decodeの場合エラー扱いになるのか・・・
5213:2010/12/21(火) 22:25:16 ID:WU1Jm8ey
>>38-39を使って
$res = file_get_contents("http://www.google.com/transliterate?langpair=ja-Hira|ja&text=".urlencode("すいせいせき"));
print $res."\n";
$res = preg_replace("/[[:space:]]/", "", $res) ;
print $res."\n";
$res = str_replace(",]", "]",$res);
print $res."\n";
print_r(json_decode($res));

で出来ました。
ありがとうございました。
53nobodyさん:2010/12/21(火) 23:27:20 ID:???
つまりJSON形式じゃなかったってことだな
54nobodyさん:2010/12/21(火) 23:52:25 ID:zPMGCBk8
すいません。他のスレで質問したんですが、ID出してしまって怒られたので
こちらで質問させてください。
実は今個人でPHPの勉強しようと思ってます
演算子や関数などと出てきて、覚える必要はあるんでしょうか?
数式や数字はすごく苦手です…
やはりよく使う物なんでしょうか?
マルチになってしまいますがどうか教えてください
55nobodyさん:2010/12/21(火) 23:58:43 ID:???
>>54
Ajaxを学ぶのがおすすめ。Ajaxさえできれば何でも出来るよ。
56nobodyさん:2010/12/22(水) 00:11:21 ID:???
>>55さん
レスありがとうございます
Ajaxは聞きなれたことがなかったので調べてみました
簡単に言うとHTMLとCSSとJavaScriptを混ぜたものと考えてもいいんでしょうか?
面白そうとは思うんですが
PHPの方が興味あります…
57nobodyさん:2010/12/22(水) 01:03:24 ID:???
>>54
入門書の基本的な文法の部分をざっと読んでみると良いと思います。
演算子なんて小学校の算数レベルのものが理解できれば何とかなります。
「関数」も数学の関数と混同している気がします。
難しいという先入観なしでやってみてはいかがでしょう。
58nobodyさん:2010/12/22(水) 01:06:43 ID:???
>>57さん
ありがたいレスありがとうございます
なんとなく先入観で難しいと思ってしまっていたのかも知れないですね(汗)
独学で頑張ってみようと思います
ありがとうございました!
59nobodyさん:2010/12/22(水) 02:13:12 ID:???
>>53
いやJSONはJSONで問題ない
JavaScript的にはあれでOKなんだよ
ただJSONの仕様が書いてあるところにその事が明記されてないから
サポートされてないだけだよ

javascriptとしては
[,].lengthこれで1で
[,""].lengthこれだと2になる
この仕様はあんまり好きじゃないがこういう仕様
60nobodyさん:2010/12/22(水) 02:50:32 ID:2qC3xXMO
【OS名】windows7
【PHPのバージョン】5.3
【連携ソフトウェア 特になし
【質問内容】
独学でPHPを学んでいて、演習のネタに困ってます。
2ちゃんでは評判があまり良くなかったようですが、「PHPによるECサイトプログラミング」
を参考にECサイトを組んでみて、記述抜けや記述間違いも含め、すごく勉強になりました。
次は自分でWEBサービスを組んでみようかとやっているんですが、まだ力不足のようです。
何か入門書ではなく、またサンプルやクックブックのようなものではなく、
纏まったボリュームのアプリケーションを組むといった内容の参考書をどなたか
ご存知でないでしょうか。日本語か英語でお願いしたいです。
よろしければご教授下さい。
61nobodyさん:2010/12/22(水) 07:31:22 ID:???
>>60
オープンソースのPHPアプリケーション
62nobodyさん:2010/12/22(水) 08:17:58 ID:???
63nobodyさん:2010/12/22(水) 08:59:42 ID:???
>>60
このスレの住人に英語が理解できるはずないから。
Ajaxすら理解できないのに。
64nobodyさん:2010/12/22(水) 10:18:27 ID:???
なんか言わないと気が済まない低レベル野郎は黙ってろ
あんま荒らすといい加減BANしてもらいますよ
65nobodyさん:2010/12/22(水) 11:17:43 ID:???
BANとかあるんだ
こえーな
66nobodyさん:2010/12/22(水) 12:11:35 ID:???
>>64
精神病患者の特徴そのまま
他人の言動はまるで耳に入らない

言うだけ無駄
67nobodyさん:2010/12/22(水) 14:21:35 ID:???
よくもそんなひどいことが言えますね。
あなたがたの民度の低さが伺えます。
68nobodyさん:2010/12/22(水) 15:30:47 ID:6F24ohpm
Postで移動した先で更新を押しても再度値が送信される的なメッセージが表示されない方法ってあるんですかね?
ショッピングカートみて研究してたら、POSTで移動してるはずなのに更新おしてもメッセージが表示されないところがあるんです。
これってどうやってるんでしょうか?
69nobodyさん:2010/12/22(水) 15:43:48 ID:???
そこら辺はブラウザの仕様だから勘違いだろう
70nobodyさん:2010/12/22(水) 15:49:55 ID:???
キャッシュさせないかなにかで出来たはず
とりあえずヘッダ見てみる事をおすすめする
71nobodyさん:2010/12/22(水) 15:53:23 ID:???
POSTされたページでSESSIONにPOSTされたデータを格納だけして
headerで別ページに飛ばすというのも良くある
飛ばされたページでリロードしても問題無い
72nobodyさん:2010/12/22(水) 15:55:51 ID:???
決済後に戻るボタンおして再送信したら二重決済とか
そういう風にならないようにちゃんとなってるはずだから基本気にしなくていいよねタブン
73nobodyさん:2010/12/22(水) 16:01:09 ID:???
戻るボタン対策も考えると

・処理後にheaderで飛ばす
・tokenを生成する

これらをやっとけば平気

tokenについては、「php 2重送信」とかで検索すると具体例がでてくる
74nobodyさん:2010/12/22(水) 17:02:47 ID:???
リダイレクトで解決しました。
ありがとうございました。
75nobodyさん:2010/12/22(水) 18:56:09 ID:???
>>72

二重決済は決済を受付る側での抑止に関するお話です。
76nobodyさん:2010/12/22(水) 18:57:24 ID:???
>>73

適切な回答に感動しました。
77nobodyさん:2010/12/22(水) 19:00:19 ID:???
>>74

解決して礼を述べる時にもIDを出す配慮が欲しい。

質問と同じIDならば質問者が理解したと判断できるから。

そうした配慮に人は喜びを感じます。
78nobodyさん:2010/12/22(水) 19:26:52 ID:LZXfpwRk
たまに嵐なのか、単なるいたずらのつもりなのか、矛盾した回答があって困っています。
また、回答者とのやりとりを何回か行う場合に、複数の回答者がてんでにバラバラな
ことを言っているのか、単一の回答者が(半端な知識の為に)矛盾した回答を複数して
いるのかが判然としません。

IDを出していない書込をすべて排除するべきではありませんか?
つまり、「【PHP】下らねぇ質問も回答も雑談もID出して書き込みやがれ」に
変えるべきではないですか?
7960:2010/12/22(水) 19:35:16 ID:2qC3xXMO
>>61
素早いお返事ありがとうございます。
確かにオープンになってるソースを読めば十分勉強できますね。
迂闊にも気付きませんでした。

>>62
このページのPHP部分が面白いのですね。ツールを探して見てみようと思います。

ありがとうございました。
80nobodyさん:2010/12/22(水) 23:35:31 ID:???
丁寧語で喋ってるやつってID出せとかAjaxとか言ってるやつだろ?
多重面相は大変ですね
81nobodyさん:2010/12/23(木) 02:35:07 ID:???
発言が低能だからまるわかりなんだよな
マジでリアルIQ低そう
82nobodyさん:2010/12/23(木) 02:42:49 ID:???
>>73見てひろみちゅの記事思い出したわ
ttp://takagi-hiromitsu.jp/diary/20060409.html
83nobodyさん:2010/12/23(木) 09:04:58 ID:???
ひろみちゅの記事なんか紹介するなよ

間違えて読んじやったじゃないか!
他人の手柄を横取りする ひろみちゅは嫌いなんだよね〜
84nobodyさん:2010/12/23(木) 09:52:28 ID:???
見れればわかるしな。回答も質問もしないし。
85nobodyさん:2010/12/23(木) 11:36:45 ID:???
あなた方の民度の低さにはうんざりです。
私これまでいくつ回答したと思っているの、
もtっとAjaxxを基礎から勉強しなおしたほうがいいのではないでしょうか
86nobodyさん:2010/12/23(木) 11:37:55 ID:???
×回答
○オナニー論評
87nobodyさん:2010/12/23(木) 11:52:46 ID:???
あなたのような荒らしにみんなうんざりしてるbの
がわからないのですか、だから低脳といわれるのですよ
88nobodyさん:2010/12/23(木) 12:42:12 ID:???
荒らされたらAjax覚えて見返してやればいい
89nobodyさん:2010/12/23(木) 13:36:39 ID:???
ここを荒らす奴って、隔離スレにも書いてる奴なの?
両方に書いているかと想像したら、哀れみを感じました。
90nobodyさん:2010/12/23(木) 14:01:23 ID:???
ここを荒らしてる奴があっちもついでに荒らしてる感じでしょ多分
91nobodyさん:2010/12/23(木) 14:03:16 ID:???
お金が絡んでるってわからないのかな
92nobodyさん:2010/12/23(木) 14:13:46 ID:???
先生方へるぷみー。

先生方も大好きなSOAPなんだけど
 <xsd:element ref="tns:hoge" nillable="true"/>
みたく、ひとつの要素に ref と nillable が両方登場するような WSDL を SoapClient に指定すると
 PHP Fatal error: SOAP-ERROR: Parsing Schema: element has both 'ref' and 'nillable' attributes
って怒られる・・・

これWSDLが悪いんですっけ?
ええ確かに、refとnillableって意味的にそぐわないよなあとは思うんだけども・・・
それともSoapClientへのパラメータでなんとかなったりしますのん?
9392:2010/12/23(木) 14:17:59 ID:RvWW4NaD
いつものクセでsageちゃったage
94nobodyさん:2010/12/23(木) 14:21:25 ID:???
>>92
態度が気に入らない
95nobodyさん:2010/12/23(木) 14:21:55 ID:???
自分で答えだしてるじゃん
9692:2010/12/23(木) 14:23:56 ID:RvWW4NaD
っていうかテンプレがあったのか・・連投失礼
【OS名】WindowsXP, Windows7
【PHPのバージョン】5.2.16, 5.3.4
【連携ソフトウェア】なし
【質問内容】
<xsd:element ref="tns:hoge" nillable="true"/>
と、ひとつの要素に ref と nillable が両方登場するような WSDL を SoapClient に指定すると
PHP Fatal error: SOAP-ERROR: Parsing Schema: element has both 'ref' and 'nillable' attributes
とエラーメッセージが表示されます。
WSDLを修正すべき?
それともSoapClientへのパラメータで何とか?
9792:2010/12/23(木) 14:24:48 ID:???
あーもうなんかいろいろすんません。
答え出てますよね。
消えます・・・
98nobodyさん:2010/12/23(木) 17:09:03 ID:kptdGBbq
「aeeea」などにマッチする正規表現を
preg_match('/(.)e+\1/', 'aeeea')
のように書きたいのですが、マッチしません。
一度括弧で取り込んだ値をそのまま使う方法はないでしょうか?
99nobodyさん:2010/12/23(木) 17:16:03 ID:???
おれの環境ではそれでマッチするからたぶん壊れてるよ
インストールしなおしだな
100nobodyさん:2010/12/23(木) 17:47:50 ID:???
/i にするの忘れてました…
有り難うございました。
101nobodyさん:2010/12/23(木) 17:55:06 ID:???
出来る限り実装に近い例を質問に用いろという好例だな。
preg_match('/(.)jax\1/', 'Ajaxa')
ではマッチしないというわけだ。
102nobodyさん:2010/12/23(木) 19:15:29 ID:???
>>101

   ∩___∩         |
   | ノ\     ヽ        |
  /  ●゛  ● |        |
  | ∪  ( _●_) ミ       j
 彡、   |∪|   |        Ajax
/     ∩ノ ⊃  ヽ
(  \ / _ノ |  |
.\ “  /__|  |
  \ /___ /

103nobodyさん:2010/12/23(木) 22:13:41 ID:???
いつもの低レベルな論評ですね(笑
104nobodyさん:2010/12/24(金) 05:19:37 ID:???
そういえば高木はGijoeって人に論破された後だんまりぶっこいててわろた記憶があるな。
105nobodyさん:2010/12/24(金) 14:18:49 ID:YocMDy8V
リファラーのチェックって必要なんでしょうか?
昔セキュリティソフトの類を使ってると、そのソフトがその辺の情報を自動的に消してしまってて使えないとか聞いたことがあるんですが。
106nobodyさん:2010/12/24(金) 14:25:53 ID:???
>>105
refererは簡単に変えられるから
refererに依存した作りはしないほうがいい

他のチェックと合わせてrefererもチェックするというのは有り
107nobodyさん:2010/12/24(金) 18:09:30 ID:???
>>105
CSRFされると困るようなものなら,チェックした方がいいよ
108nobodyさん:2010/12/24(金) 19:36:17 ID:CPjE3COu
どちらかというと正規表現なのでしょうか


住所の一覧.txtがあるのでそれを市町村や都道府県等の単位で配列につっこんで利用したいと考えております

持っているデータはただひたすら住所がフルパスで列挙されたもので
北海道札幌市中央区
北海道札幌市中央区旭ケ丘
...
沖縄県八重山郡与那国町与那国

hairetu[0][0]=北海道
hairetu[0][2]=札幌市
hairetu[0][3]=中央区

hairetu[1][0]=北海道
hairetu[1][2]=札幌市
hairetu[1][3]=中央区
hairetu[1][4]=旭ヶ丘
...
hairetu[X][0]=沖縄県
hairetu[X][1]=八重山郡
hairetu[X][2]=与那国町
hairetu[X][3]=与那国


こんな感じに格納するのが目標です
preg_match('/^(.+?[都道府県])(.+?[市町村区])((.+?[市町村区])|(.+?[^市町村区]))((.+?[市町村区])|(.+?[^市町村区]))(.+)/u', $plan_text, $addresses, PREG_OFFSET_CAPTURE);
こんな感じで正規表現試してみたのですが望んだ結果が得られません
どなたかアドバイスをお願いします
109nobodyさん:2010/12/24(金) 19:56:28 ID:???
$s = '沖縄県八重山郡与那国町与那国';
preg_match('/(.*?(?:都|道|府|県))(.*?(?:郡|市|区|町|村))(.*?(?:区|町|村))(.*)/', $s, $match);
array_shift($match);
foreach ($match as $value) {
echo $value,"<br />\n";
}
110nobodyさん:2010/12/24(金) 20:01:21 ID:???
>>109
ありがとうございました
111nobodyさん:2010/12/24(金) 20:25:21 ID:???
そのパターンだと "千葉県市川市〜" とかが "千葉県" "市" "川市〜" になっちゃうよね
112nobodyさん:2010/12/24(金) 20:44:16 ID:???
コメじゃなくてプラスにしたらいいんじゃない?
113nobodyさん:2010/12/24(金) 20:45:54 ID:???
区切り文字の前に必ず何か一文字以上ある事にすればおk
114nobodyさん:2010/12/24(金) 20:49:31 ID:???
地理的な分類手法では、

The name of a country ⇒「国」名
The state name ⇒「州」名
A name of a prefecture ⇒「県」名
The county city area name of a village ⇒「郡市町村」名
Ward autonomy name ⇒「区町村」名

Autonomy = 自治体

こうした考え方があります。

求めるものが「自治体単位での区切り」であるのならば、安易に区切りの語句で判断せずに「自治体名」の辞書を整備して挑みましょう。

求めるものが自治体単位での区切りではないのならば、正規表現での議論も適切であると考えます。
115nobodyさん:2010/12/24(金) 21:01:23 ID:???
いや多分>>108がやりたいのはそういうことじゃなくて
既に手元にある"住所の一覧.txt"を加工したいってことでしょう。

市川市や町田市だけでなく、四日市市や十日町市みたいな地名もあるから
単純に"市""町"などを区切り文字にするのは事実上困難。というか不可能では。
116nobodyさん:2010/12/24(金) 21:10:02 ID:wBwqmACB

$filename = "aaa.exe";
$srcfile = "http://bbb.co.jp/aaa.exe";
header('Content-Disposition: attachment; filename="'.$filename.'"');
header('Content-Type: application/octet-stream');
header('Content-Transfer-Encoding: binary');
header('Content-Length: '.filesize($srcfile));
readfile($srcfile);

aサーバーとbサーバーがあって
aサーバーにファイルを置きaサーバーからダウンロードしたら正常
bサーバーにファイルを置きbサーバーからダウンロードしたら正常

bサーバーにファイルを置き
aサーバーから$srcfile = "http://bbb.co.jp/aaa.exe";でダウンロードしたらファイルが壊れるんですが
どうしたら壊れずにダウンロード出来る様になりますか?
117nobodyさん:2010/12/24(金) 21:11:25 ID:???
壊れるってどういうの?
118nobodyさん:2010/12/24(金) 21:20:42 ID:???
壊れるというのはexeを実行しても起動しなくなってしまいます。
(一瞬コマンドプロントが立ち上がって即終了)
119nobodyさん:2010/12/24(金) 21:28:32 ID:???
readfileはバイナリセーフじゃないんじゃね?
120nobodyさん:2010/12/24(金) 21:36:35 ID:???
ハッシュ調べてから壊れると表現するべきだな
121nobodyさん:2010/12/24(金) 22:39:18 ID:???
readfileの問題じゃなくて、aサーバーからbサーバー上のaaa.exeを
読みに行くとき、bサーバーが出力するaaa.exeがバイナリになっていない可能性がある。
bサーバーのウェブサーバーで拡張子exeのMIMEタイプがどのように設定されているか
確認したほうがいい。
ブラウザで"http://bbb.co.jp/aaa.exe"にアクセスしてみたらどうなるか。
122nobodyさん:2010/12/24(金) 23:49:30 ID:???
Content-Transfer-EncodingはHTTP1.1には無いから外したほうがいい
123116:2010/12/25(土) 01:05:17 ID:???

ブラウザーから直接アクセスすると両サーバともアプリとしてちゃんとDL出来ました
が、新たな問題で、両サーバーとも$srcfile =相対パスだと大丈夫でhttpから始まる絶対パスだと失敗するようです
(aサーバー内で相対パスaaa.exeだと大丈夫、絶対パスhttp://aaa.co.jp/aaa.exeだと失敗bも同じ

最終的には別サーバーからDLしなくてはいけなくなるのでマイッタ....
124nobodyさん:2010/12/25(土) 01:30:29 ID:???
ブラウザのリクエストをシミュレートしてDLするとうまくいく?
<?php
$filename = "aaa.exe";
$srcfile = "http://bbb.co.jp/aaa.exe";

$ch = curl_init();
$headers = array(
'Accept-Language: ja,en-us;q=0.7,en;q=0.3',
'Accept-Charset: Shift_JIS,utf-8;q=0.7,*;q=0.7',
'Accept-Encoding: gzip'
);
curl_setopt_array($ch, array(
CURLOPT_URL => $srcfile,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_BINARYTRANSFER => true,
CURLOPT_FORBID_REUSE => true,
CURLOPT_USERAGENT => 'Mozilla/5.0 (Windows; U; Windows NT 6.1; ja; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13',
CURLOPT_HTTPHEADER => $headers
));
$bin = curl_exec($ch);
curl_close($ch);

header('Accept-Ranges: bytes');
header('Content-Length:' . strlen($bin));
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="' . $filename . '"');
echo $bin;
125nobodyさん:2010/12/25(土) 01:49:09 ID:???
先ずファイル容量がどれくらい違うか比較ぐらいせぇよ
fopenラッパーは有効になってるの?
126nobodyさん:2010/12/25(土) 09:49:52 ID:???
つーかAjax使えば一発だろ
127nobodyさん:2010/12/25(土) 13:32:47 ID:AYOYvcgW
0xFCEE 0x8FB8B5 を日本語EUCで表示した時
MSIEだと「K曙ウ」になり、
MSIE以外(Firefox, Opera, Chrome)だと「K?x5864;」になります。
※0xFCEE は CP51932 で「K」(eucJP-msでは「」)
※0x8FB8B5 は eucJP-ms で「?x5864;」(CP51392 には存在しない)

これらの変換をPHPで再現したいのですが、やり方が判りません。
何か良い方法があればご教示ください。よろしくお願いします。
128nobodyさん:2010/12/25(土) 13:34:18 ID:???
?x5864; は &#x5864; を半角にしてブラウザで表示した物です。
129nobodyさん:2010/12/25(土) 14:47:04 ID:???
0x8FB8B5 がなぜかIEで「曙ウ」(0xBDEC 0x8EB3)と表示されるわけだが、
IEでどのように脳内変換してるのか、IEの中の人に聞かなくちゃわからんね。
130nobodyさん:2010/12/25(土) 14:53:42 ID:???
「K?元」となるのが正しい変換じゃないか?
つまりCP51932は対応してる
131nobodyさん:2010/12/25(土) 14:59:24 ID:???
でも実際には>>127の書いたような表示になる。
IEでは「K曙ウ」、Firefoxでは「K?」だった。
(Firefoxの場合の2文字目は「損」の偏が土偏の字)
132nobodyさん:2010/12/25(土) 19:34:19 ID:???
133127:2010/12/25(土) 20:05:00 ID:???
有り難うございます。その599は自分です。
MSIEの方はそのスレの方法で処理し、
MSIE以外の方は、CP51932の「NEC選定IBM拡張文字」とぶつかる、
eucJP-msの「ユーザ定義文字(前半)」のアドレスを、CP51932の「NEC選定IBM拡張文字」に置換
することで何とかなりそうではありますが、
他に何か確かな方法は無いでしょうか。
iconvやnkfなどで処理できればいいのですが…
134nobodyさん:2010/12/26(日) 01:27:36 ID:???
そのレスの600の人、詳しいね。
というか、残りの疑問もそっちで聞いたほうがいいような気が。
正直、何をどう変換したいのかイマイチよくわからん。
135nobodyさん:2010/12/26(日) 02:18:18 ID:???
そりゃ専スレだから詳しいだろう
136nobodyさん:2010/12/26(日) 11:01:32 ID:Mf34Ozoz
質問です

AjaxとPHPの違いを教えてください。
137nobodyさん:2010/12/26(日) 11:15:38 ID:???
ググレカス
138nobodyさん:2010/12/26(日) 12:55:49 ID:???
突っ込み所が残るほど簡単に言ってしまえば、
コードが実行されるのが○○でか、それとも××かの違いだな。
139nobodyさん:2010/12/26(日) 13:48:06 ID:???
>>136
マジレスすると、JAXAスレで聞いてください。
140nobodyさん:2010/12/26(日) 13:59:18 ID:???
まじでか
141nobodyさん:2010/12/26(日) 14:40:36 ID:???
Ajax厨はよくわからないでAjaxJAXA連呼してたのか
冬休みは困ったものだな
142nobodyさん:2010/12/26(日) 17:05:50 ID:???
そうではない。適切なスレに誘導しただけだ。
143127:2010/12/26(日) 19:06:18 ID:???
>>134
有り難うございます。移動することにします。
144nobodyさん:2010/12/28(火) 13:26:32 ID:???
年末年始暇なんでPHPマスターすることにする
145nobodyさん:2010/12/28(火) 13:34:40 ID:???
>>144
マスターベーションに終わらないことを祈ります。
146nobodyさん:2010/12/28(火) 15:52:44 ID:???
確かにPHPのコードを見ているとムラムラするからね
147nobodyさん:2010/12/28(火) 16:07:34 ID:Pua3h3vQ
APIリファレンスを作ろうと思ってるんだが、お勧め教えてくれ。
下のサイトみたいな感じがいい。
http://docs.amazonwebservices.com/AWSSDKforPHP/latest/
148nobodyさん:2010/12/28(火) 16:12:38 ID:???
今時フレームはやめとけ
149nobodyさん:2010/12/28(火) 18:44:31 ID:???
APIリファレンスなんだからなんでもいいだろ
どんなクソHTMLだろうがフレームだろうが
150nobodyさん:2010/12/28(火) 18:45:39 ID:???
JavaDocの真似事のPHPDocというものがあってだな
151nobodyさん:2010/12/28(火) 19:05:38 ID:tjsHZRJ6
phpunitって、phpファイルにべた書きした関数のテストできますか?
クラスになってないとダメなのかな
152nobodyさん:2010/12/28(火) 20:07:19 ID:???
試せば済むことを聞くなよ
153nobodyさん:2010/12/28(火) 20:09:46 ID:FjOaIYGE
5MBのCSV(レコード30000件)の取込バッチを作っています。

バッチはクアッドコアのサーバで動いています。
バッチはそのうちの1つのコアを使用しているようで、
使用率が90%を越えている状態です。

このバッチを高速化するとなったら、
バッチを別プロセスで起動するくらいしか
方法はないでしょうか。
コアが4つあるから、バッチを4つ並列で起動させると
早くなるんだろうなとは思ってるんですが、
バッチを分割する手間がかかるので、
分割の手間をかけずにパフォーマンスの向上を期待できる
方法があれば教えて頂けないでしょうか。


よろしくお願い致します。
154nobodyさん:2010/12/28(火) 20:15:43 ID:???
>>153
PHPをやめる
155153:2010/12/28(火) 20:25:31 ID:???
>>154
やめない方向でいきたいです。。。
よろしくお願いします。
156nobodyさん:2010/12/28(火) 20:31:16 ID:???
>>153
SQLに放り込んでから処理する
157nobodyさん:2010/12/28(火) 20:47:03 ID:???
>>153

使用率が90%なのと高速化は別の視点で語りましょう。

高速化する必要性があるかないか?
なぜ高速化が必要なのか?

そうした背景を質問の文章からは読み取れませんでした。


またコアCPUの使用率90%が問題になる理由も読み取れませんでした。


いずれにせよPHPに限った話では無いような気がしています。
158nobodyさん:2010/12/28(火) 20:50:52 ID:???
ファイルでもやろうと思えばポインタから並列処理はできる
ただポインタなりデータの共有が面倒だからSQLに放り込んだほうが手っ取り早い
159nobodyさん:2010/12/28(火) 21:10:54 ID:???
SQLって問い合わせ言語のことだよ?
160nobodyさん:2010/12/28(火) 21:49:50 ID:???
問い合わせ言語ってAjaxのことだよ?
161nobodyさん:2010/12/28(火) 22:09:43 ID:N9PRkBCE
common.php等の形にして自作関数を纏めたファイルを呼び出す場合
sample()のように書いてメソッドを呼び出すまではその関数は実行されないのでしょうか?

つまり、APIにリクエストする自作関数があったとして、common.phpを呼び出した時点でリクエストは行われてしまうんでしょうか?
それとも呼び出すページ内にapirequest()とメソッドを記述するまではリクエストは行われないのでしょうか?
162nobodyさん:2010/12/28(火) 22:23:41 ID:???
common1.php
<?php
function sample1() {}
?>
common2.php
<?php
function sample2() {}
sample2();
?>

hoge.php
<?php
include_once("common1.php"); //読み込んでも実行されない
sample1(); //ここではじめてsample1が実行される

include_once("common2.php"); //当然の事ながら読み込んだだけで実行される
163151:2010/12/29(水) 01:31:53 ID:4k+FzqXt
>>152
うん、一応試したんだけど見つけられなかったから質問させてもらった
もしかしたら特殊な方法で出来たりするのなら教えてほしいっす

でも、PHPのばあい結構べた書きするから、そういうのこそ単体テストが必要な気がするなあ
164161:2010/12/29(水) 01:58:55 ID:???
成程。
ありがとうございました。
165nobodyさん:2010/12/29(水) 03:12:11 ID:???
>>163
しないわ
166151:2010/12/29(水) 08:39:19 ID:???
>>165
そお?元々オブジェクト指向でもないただのテンプレート言語だから、そっちのが需要あると思んだけど・・
167nobodyさん:2010/12/29(水) 08:56:03 ID:???
お前がどう思おうが世間の需要に関係ない
168151:2010/12/29(水) 09:14:21 ID:4k+FzqXt
了解
169nobodyさん:2010/12/29(水) 10:10:08 ID:???
世間がどう思おうが俺の需要に関係ない
170nobodyさん:2010/12/29(水) 11:41:13 ID:Snlld2P9
set_error_handlerって一度セットすると解除はできないんでしょうか?
171153:2010/12/29(水) 12:02:28 ID:???
あ、すみません。伝え漏れがありました。
取り込むCSVは複数個あります。
それぞれが5MBほどあります。

>>156
ありがとうございます。
なるほどです。
DBに放り込む前に桁数とか値の検証とか行っているのですが、
そのあたりもSQLでやっちゃう感じなんですかね。

>>157
ありがとうございます。
CSVで取込んだデータを帳票で出力していきます。
帳票も出力する頻度が多いので、
できるだけCSVの取込からすぐに帳票に出力したいと考えています。

コアの使用率が90%になることは特に問題視はしていなくて
4つのうち1つのコアの使用率が90を超えてるときに
他のコアはほとんど何もしていないので
PHPの機能やら、プログラムの組み方で、なんとか他のコアにも処理を振り分けられたらなと
思った次第です。
PHPに割り当てられるメモリの設定とか見直せればなとか
考えていたので、PHPのスレに投稿させていただきました。

>>158
ありがとうございます。
ですよねぇ。
ファイルのポインタとかを使うとめんどくさい事になりそうですよね。
172nobodyさん:2010/12/29(水) 12:10:21 ID:???
いくらマルチコア積んでたって
自分がマルチプロセスでプログラム書かないと効果ないっしょ。
分割して記述はしたくないんでしょ?
だったら普通に書いたプログラムを勝手に言語やエンジンが複数コア使って処理なんてしてくれるわけない。
173nobodyさん:2010/12/29(水) 12:15:51 ID:???
>>171
CSVをDBで処理するなんてありえない。Ajaxを使うのが世界的な潮流。
174153:2010/12/29(水) 13:18:35 ID:???
>>172
ありがとうございます。
仰る通りだと思います。
そういう認識ではいたんですが、もしかしたら
自分の知らないテクニックがあるかもしれないと思ってたんですが、
楽しようとせずに地道にやっていこうと思います。

>>173
Ajaxですか・・・。
どこか参考になるサイトがあれば教えて頂けますか?
175nobodyさん:2010/12/29(水) 13:37:11 ID:???
バイナリに変換しておいて読み込む
176nobodyさん:2010/12/29(水) 13:39:09 ID:???
時間さえかければ済む、頻繁に読み込む必要はない(一度だけの処理)なら
もっともコーディングが少ないやり方でいいよ。
177nobodyさん:2010/12/29(水) 13:47:40 ID:???
>>174
AjaxはNGに入れといていい
ていうかいい加減にしろよ
嘘教えるようなら本当に荒らしで通報するぞ
178nobodyさん:2010/12/29(水) 13:52:54 ID:???
ループ中にusleepで10ms取るだけでだいぶCPU使用率減ると思うがな
179nobodyさん:2010/12/29(水) 15:10:31 ID:???
スマン

Ajax厨が出てきてから、解決していない質問がどれかがわからなくなってきた。

また、質問した方が解決したか否かを書かないために、未だに質問を継続しているかがわからない。

申し訳ないが、今生きている質問(継続中)を教えて欲しい。

それとAjax厨は、こうした迷惑が発生していることも含めてレスを考え直して欲しい。

180nobodyさん:2010/12/29(水) 15:34:54 ID:???
>>151>>163
何を試してどう出来ないと言うの?
普通にその関数を持ったファイル(functions.phpみたいな)を読み込んで
$this->assertEquals(5, MyAdd(2, 3))するだけでしょ。
もし関数定義外の部分に実行文が入ってるなら諦める。

>>153>>171
PHPはスレッドが使えないから並列化はマルチプロセスにするしかない。

(DBじゃなくて)PHPがネックになってることが確認できてるなら
複数個あるCSVに対してそれぞれPHPを起動するのが楽じゃないかな。

普通はDBへの転送に一番時間かかるんだけどね。
181nobodyさん:2010/12/29(水) 15:35:55 ID:???
>>179
なにしきってんの?おまえがうざいわ
182nobodyさん:2010/12/29(水) 15:49:42 ID:???
>>179
お前が元祖Ajax厨だろ
口調が同じだからまるわかりだっちゅうの
しれーっとでてきてんじゃねえよ
183nobodyさん:2010/12/29(水) 18:09:25 ID:???
何か荒れてるけど、この前はクリスマスなのに全くの初心者の基本中の基本の質問に答えてくださってありがとうございます
ネットの良心と可能性というのを初めて見た気がします
独学で学んでるのでここでしか聞けないのですが、本当にありがとうございます。
言葉じゃ言い表せないぐらいの感謝の気持ちでいっぱいです
184nobodyさん:2010/12/29(水) 18:13:37 ID:???
寝てる間にやっとけば済むなら、プログラム手間かけるより安全な方法で放置すればいい。
185nobodyさん:2010/12/29(水) 18:14:26 ID:???
>>183
なんでここでしか聞けないんだよ
186nobodyさん:2010/12/29(水) 18:24:30 ID:???
>>179
確かにAjax厨が出てきてから変な流れになりましたね。
別スレ(隔離スレ)も作りましたが、ネット弁慶+かまってチャンはやっぱり最強ですね。


>>181 名前: nobodyさん [sage] 投稿日: 2010/12/29(水) 15:35:55 ID:???
>>182 名前: nobodyさん [sage] 投稿日: 2010/12/29(水) 15:49:42 ID:???
常日頃から他人を批判する姿勢を続けているから家族からも見限られるんだよ。
今年も他人の呪って批判だけし続けて新年を迎えてください。

おっと、批評批判は隔離スレでお願いします。

【PHP】下らねぇ質問はID出さずに書き込みやがれ 1
http://hibari.2ch.net/test/read.cgi/php/1289117484/l50

187nobodyさん:2010/12/29(水) 19:52:57 ID:???
きめえ
188nobodyさん:2010/12/29(水) 20:52:05 ID:???
>今年も他人の呪って
日本語がおかしくて笑えましたw
189nobodyさん:2010/12/29(水) 23:42:19 ID:???
他人の[レスを]を省略してるとすれば一概に間違ってはいないけど
とはいえレス自体がおかしいけど
190nobodyさん:2010/12/30(木) 01:46:05 ID:???
Ajax厨というのがどのレスのことを指しているのかわかりませんが、
AjaxでできることはAjaxでするべきだと言っているのです。
必ずしも全てをPHPで行う必要はありません。
191nobodyさん:2010/12/30(木) 17:22:33 ID:???
どうせ「アジャックス」って読んでるだろw
192nobodyさん:2010/12/30(木) 17:33:23 ID:???
AjaxとPHPは比較できるものでない。
PHPはローカルで動くプログラム言語。C++の簡易型みたいなもの。
Ajaxはブラウザとサーバーのリアルタイム通信する技術でしょ。
193nobodyさん:2010/12/30(木) 17:35:21 ID:???
だからなんで手元(サーバ、ローカル)にあるファイルを読み込むのにAjaxなんだよ。
194nobodyさん:2010/12/30(木) 17:42:51 ID:???
サーバにあるファイルを読み込まないでどこにあるファイルを読み込むんだ?
195nobodyさん:2010/12/30(木) 17:52:29 ID:???
>>153はサーバーにあるファイルをサーバーで処理するって話じゃないの?
ローカルのみでの作業。
196nobodyさん:2010/12/30(木) 18:01:10 ID:???
>>193 Ajax知らないだろキミ
197nobodyさん:2010/12/30(木) 18:04:47 ID:???
>>193
もう少しAjaxを勉強したほうがいいと思います。
198nobodyさん:2010/12/30(木) 18:18:32 ID:???
にちゃんで荒らしに勤しむ年の瀬。
そんな悲惨な人生もあるのです。
199nobodyさん:2010/12/30(木) 18:40:40 ID:???
まだこのネタひっぱってたのか
低レベルなAjax厨はおとなしくゴメンなさいして
JavaScriptスレいって教えてもらえ
ここは完全にスレ違い
200nobodyさん:2010/12/30(木) 19:17:08 ID:???
このグダグダさは、AjaxつうよりAjapaやん。
201nobodyさん:2010/12/30(木) 19:57:24 ID:???

Ajaxについて語りたいなら隔離スレでお願いします。

質問者と回答者が迷惑かつ不愉快な思いをしています。

 人様に迷惑だけはかけるな

両親から習ったでしょ?
202nobodyさん:2010/12/30(木) 20:23:35 ID:???
>>201
Ajaxから習いました
203nobodyさん:2010/12/30(木) 20:37:33 ID:???
>>201
Ajaxをろくに知りもしないでスレ違いとか
PHPを擁護するような発言は容認できません。
204nobodyさん:2010/12/30(木) 20:48:17 ID:???
おまえらよくこんな低レベルな話で盛り上がれるな
205nobodyさん:2010/12/30(木) 22:54:02 ID:???
自演だろ絶対これ
206nobodyさん:2010/12/31(金) 00:04:43 ID:???
>>202-205

構ってちやん

相手してやるから隔離スレにおいで
207nobodyさん:2010/12/31(金) 00:20:55 ID:???
1行開けて書くいつものやつはこっちこなくていから
隔離でずっとAjaxやっててね
208nobodyさん:2010/12/31(金) 02:05:04 ID:???
selectタグを生成する方法について質問です。
表示する中身はxmlに書いてて、
ページを表示する際に読み込んで生成してたのですが、
毎回読み込まずに、例えばメモリにxmlの中身を保持してるのを取ってくるとかは
できますか?共有メモリ?
アパッチ起動時に一回だけメモリに保持できるといいのですが、、

◯◯区分とか小さなマスタ情報は、
どう扱うのが良いのでしょうか><
209nobodyさん:2010/12/31(金) 02:11:46 ID:???
210nobodyさん:2010/12/31(金) 02:19:49 ID:Oz9h13cu
>209
あっ、これは失礼しました。

【OS名】WindowsXP / Apatch
【PHPのバージョン】5.3だったか、、
会社に行かないと分かりません。
最新のxampp使用しました。
【連携ソフトウェア】MySQL
【質問内容】
208になります。
211nobodyさん:2010/12/31(金) 02:22:18 ID:???
mysqlのストレージをかえればメモリ内で展開される
212nobodyさん:2010/12/31(金) 02:25:00 ID:???
>>208
中級の下くらいの俺の知る範囲では出来ないかと。
セキュリティ的にOKならセッションorクッキーで保持するとか。
でも自サーバー上でだけの話ならxml毎回読み込みで問題ない気が。
別サーバーから取得してるなら初回だけ読んで、自サーバーにファイルorDB保存するとか。
213nobodyさん:2010/12/31(金) 02:25:16 ID:???
>211
早速ありがとう。
なるほど、そんな事ができるんですね。
ちと調べてみます。
214nobodyさん:2010/12/31(金) 02:27:19 ID:???
メモリに保存とか無理っしょ
ファイルの読み込みで何か問題あるの?
215nobodyさん:2010/12/31(金) 02:33:42 ID:???
共有メモリとかがある事にはあるが
216nobodyさん:2010/12/31(金) 02:35:16 ID:Oz9h13cu
>212
ありがとう。
DB兼Webサーバな環境です。
同時接続は多くて20台位なのですが、
可能な限りI/Oを減らしたかったのです。

メモリに入ってれば、区分名等を使う場合にも使えていいかな、と思った次第です。

明日本屋に行ってみます!
217nobodyさん:2010/12/31(金) 02:35:44 ID:???
あぁごめんWindowsか無理だなw
218nobodyさん:2010/12/31(金) 02:36:39 ID:???
と思ったらWindowsXPなら平気みたいだから共有メモリじゃだめなのかな?
使った事ないから知らんけど
219nobodyさん:2010/12/31(金) 02:42:23 ID:???
なんかメモリ使う話があったようななかったような・・・
220nobodyさん:2010/12/31(金) 02:57:39 ID:???
>>212は中の下というより下の中だな・・・
221nobodyさん:2010/12/31(金) 03:04:50 ID:???
>>210 重箱の隅だけど Apache ね
222nobodyさん:2010/12/31(金) 06:16:39 ID:???
初心者に毛が生えたレベルの素人です。

Wordpressのソースコードを読んでみたんですが、
どうしてクラスや関数を作らずに、たくさんのファイルに処理が小分けされているんですか?
なかにはPHPとHTMLが混ざっているところもあって、処理の流れが分かりにくいと思いました。
CakePHPのようにMVCで整理した方がいいんじゃないんですか?

何らかの合理的な理由があってそういう書き方がされているのだと思いますが、よくわかりません。
プログラマの方々がどんなふうに認識しているのか知りたいです。ご意見ください。
223nobodyさん:2010/12/31(金) 06:19:18 ID:???
224nobodyさん:2010/12/31(金) 11:36:29 ID:???
http://journal.mycom.co.jp/articles/2010/12/29/jaxai/

Ajaxも仕分け対象で、残念だったね・・・
225nobodyさん:2010/12/31(金) 11:39:04 ID:???
面白いと思ったの?ねえバカなの?
226nobodyさん:2010/12/31(金) 11:39:55 ID:???
寒すぎワロタ
227nobodyさん:2010/12/31(金) 12:40:12 ID:???
【PHP】下らねぇ質問はID出さずに [ Ajax ] で書き込みやがれ 1
http://hibari.2ch.net/test/read.cgi/php/1289117484/l50
228nobodyさん:2010/12/31(金) 13:38:49 ID:8g3NYefk
register_shutdown_functionで登録した関数がよばれた後なのに
その後また同じPHPファイルにアクセスが来るんですが、これって何が原因ですか?
xdebug入れてるとこうなるんですかね?
229nobodyさん:2010/12/31(金) 13:47:33 ID:???
xdebug切れない環境?
230nobodyさん:2010/12/31(金) 14:25:08 ID:8g3NYefk
いえ、Vmwareなので大丈夫なんですが、なんでこうなってるのかわからなくて
231nobodyさん:2010/12/31(金) 14:59:28 ID:XYm/hF3e
PHPなのかわからないですが
ホームページでの文字表示縦書きにしたいのですが
どうすればいいでしょうか
232nobodyさん:2010/12/31(金) 14:59:50 ID:8g3NYefk
すいません。PHP関係ありませんでした。
原因はMod_reqriteで、リンクが通ってないリクエストがIndex.phpにきてた事が判明しました。
お騒がせしました。
233nobodyさん:2010/12/31(金) 15:20:47 ID:???
>>231
Webサイト制作初心者用質問スレ part222
http://hibari.2ch.net/test/read.cgi/hp/1291304974/

こちらへどうぞ
234nobodyさん:2010/12/31(金) 15:24:44 ID:XYm/hF3e
>>233
ありがとうございました
そちらで聞いてみます
235nobodyさん:2010/12/31(金) 16:56:48 ID:jORx8XGQ
php5.3です
MySQLから取り出してきた、
$shin[date] (ex.2010-12-31、date型)
に、
$kankaku[interval_t@] (@は1~20、中身はint型)
の数字の分だけ、●ヶ月先の計算をしたいです
こんな風に書いてるのですが文法エラーとなります、どう書けば良いかご教示ください。
($kankaku[interval_t@]を普通の数字に置き換えるとokなのですか)

for($loop=1;$loop<=20;$loop++){
$nextdate0 = date("Y-m-d", strtotime("$shin[date] + $kankaku['interval_t'.$loop] month"));
print "$nextdate0";
}
236nobodyさん:2010/12/31(金) 17:07:11 ID:???
ダブルクオートの中で文字列連結しようとしたりすんな
237nobodyさん:2010/12/31(金) 17:14:08 ID:???
>>235
他に原因があるかもしれないが、とりあえず
$nextdate0 = date("Y-m-d", strtotime("{$shin['date']} + {$kankaku['interval_t'.$loop]} month"));

238nobodyさん:2010/12/31(金) 17:15:45 ID:???
>>237
一応、検証に使ったソース
<?php
$shin['date'] = '2010-12-31';
$kankaku['interval_t1'] = 1;
$loop = 1;
$nextdate0 = date("Y-m-d", strtotime("{$shin['date']} + {$kankaku['interval_t'.$loop]} month"));
print $nextdate0;
?>
239nobodyさん:2010/12/31(金) 17:17:09 ID:???
なんでそうするんだよw
$nextdate0 = date("Y-m-d",strtotime($shin['date'].' + '.$kankaku['interval_t'.$loop].' month'));
まだこうしろよ・・・
240nobodyさん:2010/12/31(金) 17:38:59 ID:???
>>236
言われてみればその通りですね;;
>>237-239
それぞれに分解して書けば良かったのですね。ありがとうございます!
241nobodyさん:2011/01/01(土) 00:13:17 ID:???
そんなのAjax使えば一発なのに・・・
242nobodyさん:2011/01/01(土) 00:42:44 ID:???
【PHP】下らねぇ質問はID出さずに [ Ajax ] で書き込みやがれ 1
http://hibari.2ch.net/test/read.cgi/php/1289117484/l50
243 【大吉】 【308円】 :2011/01/01(土) 00:45:20 ID:???
!omikuji!dama
244nobodyさん:2011/01/01(土) 00:46:40 ID:kBOtcIS2
お願いします。

あるサイトで得られるHTMLにて、「href="〜"」の"〜"部分を抽出したいです。
いろいろと試してみましたが、サイトにあわせたコーディングが求めらてしまいました。
自分の拙さ(つたなさ)が理由で、サイトにあわせたコーディングをしていると思います。
お勧めのサンプルや、お勧めの関数などがあれば、教えてもらえれば嬉しいです。
245nobodyさん:2011/01/01(土) 00:47:30 ID:kBOtcIS2
!omikuji!dama
246nobodyさん:2011/01/01(土) 00:52:42 ID:???
247nobodyさん:2011/01/01(土) 00:55:45 ID:???
>>246 サンプルや関数を欲してるのに正規表現スレを書き込むのは宣伝ですか?
248nobodyさん:2011/01/01(土) 00:59:37 ID:???
249nobodyさん:2011/01/01(土) 01:31:33 ID:???
>>244

// 読み込むファイル
$filename = "test.html";

$doc = new DOMDocument();
$doc->loadHTMLFile($filename);

$a = $doc->getElementsByTagName("a");

for($i = 0; $i < $a->length; $i++) {
  var_dump($a->item($i)->getAttribute("href"));
}
250nobodyさん:2011/01/01(土) 02:25:55 ID:???
>>249
"test.heml" -> 'test.html'
for -> foreach
251nobodyさん:2011/01/01(土) 04:59:05 ID:???
>>244
Ajaxつかっとけ
252nobodyさん:2011/01/01(土) 08:09:39 ID:???
>>246-250

ありがとうございます。参考になりました。
253nobodyさん:2011/01/01(土) 13:58:18 ID:???
254nobodyさん:2011/01/01(土) 15:29:42 ID:xdZw+o32
あけましておめでとうございます

$PATH = "../".$_POST['ttm']."/";
$TEMPPATH = $PATH."html/";

とあるのですが、これの../とはどういう意味なんでしょうか?
255nobodyさん:2011/01/01(土) 15:33:51 ID:???
>>254
一つ上の階層
256nobodyさん:2011/01/01(土) 15:42:42 ID:xdZw+o32
ありがとうございます!!
../だけで一つ上の階層を出力できるなんて便利ですね!
257nobodyさん:2011/01/01(土) 16:29:31 ID:???
>>256
それがAjaxの力です。覚えておいてくださいね。
258nobodyさん:2011/01/01(土) 19:16:47 ID:xdZw+o32
それともう一つ質問なんですが

<form method="post" action="./test.php">
の場合はドットが1つなんですがこの場合は「今扱っているファイルの一つ上の階層のディレクトリにあるtext.php」
ということになるのでしょうか?
ドット1個と2個の違いがどうも
259nobodyさん:2011/01/01(土) 19:54:49 ID:???
>>258
現在の階層
260nobodyさん:2011/01/01(土) 20:37:57 ID:???
./ カレント
../ 1個上
../../ 2個上
../../../ 3個上
つうかPHPの質問とちゃうで
相対パスはWebサイト作りの基礎やで
261nobodyさん:2011/01/01(土) 20:44:10 ID:xdZw+o32
マジっすか!
道理でphpのサイトめぐっても見当たらない訳やで!
ホンマ助かりますわー!
262nobodyさん:2011/01/01(土) 20:52:36 ID:???
せや、せや
263nobodyさん:2011/01/01(土) 22:28:36 ID:Uob5Bi4b
【OS名】WindowsXP SP3
【PHPのバージョン】5.3.1
【連携ソフトウェア】MySQL, XAMPP
【XAMPPのバージョン】Windows ver 1.7.3
【MySQLバージョン】5.1.41
【MySQL文字セット】UTF-8 Unicode (utf8)
【MySQLの照合順序】utf8_unicode_ci
【質問内容】
 DBから取得した全角文字が文字化けします。
 解決策を教えてください。

【詳細】
1.MySQLに登録されたデータを取得する。
 $res_result = mysql_query($sql);

2.連想配列に格納し、その結果をprintで出力する。

 [ソース]
 $mojicode = mb_detect_encoding($value);
 print "$value の文字コードは $mojicode です。";

 [結果]
 $$rows[def]=???
 ??? の文字コードは UTF-8 です。

と半角文字は正しく出力されるのですが、全角文字が?で表示されます。
長文すみません、宜しくお願いします。
264263:2011/01/01(土) 22:30:16 ID:Uob5Bi4b
改行が多いと警告が出たので分けました。
追加情報です。

【PHP.iniの設定】
mbstring.detect_order:UTF-8,SJIS,EUC-JP,JIS,ASCII
mbstring.encoding_translation:Off
mbstring.func_overload:0
mbstring.http_input:pass
mbstring.http_output:UTF-8
mbstring.internal_encoding:UTF-8
mbstring.language:Japanese
mbstring.strict_detection:Off
mbstring.substitute_character:no value

【PHPファイル】
<meta 〜 "text/html; charset=UTF-8" />
ファイルの文字コード:UTF-8 BOMなし

宜しくお願いします。
265 【吉】 【777円】 株価【19】 :2011/01/01(土) 23:24:49 ID:???
今年もAjaxをよろしくお願いいたします。JAXA
266 【大吉】 【1195円】 株価【19】 :2011/01/01(土) 23:36:57 ID:???
>>263
「半角文字は正しく出力される」というのはどれのこと?
あと、そのときブラウザの表示文字エンコードは何になってる?
エンコードを他の物に切り替えると???の部分が正しく表示されるってことはない?
267 【凶】 【93円】 株価【19】 :2011/01/01(土) 23:41:12 ID:???
Mysqlなんかに頼らず素直にAjax使えってことだな。
268nobodyさん:2011/01/01(土) 23:44:40 ID:???
>>263
MySQLはクライアント側も別途エンコーディング指定が必要
mysqli_set_charset($db, "utf8")
mysqliが無いならSET NAMESとか。

ちなみに"???"がUTF-8と判定されるのはdetect_orderのせい
269263:2011/01/02(日) 00:07:31 ID:sCIW7Ij+
>>266
ご返答ありがとうございます。

ブラウザの表示文字エンコードは、
Unicode(UTF-8)です。

これは、PHPのmeta情報に
<meta 〜 "text/html; charset=UTF-8" />
と記載しているからだと認識しています。
また、ファイルの文字コードもUTF-8です。

> 「半角文字は正しく出力される」
すみません。半角文字の結果を消していました。正しくは下記をみてください。

【表示文字エンコード:Unicode(UTF-8)】
$$rows[abc]=GAME
GAME の文字コードは UTF-8 です。
$$rows[def]=???
??? の文字コードは UTF-8 です。

【表示文字エンコード:日本語(EUC)】
⇒文字化けします。
$$rows[abc]=GAME
GAME ����・����絖������潟��若���������� UTF-8 ����с����������
$$rows[def]=???
??? ����・����絖������潟��若���������� UTF-8 ����с����������

【表示文字エンコード:日本語(シフトJIS)】
⇒画面に何も表示されなくなります。
270263:2011/01/02(日) 00:15:11 ID:sCIW7Ij+
>>268
ご返答ありがとうございます。

調べて確認してみます。

detect_orderは始めコメントアウト化されており、
DBから取得した結果がASCIIになっておりました。

DBとの文字コードを合わせる必要があると思い、
detect_orderにUTF-8を指定しましたが、
問題ありますか?

コメントアウト化されていた時から既に
printした結果が???と文字化けされていました。
271nobodyさん:2011/01/02(日) 00:17:06 ID:???
テーブル作成時のキャラクタセットはなによ
もし正しいデータが入ってるとすれば正しく取り出せてないのかもな
272nobodyさん:2011/01/02(日) 00:18:24 ID:???
一回dumpしてテキストに落としてnkfかなんかで判定か変換してみるとか
273263:2011/01/02(日) 00:50:50 ID:sCIW7Ij+
>>268
おっしゃる通り、
SET NAMESを使用する事で解決しました。

[変更前ソース]
$db = mysql_select_db( $dbName, $res_dbcon );
$res_result = mysql_query($sql);

[変更後ソース]
mysql_query("SET NAMES utf8");
$db = mysql_select_db( $dbName, $res_dbcon );
$res_result = mysql_query($sql);

[変更後の結果]
$$rows[abc]=GAME
GAME の文字コードは UTF-8 です。
$$rows[def]=ゲーム
ゲーム の文字コードは UTF-8 です。

助かりました、本当にありがとうございました。

>>266-272
ご返答頂けた方々、ありがとうございました。
274263:2011/01/02(日) 00:56:36 ID:sCIW7Ij+
268のご返答により解決しました。
お礼と返答です。

>>271
ご返答ありがとうございます。
テーブルのキャラセットとは何を指すのでしょう?
照合順序はutf8_unicode_ciで、列の種別はtext型です。

>>272
ご返答ありがとうございます。
nkfではありませんが、
PHP上でmb_convert_encodingを使用し文字コードを変換した場合、
結果は変わらず文字化けしたままでした。

275nobodyさん:2011/01/02(日) 01:02:29 ID:???
>>274
SET NAMES でもとりあえずは問題ないだろうけど、
PHP5.3なら mysql_set_charset() を使用したほうがいい。
理由は過去スレまたはググってください。
276nobodyさん:2011/01/02(日) 01:04:22 ID:???
http://php.net/manual/ja/function.mysql-set-charset.php
注意:
文字セットを変更するにはこの方法を使うことを推奨します。 mysql_query() で SET NAMES .. を実行する方法はお勧めできません。
277nobodyさん:2011/01/02(日) 01:05:15 ID:???
SET NAMES使って解決できたってことはテーブルのキャラクタセットがutf8じゃなかったんだと思うが、
テーブルのキャラクタセットと言われてわからないってことは別の人がDB初期設定やってるだろうから
説明は差し控える

はっきり言って>>264にある設定なんてmeta以外はやらなくてもいいようなどうでもいい設定だがな
278nobodyさん:2011/01/02(日) 01:07:24 ID:???
>>274
MySQLの照合順序をutf8_unicode_ciにしていても
Tableの定義でそのフィールドの照合順序が異なる設定になっている場合があるので
確認したほうがいいという意味だろう。
279nobodyさん:2011/01/02(日) 01:17:16 ID:???
>>277
いや、SET NAMES はクライアントが使用する文字コードをMySQLに
通知するのが目的だからTableのキャラクタセットの設定とは異なる。
MySQLはクライアントから送信された文字を既定の文字コードとして
解釈し、照合順序で設定したキャラクタセットに勝手に変換する。
読み出す場合はその逆。
280263:2011/01/02(日) 01:32:59 ID:sCIW7Ij+
>>277
>別の人がDB初期設定やってるだろう
いえ、私がDBの設定を行っていますが、
phpMyAdminにキャラクタセットの項目が
見つからなかった為、お聞きしました。

>>278
なるほど、理解できました。
DBとTableの照合順序は統一しており、
再確認した結果、全て一致していました。
281263:2011/01/02(日) 01:44:19 ID:???
>>275-276
ご指摘ありがとうございます。
確認したところSET NAMESは非推奨となっていました。

mysql_query("SET NAMES utf8");を
mysql_set_charset("utf8");に変更しました。

文字化けせずに正しく表示されました。
ありがとうございます。
(そろそろsageておきます)
282nobodyさん:2011/01/02(日) 14:27:12 ID:???
元旦早々から一体全体何やってるんだよ
俺は>>267が正解だと思う
283nobodyさん:2011/01/02(日) 15:30:33 ID:C0ta8JCl
便乗質問
おすすめできないと書いてるけどPDOじゃSET NAMESでやるしかないですよね?
284nobodyさん:2011/01/02(日) 15:44:41 ID:UqNSlP1V
メールの自動応答スクリプトを書いているのですが、以下のような現象に悩まされています。

[環境]
共用レンタルサーバー
PHP 5.2.12
OS Linux 2.6.27.18-25
アパッチ 2.2.14
サーバープロバイダー ギガレンタルサーバー(ttp://gigasrv.jp/)
コンパネ cPanel X

[やりたいこと]
空メールでメンバー登録

[出来たこと]
メールを受信して、パイプを使ってその内容をスクリプトへ渡す。

[問題]
メールを送信した側に、次のようなエラーが返信されてしまいます。
このようなエラーを返信しないようにしたい。

※長いのでレスをまたがせていただきます。
285284:2011/01/02(日) 15:46:20 ID:UqNSlP1V
>>284 の続き 以下、その内容

-------- ▼ここからメール内容▼ ---------
This message was created automatically by mail delivery software.

A message that you sent could not be delivered to one or more of its
recipients. This is a permanent error. The following address(es) failed:

pipe to |/※スクリプトへのパス
generated by ※空メールのアドレス

The following text was generated during the delivery attempt:

------ pipe to |/※スクリプトへのパス
generated by ※空メールのアドレス ------

PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/extensions/no-debug-non-zts-20060613/imagick.so' - libMagickWand.so.2: cannot open shared object file: No such file or directory in Unknown on line 0
X-Powered-By: PHP/5.2.12
Set-Cookie: CAKEPHP=e3bd5f3b116b2491e08f2c3ee81b48c0; expires=Mon, 10-Jan-2011 14:15:36 GMT; path=/
P3P: CP="NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM"
Content-type: text/html; charset=UTF-8


------ This is a copy of the message, including all the headers. ------
※以下、略
-------- ▲ここまでメール内容▲ ---------

.htaccess に php_flag display_errors Off を書いてもダメで、スクリプトに ini_set( "display_errors", "Off"); を追加してもモチロンだめでした。
サーバーの管理者に相談したほうが良いのでしょうか?

※熱っぽいのでこれから保健センターに行ってきます。返信が遅れるかもしれませんがどうかご容赦ください。よろしくお願いします。
286nobodyさん:2011/01/02(日) 18:41:15 ID:???
サーバの管理者に相談して下さい
287284:2011/01/02(日) 19:24:17 ID:UqNSlP1V
>>286 さん、ありがとうございます。

やはりそうですか。
ひとつ気になるのは、ブラウザでPHPを走らせた場合はもとより、Cron でPHPプロセスを起動した場合にも上記のようなメッセージを見たことがないことです。
なので、自分のやり方しだいではエラーを表示させないようにも出来るのではないかと思うのですが。
ちなみに、このエラーは PHP のセッティングに問題があると言う認識でよろしいのでしょうか。

答えをいただきながらの追加の質問ですが、お答えいただければ幸いです。
288nobodyさん:2011/01/02(日) 19:41:56 ID:jMmDteG7
フォームで入力された値のバリデートチェックを行うお勧めのライブラリとかないですか?
289nobodyさん:2011/01/02(日) 20:10:58 ID:???
>>288
ZF
290nobodyさん:2011/01/02(日) 20:14:14 ID:???
>>289
あり、ライブラリだけとって使ってみます
291nobodyさん:2011/01/02(日) 20:15:17 ID:???
なんだありって
292nobodyさん:2011/01/02(日) 20:30:45 ID:???
>>283
代替手段としてコンストラクタに
PDO::MYSQL_ATTR_READ_DEFAULT_FILE と
PDO::MYSQL_ATTR_READ_DEFAULT_GROUP を渡せば可能

>>287
> libMagickWand.so.2: cannot open shared object file
って事だからMTAから起動した時の環境変数PATHが違うんだろうね
ちなみにPHP起動時のエラー表示に関係する設定は display_startup_errors
293nobodyさん:2011/01/02(日) 22:03:05 ID:???
>>292
Ajaxの質問ではなくてすみませんm(__)m
294284:2011/01/02(日) 22:41:32 ID:UqNSlP1V
>>292 さん、ありがとうございます。

先ほどサポセンへ相談メールを送りました。

>display_startup_errors

あ、そうでした。
これも一応ダメもとで試しては見ましたがやはり結果は同じでした。

サポートの対応など状況が変化しましたら、また改めて報告させていただきます。
295283:2011/01/03(月) 00:26:17 ID:???
>>292
どうもありがとう
早速試してみます
296nobodyさん:2011/01/03(月) 00:53:11 ID:???
phpはどれくらい負荷がかかるものなのですか?

毎ページの広告をPHPで携帯とPC振り分けてみたのですが、
気にするほど負荷がかからない程度なのですかね?
297nobodyさん:2011/01/03(月) 00:54:53 ID:???
その程度の使用方法じゃミジンコに毛が生えたレベル
次からは>>1
298nobodyさん:2011/01/03(月) 00:59:00 ID:???
>>297
ありがとうございます。
299nobodyさん:2011/01/03(月) 07:18:03 ID:???
2chに代表されるように広告の方が重かったら表示もノロくなる
300nobodyさん:2011/01/03(月) 14:51:49 ID:???
Ajaxを使えばサーバーには全く負荷はかからない。これ常識。
301nobodyさん:2011/01/03(月) 14:53:09 ID:???
>>299←こいつ馬鹿
302nobodyさん:2011/01/03(月) 14:57:49 ID:???
Ajaxと表記するのはゆとり。現場ではアジャックスが一般的
303nobodyさん:2011/01/03(月) 16:38:09 ID:???
アジャックスはどれくらい負荷がかかるものなのですか?
304nobodyさん:2011/01/03(月) 16:49:57 ID:???
アジャコングは負荷を気にせずに使える
305nobodyさん:2011/01/03(月) 17:06:12 ID:EiHgtjUU
"simple_html_dom.php" に関する質問です。
スレ違いならばご指摘ください。

とあるURLを file_get_html したら次のエラーが出されました。

Warning: file_get_contents( とあるURL )
[function.file-get-contents]: failed to open stream:
HTTP request failed! HTTP/1.1 403 Forbidden in simple_html_dom.php on line 39

ブラウザーで「とあるURL」を開くと問題なく開けます。
エラーの理由は何でしょうか?
また対処方法をご存知の方がいたら教えてください。
306nobodyさん:2011/01/03(月) 17:12:06 ID:???
おれの長年の勘だと39行目が怪しいな
307nobodyさん:2011/01/03(月) 17:15:19 ID:???
>>305
サーバ側がスクリプトからのアクセスを禁止してるから
ブラウザの挙動を再現してアクセスすれば取れると思う
cURLあたりを使えばいけるんじゃないかな
308nobodyさん:2011/01/03(月) 17:19:59 ID:???
>>305
そういうサーバだと思って諦めるか
考えられる原因を追求して試行錯誤してみるしかないねえ
わざわざ禁止にしてる管理者に聞いても原因は教えてくれないだろう
原因はいくつか考えられるけどクッキー食わせないとだめだったりしてるのかもな
309nobodyさん:2011/01/03(月) 18:08:53 ID:???
>>305
Warning は無視しても大丈夫。
310nobodyさん:2011/01/03(月) 19:17:06 ID:???
>>305
とあるURLのサンプル書いてみ?
場合によってはurlencodeしないとだめかな
311nobodyさん:2011/01/03(月) 20:35:01 ID:???
いや、サンプルなんて書かなくていいよ。
どうせAjaxも理解できないここの連中にはわかりゃしないんだから。
312nobodyさん:2011/01/03(月) 20:48:50 ID:???
>>305
IPではじいてる可能性もあるな
313nobodyさん:2011/01/03(月) 20:58:10 ID:EiHgtjUU
>>307,308,310

<?php
require_once( "php-lib/simple_html_dom.php" );
//
function urlHref( $orgurl )
{
$html = file_get_html( $orgurl );
foreach( $html -> find( "a" ) as $element ) {
$urllist[ ] = $element -> href;
}
return $urllist;
}
//
{
$urllist = urlHref( "http://hibari.2ch.net/test/read.cgi/php/1292670453/" );
sort( $urllist );
var_dump( array_unique( $urllist ) );
//
$urllist = urlHref( "http://logsoku.com/thread/hibari.2ch.net/php/1279833891/" );
sort( $urllist );
var_dump( array_unique( $urllist ) );
}
?>
314nobodyさん:2011/01/03(月) 21:50:56 ID:???
>>313
まさかと思うが allow_url_fopen は On になってんのか?
PHPのバージョンは?
simple_html_dom.php を使わずに file_get_contents 関数を直接使ったらどうなった?
315nobodyさん:2011/01/03(月) 22:00:01 ID:???
対象のURLとして2件書かれていることから、
1件目では目的を達しているが、
2件目でNGだと言いたいのでは?

片方がOKで片方がNGならば、対象のサイトとの相性?

どんな相性なんだろう?w
316nobodyさん:2011/01/03(月) 22:04:44 ID:???
エロ画像収集スクリプトでも作りたいの?
317nobodyさん:2011/01/03(月) 22:07:16 ID:EiHgtjUU
>>314

ちなみに、俺も自分の環境で実行したら1件目は問題ないが、2件目は同じエラーが file で出されました。

<?php
{
  $urllist = file( "http://hibari.2ch.net/test/read.cgi/php/1292670453/" );
  var_dump( $urllist );
  //
  $urllist = file( "http://logsoku.com/thread/hibari.2ch.net/php/1279833891/" );
  var_dump( $urllist );
}
?>
318nobodyさん:2011/01/03(月) 22:10:17 ID:???
試してみたけどsimple_html_dom.phpのせいじゃないじゃん。
単にブラウザ以外からのアクセスは403返してるだけじゃないの?
319nobodyさん:2011/01/03(月) 22:10:29 ID:???
>>317 自演ですか?

file_get_contents でも同じ結果。
2つ目の http://logsoku.com/thread/hibari.2ch.net/php/1279833891/ が取得できないね。

320nobodyさん:2011/01/03(月) 23:11:36 ID:???
前任者の作ったサイトの変更作業をしております。
タイトル部分が
<MMString:LoadString id="insertbar/linebreak" />
となっているのですが、これはどのような意味があるのでしょうか?

消して、普通に、店の名前を打っても良いのか悩んでおります。
321nobodyさん:2011/01/03(月) 23:12:18 ID:???
>>1
322nobodyさん:2011/01/03(月) 23:12:28 ID:???
PHP関係あるのですか?
323nobodyさん:2011/01/03(月) 23:16:01 ID:???
MMといえばDreamWeaverだろ
324nobodyさん:2011/01/03(月) 23:21:05 ID:???
>>320
Adobe Dreamweaver CS4 * ローカライズされるストリングの提供
http://help.adobe.com/ja_JP/Dreamweaver/10.0_Extending/WS5b3ccc516d4fbf351e63e3d117f508c8de-7ffe.html

Dreamweaverを引き継いでいないなら、消してしまっていいよ

あとPHP関係無いから。
325320:2011/01/03(月) 23:54:06 ID:???
皆様御返答ありがとうございます。
PHP関係なく、Dreamweaverだったのですね・・・・
Dreamweaverは私も持ってますが、パソコンが違うので、バージョンは異なるかもです。
私はCS3を使ってます。
ローカライズされるストリングの提供 っというのがちょっと難しくて、どういうメリットデメリットがあるのか?消して普通にタイトルつけていいのか分からないので勉強してみます;;

ありがとうございました。
326nobodyさん:2011/01/04(火) 00:08:40 ID:???
だからID出せよ
327nobodyさん:2011/01/04(火) 00:25:15 ID:???
だったらID出さない奴に答えんなよ
328nobodyさん:2011/01/04(火) 00:26:15 ID:???
結局>>317は何の自演だったんだ?ww
329nobodyさん:2011/01/04(火) 00:26:20 ID:???
は?善意で答えてやってんだろカス
IDを出すのはルール
330nobodyさん:2011/01/04(火) 01:55:58 ID:???
は?じゃねぇよボケが
IDを出すのがルールなら答える側もそれを守れってんだ
てめぇの善意なんかいらねぇっつーの
331nobodyさん:2011/01/04(火) 02:59:06 ID:???
答える側がID出すってルールなんてどこにあるの?
332nobodyさん:2011/01/04(火) 05:12:51 ID:???
馬鹿には見えないルールなのです。
※本回答は、あくまでも善意で答えています。
333nobodyさん:2011/01/04(火) 05:53:50 ID:???
>>326が回答してること前提なのか?
ただ出すなっていってるだけだろ?
>>331
ID出すのがルールなんだかルール守ってないやつには答えるなってことかと思われ

まぁ落ち着けよお前ら
334nobodyさん:2011/01/04(火) 05:54:31 ID:???
×出すな
○出せ
335nobodyさん:2011/01/04(火) 07:04:55 ID:???
このスレは、こんなことで荒れます。

・IDを出して質問しない奴が現れる

  質問するならIDを出して書き込め!
  >>1 を読み直して出直して来い!カス!


・IDを出していない質問に答える奴が現れる。

  IDを出していない質問に答えるな!
  >>1 を読み直して出直して来い!カス!


あれ?どちらも共通点があるんですねw
336nobodyさん:2011/01/04(火) 07:11:25 ID:???
お前のレスが一番無駄
337nobodyさん:2011/01/04(火) 07:44:36 ID:???
なるほど、共通点のない方が参加してスレが荒れるんですね。
338nobodyさん:2011/01/04(火) 08:36:59 ID:???
つかこの板デフォでID出すようにすればいいのに
他のスレもそうだけど排他的なレス多すぎだろ
339nobodyさん:2011/01/04(火) 09:04:23 ID:???
荒れたところで過疎板だしたかが知れてる
340nobodyさん:2011/01/04(火) 09:42:22 ID:???
早く冬休みおわんねーかなー
低レベル丸出しのAjax厨はニートみたいだけど
341nobodyさん:2011/01/04(火) 10:16:09 ID:???
自作自演を除けばレスなんて数えるほどしかないんだろうけど、
それにしてもゴミ発言が多すぎw

しかもレスがオウム返しと来たもんだ
342nobodyさん:2011/01/04(火) 14:55:02 ID:???
PHPなんて過去の遺産にこだわってるから荒れるんだよ。
早くAjaxをマスターして卒業することをお勧めする。
343nobodyさん:2011/01/04(火) 19:03:13 ID:???
Ajaxって。サーバーサイドをどうすんのよ?
344nobodyさん:2011/01/04(火) 19:06:00 ID:???

 共通点のない方が参加してスレが荒れる

スレタイ + >>1 を読み直すと良いと思いました。

345nobodyさん:2011/01/04(火) 19:43:32 ID:???
>>343
はぁ?PHPでできることはAjaxでも出来るっつーの
つーかそれ以上?
サーバーサイドか何か知らんけど無知は引っ込んでろボケ
346nobodyさん:2011/01/04(火) 20:09:29 ID:???
> サーバーサイドか何か知らんけど
知っとけよ
347nobodyさん:2011/01/04(火) 20:30:04 ID:???
お前こそ知ったかぶりすんじゃねーよ
つーかAjaxと関係ねーし
348nobodyさん:2011/01/04(火) 20:53:58 ID:gmEJx0n4

 PHPのスレでAjaxの話題を続けるのは、なぜ?

349nobodyさん:2011/01/04(火) 21:04:34 ID:???
【OS名】xp
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL
【質問内容】ほぼPHPと無関係ですが、PHPで作ったとあるランキングサイトで起きているちょっとした不都合です。
それはホストの特定についてです。
いまのところ接続者をリモホで識別しています。
このリモホ、可変なのでしょうか?
EATcf-1xxxxxxxxx.odn.ne.jp
ixxxxxxxxxxxxxx.ap.plala.or.jp
アクセスログを見る限りこの二つは特に頻繁に変わっている気がします。
おそらく初歩的な質問ですみません。
350349:2011/01/04(火) 21:05:32 ID:nnzMIHnB
sageてもうた…。
351nobodyさん:2011/01/04(火) 21:14:04 ID:???
PHP関係ないだろ
352nobodyさん:2011/01/04(火) 21:33:33 ID:nnzMIHnB
承知の上です。どこできいたらいいですか?
353nobodyさん:2011/01/04(火) 21:34:14 ID:???
その質問はPHPと関係あるのですか?
354nobodyさん:2011/01/04(火) 21:35:44 ID:???
せいぜい自分が調べられるワードでググったけど見つからなかったものでここで聞いてみました。
355nobodyさん:2011/01/04(火) 21:36:31 ID:???
$namespache = \framework\$subname;

こんな感じで変数を利用する方法はないのでしょうか?
356nobodyさん:2011/01/04(火) 21:36:41 ID:???
ID出してください
357nobodyさん:2011/01/04(火) 21:47:29 ID:???
>>349
一般人がネットに繋いでる回線で固定IPのほうが珍しいだろ
ルータ再起動してみろIPなんてすぐ変わるわ
358nobodyさん:2011/01/04(火) 21:57:04 ID:nnzMIHnB
>>357
IPは誰でもそうなのは知ってますが、リモホは変わらないものだと思ってました。
リモホも人によっては可変ということなのですか?

>>355
考えてみますね
359nobodyさん:2011/01/04(火) 21:57:21 ID:???
IPとリモホは1:1の関係なわけだが・・・
360359:2011/01/04(火) 21:58:44 ID:???
一応追記しとくけどもちろんWAN内の話
361nobodyさん:2011/01/04(火) 22:06:12 ID:???
http://ja.wikipedia.org/wiki/%E3%83%AA%E3%83%A2%E3%83%BC%E3%83%88%E3%83%9B%E3%82%B9%E3%83%88
熟読してください
ホスト名とISP名とドメイン名が混同されてる
362nobodyさん:2011/01/04(火) 23:46:58 ID:nnzMIHnB
>>361
リモホも人によっては可変のようですね、スレチにもかかわらずありがとうございました
363nobodyさん:2011/01/05(水) 00:27:54 ID:+86nYwDs
ホームページとかのドメインとリモートホストって本質的な違いあるのかな
364nobodyさん:2011/01/05(水) 01:15:06 ID:???
リモホとオナホは1つとは限らない環境もあるということよ
365nobodyさん:2011/01/05(水) 02:04:08 ID:???
リモホの解析はAjaxで可能ですよ
366nobodyさん:2011/01/05(水) 03:11:47 ID:???
クライアントサイドPHPにしとけ
367nobodyさん:2011/01/05(水) 10:08:32 ID:BkirA51M
PHP.iniを/usr/local/lib/に置いても読んでくれません。

前はこれでできたのですが。

対処方法をよろしくお願いします。
368nobodyさん:2011/01/05(水) 10:10:09 ID:???
/etc/php.ini
369nobodyさん:2011/01/05(水) 10:35:20 ID:BkirA51M
/etc/php.iniでもダメでした。

何か確認する方法ないですかね?

phpinfo();でも、php --iniでも見てもダメでした
370nobodyさん:2011/01/05(水) 10:46:12 ID:???
phpinfo()でどの場所のphp.iniを読み込んでるか調べろ
あと、もちろん編集後はhttpdを再起動してるよな?
371nobodyさん:2011/01/05(水) 10:52:38 ID:BkirA51M
php --iniなんてなかったですね。ごめんなさい。

とりあえずhttpd.conf内でPHPIniDirを使って強制的に読ませるようにしたらできました。

別の方法あるはずなんですがねぇ。
372nobodyさん:2011/01/05(水) 10:54:49 ID:???
>>371
私、女子高生だけど、OSくらいは書いた方がいいと思うの。
373nobodyさん:2011/01/05(水) 11:47:19 ID:???
>>371
1個前のレスくらい読め
374nobodyさん:2011/01/05(水) 15:37:39 ID:???
1個前のスレはもうdat落ちして読めません
375nobodyさん:2011/01/05(水) 15:40:18 ID:???
俺、女子高生だけど、読めたよ
376nobodyさん:2011/01/05(水) 16:08:32 ID:???
女子高生なんておばさん
今の流行は女子中学生
377nobodyさん:2011/01/05(水) 16:43:39 ID:DFLThWw3
ソース、テンプレート→EUC-JPで作成
mb_internal_encoding→EUC-JP

この状態でブラウザで表示させようとしたら、UTF-8で表示されて文字化けします。
HTMLのmetaのせいかなと思い見てみましたがそれもEUC-JPでした。
また、ヘッダーでレスポンスを見ると「text/html; charset=UTF-8」で返ってきておりました。

今までにないパターンでの文字化けで、どの段階での文字化けが怪しいでしょうか。
ご指摘ください。
378nobodyさん:2011/01/05(水) 16:50:17 ID:???
>>377
手動でエンコーディングを変えてみる。
EUC-JPで正常に表示されるなら、
レスポンスヘッダの文字コード指定のせい。

EUC-JPのターミナルで、phpを実行してみる。
正常に表示されたら、やっぱり文字コード指定のせい。

ソースをEUC-JP指定で開いてみる。
正常に 以下略。
379nobodyさん:2011/01/05(水) 17:10:47 ID:???
>>377
apache使ってるならhttpd.confのAddDefaultCharset も確認
380nobodyさん:2011/01/05(水) 17:48:20 ID:???
ゴメン、ソレ、オレ
381nobodyさん:2011/01/05(水) 18:14:39 ID:T+SvEUqU
テキストファイルから読み込んだ文字列を”北海道”と一致するか調べたいのですが

===
でも
strcmpでも一致しなくて悩んでおります


テキストから読み取って$valにいれたものをvar_dumpしてみると
string(12) "?北海道"
となっており
var_dump("北海道");
としてみると
string(9) "北海道"
となります。
上と下で違うということはわかったのですが
何が原因なのかまったくもって不明です

文字コードも両方UTF8です
どなたかアドバイスいただければorz
382nobodyさん:2011/01/05(水) 18:17:21 ID:T+SvEUqU
>>381
は出力をコピペしたのですが
上には?というものがはいってますね…目視できなかったのですが
文字コードかえてみたら上は先頭に?ソが入ってるようです
これはどうにかできないでしょうか?
string(12) "?ソ蛹玲オキ驕" string(9) "蛹玲オキ驕"
383nobodyさん:2011/01/05(水) 18:25:10 ID:???
>>381-382
上はBOMが入ってると思われる

文字コードについて調べるのなら、bin2hex使いなよ。

var_dump(bin2hex($val));
384nobodyさん:2011/01/05(水) 18:26:59 ID:T+SvEUqU
>>383
ありがとうございました!
結局もう一度ファイルをUTF8で保存しなおしたら動くようになりました
385nobodyさん:2011/01/05(水) 18:40:05 ID:???
BOMで悩んでる人とか久々にみた可愛い
386nobodyさん:2011/01/05(水) 18:52:48 ID:/BZr9M7L
くだらない質問ですみません
.=とはどういう意味なのでしょうか
387nobodyさん:2011/01/05(水) 18:55:35 ID:???
後ろの文字につなげる

$a = "テスト";
$a .= "田中";

echo $a;

やってみ
388nobodyさん:2011/01/05(水) 19:04:58 ID:/BZr9M7L
*=とかと同じという感じですか!
ありがとうございます!
テスト田中さんはボクもファンです!
389nobodyさん:2011/01/05(水) 19:06:27 ID:???
>>388
> *=とかと同じという感じですか!
何の言語かわからんが、PHPでは多分違った動作だ。

$int = 3;
$int *= 5;
echo $int; // 15
390nobodyさん:2011/01/05(水) 19:09:18 ID:/BZr9M7L
-=とか+=って左の変数に右の変数を足したり引いたりしたものを入れるという
○=シリーズなのかなと
391nobodyさん:2011/01/05(水) 19:09:49 ID:???
>>390
そういうことか
○=シリーズの文字列版だな
392nobodyさん:2011/01/05(水) 19:10:09 ID:???
っていうかテスト田中って誰だ
393nobodyさん:2011/01/05(水) 20:11:53 ID:???
394nobodyさん:2011/01/05(水) 23:31:12 ID:???
Javascript なら文字列の結合は += です。
Ajaxの基本ですね。
395nobodyさん:2011/01/05(水) 23:48:12 ID:???
何を言い出すかと思えば低レベルな
396nobodyさん:2011/01/06(木) 01:30:10 ID:???
>>http://hibari.2ch.net/test/read.cgi/php/1289117484/373

> Ajaxの基本とJapascriptの文法が混在しています。
> これもPHPならば解決できるんですか?

当たり前です。
せめてマニュアルくらい読んでから質問するようにしてください。
397nobodyさん:2011/01/06(木) 04:25:57 ID:x4BB1WQh
while ($hoge = fgets($fp, 1024)){ 処理 }
とあるのですが、これは$hogeがfgetsと等しい時にtrueを返して繰り返されるという意味でよろしいのでしょうか?
比較演算子で等しい時は==だと思うのですが
398nobodyさん:2011/01/06(木) 05:19:26 ID:???
>>397
$hageにfget($fp,1024)の値が代入されると真。FALSEなら偽。
$hageにFALSEが代入されるまで続く。
$hageにFALSEが代入されると、while()の継続条件が偽になるから終わる。
399nobodyさん:2011/01/06(木) 05:39:12 ID:x4BB1WQh
つまりfget($fp,1024)が全部代入されつくしたら、代入するものが無くなってFLASEが代入され偽となり
繰り返しが止まるという事ですが。
ありがとうございます、勘違いしたままになる所でした
400nobodyさん:2011/01/06(木) 06:56:10 ID:???
0とか来たら終わるけどな
401nobodyさん:2011/01/06(木) 09:51:07 ID:???
<?php
$fp = fopen( "test.txt", "r" );
while ( $hoge = fgets( $fp, 1024 ) ) {
echo "while in";
var_dump( $hoge );
}
echo "while out";
var_dump( $hoge );
?>

-test.dat
0

402nobodyさん:2011/01/06(木) 10:59:41 ID:???
<?php
$fp = fopen( "test.dat", "r" );
while ( ( $hoge = fgets( $fp, 1024 ) ) !== FALSE ) {
 echo "while in";
 var_dump( $hoge );
}
echo "while out";
var_dump( $hoge );
?>

--- test.dat
0
403nobodyさん:2011/01/06(木) 11:09:14 ID:A2B05vAM
文字コードについての質問です。

phpinfo()で
mbstring.http_input pass
mbstring.http_output pass
mbstring.internal_encoding no value

この場合で、次に優先される文字コードは何でしょうか。
htmlのmetaタグにcharset=EUC-JPの表記をしておりますが、
ブラウザのヘッダーのレスポンスではcharset=UTF-8で来てしまいます。
404nobodyさん:2011/01/06(木) 12:24:24 ID:???
>>403

> この場合で、次に優先される文字コードは何でしょうか。
phinfo() で得られる mbstring.internal_encoding の Local Value と Master Value の値が不明なので文字コードを答えることは不可能です。

> htmlのmetaタグにcharset=EUC-JPの表記をしておりますが、
metaタグの表記が正しいかを再確認ください。
誤った表記の場合にはブラウザー側でmetaタグを有効にしません。

> ブラウザのヘッダーのレスポンスではcharset=UTF-8で来てしまいます。
どのようにして、「ブラウザのヘッダーのレスポンス」が「来ている」のを確認していますか?
言わんとされていることが、どの様な状態を述べているかが判然としません。

サーバーとしてApacheを使用しているのならば、httpd.conf で以下の設定がどの様になっているかも確認ください。
 AddLanguage
 LanguagePriority
 AddDefaultCharset
 AddCharset
405nobodyさん:2011/01/06(木) 12:30:57 ID:rIZ8uG+B
sqlite_escape_stringなんかねーぞ!と怒られたのですがどの関数を代わりに使えば良い?
406nobodyさん:2011/01/06(木) 12:31:35 ID:???
>>405
レン鯖で?
ローカルならphp.iniでライブラリのコメントアウトをはずしてあげればいいんじゃないかな
407nobodyさん:2011/01/06(木) 12:43:22 ID:rIZ8uG+B
>>406
いえ、ローカルです。
情報が少ないのですがPHP5.3から組み込まれたとか何とかで無くなったらしいのですが、
今ひとつ理解に苦しんでいます。

[PHP_PDO_SQLITE]
extension=php_pdo_sqlite.dll
[PHP_SQLITE3]
extension=php_sqlite3.dll
408nobodyさん:2011/01/06(木) 12:48:17 ID:A2B05vAM
>>404
ありがとうございます。

ヘッダーの確認はFirefoxのアドオン『Live HTTP headers』で確認し、
「Content-Type: text/html; charset=UTF-8」を確認しました。

HTMLのmetaタグは、
<meta http-equiv="Content-Type" content="text/html; charset=euc-jp" />
と表記しております。

Apache側で文字コードの設定する項目は特にありませんでした。
httpd.conf, conf.d以下のファイル全て確認

409nobodyさん:2011/01/06(木) 12:48:22 ID:rIZ8uG+B
あ、php_pdo.dllが組み込まれてなくなったらしい
sqlite_last_errorも無いようですが、どうしろと?
410nobodyさん:2011/01/06(木) 13:19:40 ID:rIZ8uG+B
エラーはPDOException でも拾えないわ
えろい人、ヒントくれ!

>>408
優先順位は知らないけど素直にphpでheaderを吐けば良いのでは?
それでもレン鯖で広告とか入ると環境によっては文字化けするけど
411nobodyさん:2011/01/06(木) 17:12:44 ID:???
PDO使ってるならプリペアドステートメント使うよろし
412nobodyさん:2011/01/06(木) 19:23:50 ID:???
>>408

> この場合で、次に優先される文字コードは何でしょうか。
> phinfo() で得られる mbstring.internal_encoding の Local Value と Master Value の値が不明なので文字コードを答えることは不可能です。

未回答ですね。質問するならば問われた環境を答える姿勢も必要です。

> Apache側で文字コードの設定する項目は特にありませんでした。
> AddLanguage
> LanguagePriority
> AddDefaultCharset
> AddCharset

これは、指摘された事項の全てが未設定であるとの回答ですか?
問題を解決したいのならば、問われたことにきちんと回答しましょう。

413nobodyさん:2011/01/06(木) 20:45:22 ID:???
>>409
Ajax
414nobodyさん:2011/01/06(木) 22:33:39 ID:???
PDOって何?www
415nobodyさん:2011/01/06(木) 22:34:45 ID:???
>>412
質問するならIDをだして下さい。
416nobodyさん:2011/01/07(金) 02:38:11 ID:???
PDOはAjaxに決まってるだろ
417nobodyさん:2011/01/07(金) 09:25:48 ID:???
またスルー検定やってんのか。
418nobodyさん:2011/01/07(金) 12:55:39 ID:wJp74Is3
すみません、phpで動くTwitter bot、EasyBotterを使っているのですが( ttp://pha22.net/twitterbot/ )、
投稿間隔が短すぎたため、1時間半に設定したいと思っています。

現在、

if(date("i") % 60 == 0){
$response = $eb->postRandom("data.txt");
}

こう書いて、1時間ごとに設定しています。
これを1時間半ごと、2時間ごとに設定するには、どうすればいいのでしょうか?
("G")などにしてみましたが、指定された時間内に実行されるだけのようです。

どなたか教えて下さい。お願いします。
419nobodyさん:2011/01/07(金) 13:19:22 ID:???
60という数字を見て何か思いつかないのかね君は
420nobodyさん:2011/01/07(金) 13:21:51 ID:???
PHPで制御しないでcronとかタスクマネージャーで制御してください
421418:2011/01/07(金) 14:08:32 ID:???
replyに返したいので、cronは1分ごとなんですよね・・・。
試しに60を120に設定してみました。2時間待ってみます!
422nobodyさん:2011/01/07(金) 14:23:21 ID:???
いや、date("i") が 00から59だからそれだと変わらんな。
423nobodyさん:2011/01/07(金) 14:28:56 ID:???
前の更新時間を保存すればできなくもない
424nobodyさん:2011/01/07(金) 14:45:34 ID:???
>>419←アホ確定
425nobodyさん:2011/01/07(金) 14:57:14 ID:???
>>419 >>424
こいつ最高にAjax厨
426nobodyさん:2011/01/07(金) 15:06:12 ID:???
unixtime使えばいいよ

if(date("i") % 60 == 0)

if (time() % 5400 == 0)

5400は秒数で1時間半
2時間なら7200にする
427426:2011/01/07(金) 15:09:29 ID:???
と思ったけど秒数指定だとタイミングがシビアすぎる?
下手したらうまく投稿できないかもな
間隔が指定されていて1分間に最大1回までしかそのスクリプトを叩かないという保障があれば
if (time() % 5400 < 60)
とかでもいいと思うけど
428nobodyさん:2011/01/07(金) 15:17:42 ID:???
cronだと時間通りに実行される事は保証されない(高負荷時や電源off時など)
時間通りに実行されなかった場合、anacronが有効になっていれば遅延実行される

素直に>>423のように前回の時間を保存しておき
そこから1時間半以上経ってたら実行させるか

別スクリプトにし、cron設定を1時間半置きにするかしたほうがいいかと。
429nobodyさん:2011/01/07(金) 15:58:11 ID:9ignEtZm
定数について質問です。
define("DAY_1", 1);とすると、既にシステムで定義済みでした。

リファレンスを見ると、
__LINE__
__FILE__
__FUNCTION__
__CLASS__
__METHOD__
しか書いておりませんでした。

どこかで定義済みの定数一覧を確認する方法はないでしょうか?
430nobodyさん:2011/01/07(金) 16:06:01 ID:???
>>429
PHP: 定義済みの定数 - Manual
http://www.php.net/manual/ja/reserved.constants.php

とりあえず、DAY_1は定義済み
431nobodyさん:2011/01/07(金) 16:12:27 ID:9ignEtZm
>>430
ありがとう
しかしDAY_1とか何に使うんだwwww
432nobodyさん:2011/01/07(金) 19:28:18 ID:???
君の好きなように使っていいよ
433nobodyさん:2011/01/07(金) 20:03:27 ID:???
>>425←アホ確定
434nobodyさん:2011/01/07(金) 20:41:11 ID:???
週の一日目ってやつだな。
435nobodyさん:2011/01/07(金) 20:42:28 ID:???
>>429
は定義済みの定数じゃなくて自動的に定義される定数だろ。
嘘はいけない。
436nobodyさん:2011/01/07(金) 20:45:24 ID:???
しかもそのページに定義済みの定数へのリンクあるしなw
437nobodyさん:2011/01/07(金) 20:46:04 ID:???
更に言うと古いリファレンスだなそれ
438nobodyさん:2011/01/07(金) 22:54:58 ID:???
誰か俺の書き込みに反応してくれ
439nobodyさん:2011/01/07(金) 22:59:19 ID:???
>>435-437
>>429は「定義済みの定数」の一覧で合ってる。
リファレンスも最新。
お前こそ嘘はいくない。
440nobodyさん:2011/01/07(金) 23:27:10 ID:???
>>430で答えはでてるんだから続けるなよ
441nobodyさん:2011/01/08(土) 01:33:16 ID:???
>>440

( ´∀`)bグッ!
442nobodyさん:2011/01/08(土) 02:52:55 ID:???
>>439
3行とも無理やり嘘をごり押しして楽しいか 朝鮮人みたいだなw
443nobodyさん:2011/01/08(土) 03:12:23 ID:???
あんま続けるとAjax厨が新しい言葉覚えたから面倒になるぞ

Ajax厨の覚えた言葉一覧

回答者にID出せ

Ajaxで全て解決

アホ確定
444nobodyさん:2011/01/08(土) 03:28:00 ID:???
>>443
ユーモアセンスに欠けるな
445nobodyさん:2011/01/08(土) 11:15:42 ID:???
>>444
Ajaxですからセンスに欠けるんです。
446nobodyさん:2011/01/08(土) 14:03:32 ID:???
Ajax厨っていうかAjaxアンチじゃねーの
447nobodyさん:2011/01/08(土) 15:10:20 ID:???
sqliteでプライマリー乗せてもレコード増えすぎるとやはり動作鈍くなるかな?
448nobodyさん:2011/01/08(土) 15:32:48 ID:???
>>442
すまん、>>429じゃなくて>>430の間違いだった。
勘違い。
449nobodyさん:2011/01/08(土) 16:26:51 ID:???
>>448
罰としてAjaxを勉強すること
450nobodyさん:2011/01/08(土) 17:20:36 ID:XS66UTHq
何もわからない
どこで何をダウンロードして何をインストールして何を設定して何を見て勉強すればいいのかわからない
451nobodyさん:2011/01/08(土) 17:22:21 ID:???
そうですか
452nobodyさん:2011/01/08(土) 20:02:03 ID:???
>>450
まずはJAXAに入隊することをお勧めする
453nobodyさん:2011/01/08(土) 21:26:30 ID:???
>>450

俺が初心者にPHPを伝授する
http://hibari.2ch.net/test/read.cgi/php/1167984858/l50
454nobodyさん:2011/01/09(日) 01:10:39 ID:hhQtxAfg
Ajaxaの使用をお勧めします。
455nobodyさん:2011/01/09(日) 07:29:36 ID:???
そもそも>>450みたいなやつはPHPをやる必要がないのでやらなくていいだろ
決してPHPをやる資格がないとかいうことではなく単に必要がないということ
456nobodyさん:2011/01/09(日) 08:34:22 ID:???
冷たいな
457nobodyさん:2011/01/09(日) 08:47:21 ID:???
>>450
幼稚園でPC学習のために教えている積み木がマジお薦め。
構造体はもちろん、つまづきやすいポインタの概念や、
値渡し、参照渡しなどの概念が簡単に身につく。
ビットシフト演算なんかは、積み木が一番わかりやすい。
逐次処理、条件分岐、反復の構造化プログラミングの基礎
から、オブジェクト指向の初歩まで、幼稚園で学べる(専門用語
は使ってないし、PC学習だとも言ってないけど)積み木最強。
立方体ならなんでもいいけど、簡単に手に入るのはくもんのやつ。
458nobodyさん:2011/01/09(日) 23:03:08 ID:Un2SN/N4
どこかに日本の月齢を割り出せる公開スクリプトはありませんか?
459nobodyさん:2011/01/09(日) 23:03:50 ID:???
つGoogle
460458:2011/01/09(日) 23:23:25 ID:???
海外はあるけど日本だとそのまま使えないw
461458:2011/01/09(日) 23:25:17 ID:???
あ、いや
ごにょごにょ

諦めて弄ることにします
462nobodyさん:2011/01/10(月) 00:57:34 ID:jiNzzCCp
【OS名】xp
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL
【質問内容】VIPで集めたたくさんのエロ画像を使って、ワンクリックでどんどん画像を流していけるような便利なギャラリーサイトを作ってみてます。
readdir()関数で指定した場所のファイルを読むことに成功しましたが、
目的のエロ画像が丁寧にも日本語で保存しちゃったためにうまいこと読み込めませんでした。
どのようにすればこれを読み込めるでしょうか。
ファイルのリネームは作業量的な意味で避けたいです。

while($file_name = readdir($res_dir) ){
$size = filesize($file_name);
echo $size; //日本語ファイルのうち一部は0が返ってくる
}
463nobodyさん:2011/01/10(月) 01:10:44 ID:???
.と..はいいの?
464nobodyさん:2011/01/10(月) 01:17:57 ID:jiNzzCCp
>>463
どのような意味かはわかりかねますが、
.と..の取得はできていますが目的のファイルではないため、
if(filetype($file) == "dir") continue;
として回避しています。
465nobodyさん:2011/01/10(月) 01:32:40 ID:???
>>464
解決策を探ってあげるからまずそのスクリプトをURLとセットでうpをだな
466nobodyさん:2011/01/10(月) 01:41:35 ID:???
読めないファイル名を一部書いてみ?
467nobodyさん:2011/01/10(月) 01:50:01 ID:jiNzzCCp
>>465
このエロ画像の群れはおそらく公開すると違法になるのでごめんなさい

>>466
例えば"ヨスガノソラ"とかの文字列は完全にダメです
468nobodyさん:2011/01/10(月) 01:57:29 ID:r0K6qIgE
引数で指定された変数に文字列を入れたいのですがどうしたらいいですか?

func($s);

echo $s;

function func($s)
{
$s = "あいう";
}
こんな感じにしたいです
469nobodyさん:2011/01/10(月) 02:03:55 ID:jiNzzCCp
>>466
いろいろ調べてみたところ、カタカナの"ソ"が原因のようです。なぜでしょうね・・・
470nobodyさん:2011/01/10(月) 02:07:07 ID:???
日本語でおk
471nobodyさん:2011/01/10(月) 02:07:35 ID:???
>>468
$s = func();
echo $s;

function func()
{
$s = "あいう";
return $s;
}

引数は使ってないけどこう?
472nobodyさん:2011/01/10(月) 02:08:51 ID:???
fileなんとか言ってる奴は間にmb何とかを挟め
文字列云々言ってる奴は&付けてポインタ渡せ
473nobodyさん:2011/01/10(月) 02:35:24 ID:oG6fhevv
PHPからHTMLを出力したいのですが文字化けしてしまいます。
エディタでBOMなしのUTF-8で保存するのと同じことをしたいのですが、
どうやってファイルを出力すればいいのでしょうか?
ヘッダのmetaタグではUTF-8と指定しているのですが、
どうもUTF-8以外のコードで保存されてしまっているようです。

<?php
$string = <<<EOF
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>テスト</title>
</head>
<body>
<h1>あいうえおアイウエオ亜伊宇江尾</h1>
</body>
</html>
EOF;
touch("test.html");
file_put_contents("test.html", $string);

ちなみにこのスクリプト自体はShift_JISで保存されています。
このスクリプトをUTF-8で保存すると問題はなくなりますが、
Shift_JISでも動かしたい場合はどうすればよいのでしょうか?
あとで編集するときに文字コードを無意識に変更してしまう場合もあるので、
文字コード問題が起きないような作成方法があったら教えてください。
474nobodyさん:2011/01/10(月) 02:37:59 ID:???
shift_jisで表示したい時だけコンバートかければいいじゃん
475nobodyさん:2011/01/10(月) 02:39:25 ID:jiNzzCCp
mbstring関数関連については多少は目を通しました
http://php.net/manual/ja/ref.mbstring.php

が、まだ解決には至りません。
"ソ"や"十"など、ごく一部の文字が混在するだけで、渡した引数が正しくてもファイルリソースを得られないままです。
476473:2011/01/10(月) 03:12:32 ID:oG6fhevv
>>474
説明じゃよくわからないのでコード出していただけると嬉しいです。
477nobodyさん:2011/01/10(月) 03:17:35 ID:r0K6qIgE
>>471
ありがとうこざいます。
ライブラリのソース見てたら参照渡しであることが分かりました;;
func(&$s)
478nobodyさん:2011/01/10(月) 03:49:49 ID:???
PHP5.3だと日本語のバグがある。
諦めて5.2を使うとよい
479nobodyさん:2011/01/10(月) 03:59:13 ID:0fz3EibB
継承元クラスのプロパティを取得するにはどうすればいいのでしょうか?

class Main extends Base{
function test(){
ここで継承元・Baseクラスのプロパティ$strを取得してprint_rしたい
}
}

関数ならparent::test();のようにすれば良いのはわかるのですが・・・
480nobodyさん:2011/01/10(月) 04:07:28 ID:???
class Base {
protected $test = "hoge";
}

class Main extends Base {
function test() {
return $this->test;
}
}

$main = new Main();
echo $main->test();
481nobodyさん:2011/01/10(月) 04:28:33 ID:???
class Base {
protected $test = "hoge";
}

class Main extends Base {
function test() {
$base = new Base();
return $base->test;
}
}

$main = new Main();
echo $main->test();

それじゃ子のプロパティさすしこうだろ
インスタンスメンバーだからインスタンス化するしかない
parent::$testのようにアクセスしたければクラスメンバ(static)にしないとな
482nobodyさん:2011/01/10(月) 08:47:27 ID:???
別にMainのtest()内で$this->strでいいだろw

>>475
SJISをやめるか正しく変換する
483nobodyさん:2011/01/10(月) 08:58:32 ID:???
>>475
XPだとムリっていう結論だった気がする2,3スレ前にも同じようなのが居た
484nobodyさん:2011/01/10(月) 09:18:29 ID:???
ソって SJISだと805Cなので 日本語わっかりませーんな関数だと
80っていうわけのわからん文字と、\だなって判断するんだな。
485nobodyさん:2011/01/10(月) 10:22:00 ID:???
>>462
5.3のバグらしい
5.1ならいけるとか

http://ml.php.gr.jp/pipermail/php-users/2010-July/035804.html
ひと通り読んでみ
486nobodyさん:2011/01/10(月) 10:54:04 ID:0fz3EibB
>>480-482
ありがとうございます。勉強になります。
487nobodyさん:2011/01/10(月) 12:01:41 ID:???
俺には全く勉強にならん
488nobodyさん:2011/01/10(月) 12:56:50 ID:???
>>486
481は信じちゃ駄目だぞw
489nobodyさん:2011/01/10(月) 14:12:01 ID:WZZUC9HT
Zend Frameworkで「strictredirects」の値を取得したい時の参照方法を教えていただけませんか?
以下、var_dumpの結果です。
================================================
object(Zend_Gdata_App)#61 (6) {
["_httpClient:protected"]=>
object(Zend_Http_Client)#9 (15) {
["config:protected"]=>
array(12) {
["maxredirects"]=>
int(0)
["strictredirects"]=>
bool(true)
["useragent"]=>
string(16) "Zend_Http_Client"
["timeout"]=>
int(10)
["adapter"]=>
string(31) "Zend_Http_Client_Adapter_Socket"
["httpversion"]=>
string(3) "1.1"
["keepalive"]=>
bool(false)
["storeresponse"]=>
bool(true)
["strict"]=>
bool(true)
490nobodyさん:2011/01/10(月) 14:18:00 ID:???
>>488
じゃMainでMain()->$strをMainで変更したあとに
Base()->$strの値を参照しようとMain()->$strにアクセスすると期待通りの結果を得られるわけですね?
なわけねーだろバーロwwwwwwwww
491nobodyさん:2011/01/10(月) 14:25:08 ID:???
どっちもどうとも言えない
>>479がどうしたいかによる
492nobodyさん:2011/01/10(月) 15:09:39 ID:???
>>489
オブジェクトにアクセスしたいってこと?
493nobodyさん:2011/01/10(月) 15:15:49 ID:???
var_dumpじゃなくてリフレクションつかえ
http://php.net/manual/ja/book.reflection.php
494nobodyさん:2011/01/10(月) 18:04:02 ID:???
is_objectみたいなのってないんだっけ
typeでstring比較するしかない?
495nobodyさん:2011/01/10(月) 18:16:24 ID:???
496nobodyさん:2011/01/10(月) 18:38:17 ID:???
評判の良い本を買ったんだが、文字コードがeuc-jpで変換がめんどくせえ
497nobodyさん:2011/01/10(月) 18:39:44 ID:???
なんて本?
498nobodyさん:2011/01/10(月) 18:59:03 ID:???
だから評判の良い本って言ってんだろうがボケ
499nobodyさん:2011/01/10(月) 19:10:12 ID:???

ちょっと知りたいことでも、他者から見て質問と受け取られる可能性があるならば、IDを出した書き込もう!

それがこのスレが荒れない要素の一つだったりします。

500nobodyさん:2011/01/10(月) 19:41:26 ID:???
初見さんは184はずしてコメしてくださいね!
501nobodyさん:2011/01/10(月) 20:44:38 ID:???
>>499
スレチ
Ajax厨は移動してください
http://hibari.2ch.net/test/read.cgi/php/1289117484/
502nobodyさん:2011/01/10(月) 23:10:38 ID:???
これで$a->varが777になるのってなんか気持ち悪いかも
インスタンスが参照渡しだからなんだろうけど流れ的に違和感がある
こんな気持ち悪い書き方をするのって普通?

class a{
var $var = 0;
}

class c{
function c($inst){
$inst->var = 777;
}
}
$a = new a();
$c = new c();
$c->c($a);
var_dump($a->var);
503nobodyさん:2011/01/11(火) 01:50:59 ID:???
504nobodyさん:2011/01/11(火) 08:54:17 ID:???
505nobodyさん:2011/01/11(火) 10:32:53 ID:???
>>502
おまえ、cしかやった事ないだろ
後、3言語程やってからphpを始めろ
506nobodyさん:2011/01/11(火) 14:33:33 ID:???
class リーマン {
public $手持ちの金 = 0;
}

class 会社 {

public $基本給 = 0;

public function 給料やる( $リーマン ) {
$リーマン->手持ちの金 += $this->基本給;
}
}

$おまい = new リーマン;

$ブラック = new 会社;
$ブラック->基本給 = 500;
$ブラック->給料やる( $おまい );

$せんぱい = new リーマン;
$ブラック->給料やる( $せんぱい );

if( $せんぱい->手持ちの金 < $おまい->手持ちの金 ) {
$せんぱい->say金かして();
}

普通じゃねーか
507nobodyさん:2011/01/11(火) 16:56:27 ID:???
醜くなっただけじゃねーか
お前の事じゃなくてソースなw
508nobodyさん:2011/01/11(火) 17:34:11 ID:8HymJ9iF
MySQLのJOINをした時のフィールド指定について質問です。

$sql = "SELECT * FROM a INNER JOIN b ON a.id=b.a_id";
$res = mysql_query($sql);
while($col = mysql_fetch_array($res)){
}

上記のコードの場合、mysql_fetch_arrayでDBからデータを取ろうとしても
同じフィールドが存在すると被ってしまいます。($colに入らない)
フィールド指定を「a.name AS a_name, b.name AS b_name」
としたら表示されるのですが、このようにひとつずつ指定するしかないのでしょうか?
509nobodyさん:2011/01/11(火) 17:39:22 ID:???
下らねえ
510nobodyさん:2011/01/11(火) 20:04:54 ID:bAp9UI91
携帯サイトのログインでutnで携帯のID取得するときってssl使わないと駄目ですかね?
511nobodyさん:2011/01/11(火) 20:38:14 ID:???
>>508
そのとおりです。必要なフィールドだけ as で指定すればいいでしょう。
select *, a.name as a_name, b.name as b_name from a ...
DBを設計するときに連結する可能性のあるテーブル同士でフィールド名が
重複しないように命名しておくのがミソです。
512nobodyさん:2011/01/11(火) 20:55:24 ID:???
いや別に同じ名前でもいいだろw
というかその方が普通だろ・・・
どちらかというとクエリーで*を使うなよw
513nobodyさん:2011/01/11(火) 21:27:45 ID:8HymJ9iF
>>511-512
と言うことは長くなっても使うフィールドだけ指定すると言うことですね。
正直めんどくさいですが、理解できました。ありがとうございます。
514nobodyさん:2011/01/11(火) 21:44:13 ID:???
カラム名をテーブル名_カラム名にしておくと吉
515nobodyさん:2011/01/11(火) 23:28:05 ID:???
それするとやたら長くならないか?カラム名が。
516nobodyさん:2011/01/11(火) 23:29:18 ID:???
カラム名の長さとか気にしてんの?
517nobodyさん:2011/01/11(火) 23:43:49 ID:0PP1ZKa2
SELECT 'from',COUNT('from') FROM post GROUP BY 'from';

これをちゃんと動くようにするには?
518nobodyさん:2011/01/11(火) 23:56:33 ID:???
◆質問する時の注意
・ 質問者として、態度をわきまえること。
519nobodyさん:2011/01/12(水) 02:21:00 ID:???
SQLスレ池
520nobodyさん:2011/01/12(水) 02:21:21 ID:1ZGOyXUL
初心者です。データベース設計について質問です。

勉強のためにブログを作っています。
コメント欄のデータベース管理についてなんですが、
一つのテーブルを作ってすべてのコメントをそこに保存し、記事番号カラムで呼び出すか
記事ごとにテーブルを作って、テーブルごとに呼び出すか
というパターンが考えられると思うんですが、どちらが相応しいのでしょうか?
521nobodyさん:2011/01/12(水) 02:25:41 ID:???
すんません、

data.xml:
<?xml version="1.0"?>
<data>
<a b="&#x22;" c="hoge" />
</data>

data.xmlのbの値を元にaを見つけてcのhogeを取り出したいんだけど、

$xml= simplexml_load_file("data.xml");
$method = '//a[@b="&#x22;"]';
$xml->xpath($method);

この時点でaが見つけられないんだけどどこがおかしい?
522nobodyさん:2011/01/12(水) 02:33:33 ID:???
>>520
普通は1つのコメントテーブルに記事IDで分ける形だよ。

テーブル:comment
カラム:id, article_id, title, body, date

みたいな。
523nobodyさん:2011/01/12(水) 04:23:33 ID:???
524nobodyさん:2011/01/12(水) 04:25:00 ID:???
>>1
525521:2011/01/12(水) 04:26:42 ID:???
>>523
すみません、お願いします。
526nobodyさん:2011/01/12(水) 04:27:48 ID:???
527nobodyさん:2011/01/12(水) 07:38:54 ID:???
害虫が1匹住み着くだけでどんなスレも見事にだめになるなw
528nobodyさん:2011/01/12(水) 07:43:25 ID:???
529nobodyさん:2011/01/12(水) 16:07:13 ID:???
最初から駄目なスレだと思っていたが
530nobodyさん:2011/01/12(水) 16:52:30 ID:???
そんなことない。俺はちゃんと答えてる。ほとんどの人がそうだ。
一部の駄目な奴が無理矢理荒らしてるんだろ。ライバル増やしたくなくて。
531nobodyさん:2011/01/12(水) 17:06:26 ID:???
他スレや技術系のblogとか見ればわかるだろ、phpは嫌われてるんだよ

板の統廃合で板URLが「php」の方に統一されてしまった時に
散々荒らしが涌いた、だから2chでは特にphpは嫌われている

今はやってないだろうが、他言語で有名な人がここでの荒らしを公言してたしな
532nobodyさん:2011/01/12(水) 17:14:09 ID:???
という夢をみた
533nobodyさん:2011/01/12(水) 17:57:35 ID:???
>>530
お前みたいなカスがしょうも無い回答するから駄目なんだろう
Ajax厨のたわごとは聞き飽きた
534nobodyさん:2011/01/12(水) 20:49:41 ID:1ZGOyXUL
>>522
ありがとうございました。
535nobodyさん:2011/01/12(水) 22:04:49 ID:???
>>533
何も他人に与えられないカスのお前よりマシだ
536nobodyさん:2011/01/12(水) 22:09:49 ID:???
スルーもできないのかよ
荒しと変わらんぞ
537nobodyさん:2011/01/13(木) 00:21:54 ID:???
webプログラムのコードを読むコツ教えてください。
リクエスト受け取ってから出力までのシーケンス図を描くことで良い?
538nobodyさん:2011/01/13(木) 00:30:58 ID:???
webプログラム言うてもPHPの場合は送られてくるデータは変数にセットされてるし
レスポンスもヘッダを自動的に送ってくれるからwebプログラム学びたかったら他の言語がいいと思う
539nobodyさん:2011/01/13(木) 00:42:40 ID:???
>>536
人のことを荒らしと呼ぶ奴が荒らしだって先生が言ってた
540nobodyさん:2011/01/13(木) 00:46:14 ID:???
>>537
>>1を1万回音読しろ
541nobodyさん:2011/01/13(木) 01:25:50 ID:???
>>537

質問をしているのならば、>>1 を読み返してから書き直しましょう。

悪戯(いたずら)で書き込んでいるのならば、こちらのスレが適切です。

 【PHP】下らねぇ質問はID出さずに書き込みやがれ 1
 http://hibari.2ch.net/test/read.cgi/php/1289117484/l50


> webプログラムのコードを読むコツ教えてください。

ちなみに「webプログラム」とは何を意図して書いていますか?
「webサイト構築に使用されるプログラム」のことを述べていますか?

中庸な表現や自己中心的な表現を用いた質問では、意図した回答を得られません。


542nobodyさん:2011/01/13(木) 01:27:04 ID:???
>>537
逆。結果を思い描いてから、それを実現するまでの道筋を考える。
543nobodyさん:2011/01/13(木) 04:31:54 ID:???
>>542

>>1 を読んでない質問者に回答するのはやめましょう。

悪戯(いたずら)で書き込んでいるのならば、こちらのスレが適切です。

 【PHP】下らねぇ質問はID出さずに書き込みやがれ 1
 http://hibari.2ch.net/test/read.cgi/php/1289117484/l50
544nobodyさん:2011/01/13(木) 10:16:38 ID:OvDwhANq
投稿されたデータをパスに足そうと思うのですが何の文字に注意したら良いでしょうか、
「..」だけ弾いておけば上に行かれる心配はありませんか?
echo file_get_contents($base.$_POST["updata"])
545nobodyさん:2011/01/13(木) 10:54:42 ID:???
/入れられたらどうするの?そもそもPHPのコード入れられたら?
外部パスを受け入れるとか、どう考えてもセキュリティホールになるだろうが。
546nobodyさん:2011/01/13(木) 10:55:25 ID:???
【OS名】XP Pro
【PHPのバージョン】5.2
【連携ソフトウェア】なし
【質問内容】
サーバーステータスのコーディングについて質問です。
LAN側のポート単位のチェックはできるのですが、
WAN(外部)側のIPのポートが使われてるか表示させる事は可能でしょうか?
どうかご教示お願いいたします。
547nobodyさん:2011/01/13(木) 11:07:19 ID:???
>>546
意味が良くわからないけど、外部からアクセスできるか知りたいのなら串を使うなり
そういうチェックを支援してくれているサイトがあるからそこを使うよろし。
ポートスキャンならセキュリティサイトでも調べられるよ。
548nobodyさん:2011/01/13(木) 11:17:31 ID:???
>>547
説明が下手ですみません。
他のWebサイトでチェッカーがあるのは知っているのですが、自分のWeb上で表示させたいのです。
ちなみにポート開放のスキャンではありません。

例をあげますと
自宅のサーバーで動かしているポートを使う何かしらのアプリが起動できているか、
異常終了や切断されているかを会社など外部からPHPで判断できるようにしたいのです。
表示方法は「Online」か「Offline」のどちらかのフラグだけで十分です。
549nobodyさん:2011/01/13(木) 11:20:28 ID:???
定期的にping飛ばすだけじゃん…
550546:2011/01/13(木) 11:24:04 ID:???
<?php
function check_port($port) {
$conn = @fsockopen("127.0.0.1", $port, $errno, $errstr, 0.2);
if ($conn) {
fclose($conn);
return true;
}
}

function server_report() {
$report = array();
$svcs = array('80'=>'HTTP');
foreach ($svcs as $port=>$service) {
$report[$service] = check_port($port);
}
return $report;
}
$report = server_report();

?>
<table border="border" bgcolor="#EEDD82">
<tr bgcolor="#EEDD82">
<td width="115" bgcolor="#EEDD82"><div align="center">サービス</div></td>
<td width="65"><div align="center">状態</div></td>
</tr>
<tr>
<th></th>
</tr>
<tr>
<td>HTTP</td>
<td><div align="center"><?php echo $report['HTTP'] ? "<font color="."blue"."><strong>Online</strong></font>" : "<font color="."red".">Offline</font>" ?></div></td>
</tr>
551546:2011/01/13(木) 11:24:46 ID:???
LAN内部だけですと>>550のようになってます。
HTTPの部分だけですが

>>549
よろしければもっとヒントをいただけませんか・・・
552nobodyさん:2011/01/13(木) 11:27:19 ID:???
Windows使っているなら、コマンドプロンプトから
空きポートにpingを送って、通るか否か調べるって事だろ?
さすがにヒントも糞も無いと思うんだが・・。
553nobodyさん:2011/01/13(木) 11:29:19 ID:???
>>546
ID出しやがれボケが
554546:2011/01/13(木) 11:31:24 ID:HlCtfQfp
>>552
いや・・・>>548でも書いた通り「PHPのWeb上で」表示させたいのです・・・
でもPHP上でping送信を使えばいいのかな

>>553
ageるほどでもないと思っていたので失礼しました
555nobodyさん:2011/01/13(木) 11:35:33 ID:???
よくMMOサイトでサーバー稼動中みたいなアイコンのあれでしょ。
全てのサービスを同一のパソコンで稼動させていたとしても、
結局は素直に各サービスのポートを叩いて確認するしかないのでは?。
556546:2011/01/13(木) 11:40:45 ID:HlCtfQfp
>>555
まさにそんな感じです。
おそらくMMO運営は負荷軽減のため複数の回線を使用していると思いますが。
そういう別のWANの場合どう指定してあげればいいのかなという事です。
>>550のやり方ではWAN指定できなかったので、pingで跳ね返ってくるか確認という事でしょうか?
557nobodyさん:2011/01/13(木) 11:44:45 ID:???
外から見たいのを自分のとこで表示したいなら、
javascriptでどうよ。
http://www.gnucitizen.org/blog/javascript-port-scanner/
558nobodyさん:2011/01/13(木) 11:45:27 ID:???
ポートにpingとかw
559nobodyさん:2011/01/13(木) 11:47:23 ID:???
そもそも特定のポートが「使われていない」状態ってあるのか?
俺も鯖管理してるけど、ポートがふさがってる時は
だいたい鯖が落ちてるかiptablesの設定が悪いかだと思うけどな。
つまり、特定のポートだけ発生する現象ではないと思うが。
560546:2011/01/13(木) 11:51:31 ID:HlCtfQfp
>>557
ありがとうございます、ソース覗いてみました。
これ使えるかもしれませんね。PHP単体は諦めて1回試してみます!

>>559
ポートがふさがるっていう概念はどうかと思いますが
「使われていない」という状態はありますよ。
アプリを通してポートを完全に開通させ、アプリが終了してたらバウンドしなくなりますし。
561nobodyさん:2011/01/13(木) 11:58:22 ID:???
>>550のソースのどこがダメだったの?

fsockopenのところを他サーバのipアドレスにしたけど
俺のとこではちゃんと動いてるよ?
562nobodyさん:2011/01/13(木) 12:00:26 ID:???
>>560
ああ、「使われているかどうか」をチェックしたいのか。
誤解してた。すまん。
563nobodyさん:2011/01/13(木) 12:42:18 ID:???
俺はpingなんて言ってないぞw
pingは通るけどサービスが死んでいるとかよくあるはなしさ
564nobodyさん:2011/01/13(木) 14:14:37 ID:???
565nobodyさん:2011/01/13(木) 15:51:08 ID:eIBAKAY8
566nobodyさん:2011/01/13(木) 17:48:30 ID:???
使われているか
 > WAN(外部)側のIPのポートが使われてるか
 > そもそも特定のポートが「使われていない」状態ってあるのか?

開放しているか
 > ちなみにポート開放のスキャン

空いているか
 > 空きポートにpingを送って、通るか否か調べるって事だろ?

塞がっているか
 > ポートがふさがってる時は


日本語での表現は難しい。
567nobodyさん:2011/01/13(木) 17:59:33 ID:NmcnbSQP
プログラムというか、ロジックの考え方についての質問です。

携帯向けサイトを作る時、管理画面などでセッションの管理にクッキーを利用しない設定が必要ですよね。
でも、そのサイトをPCでも使うのなら、PCでの操作にはクッキー利用するのが普通だと思います

1)この条件を両立させたい場合、以下のようにするわけでしょうか?
 ・php.iniでクッキー利用を有効に
 ・携帯向け管理画面(ディレクトリが独立してるなら)のディレクトリに、クッキー無効の.htaccessを設置

また、そもそも.htaccessの効果がよくわかりません。
2)設置したディレクトリ以下に対して、http.confやphp.iniなどでの設定よりも優先される命令をできるってことですか?

3)1)についてですが、携帯向け管理画面のディレクトリが独立していない場合、
 たとえばフレームワークを使っていてコントローラをPC版と共通化し、viewの出力のみ
 携帯専用の出力させていいる時などは「.htaccessをディレクトリに設置」て無理ですよね。
 その場合はどんな風に作ったら効率的なんでしょうか?
 セッション使わないとなるとコントローラ・アクションのソースそのものが違ってくるから
 素直に携帯向け管理画面コントローラとして独立させるのが結局賢くなるんでしょうか?

PC版と携帯版、どんな風に作るのが効率的で管理しやすいんでしょうか?
もちろんスキルによるとは思うので、参考として「こんな風にしている」という話を聞きたいです。

よろしくお願いします
(自分はphp5とzendFWを使っています)
568nobodyさん:2011/01/13(木) 18:03:50 ID:???
>>567
そもそも携帯とPCでphp.iniの設定を分けなくて良い

PHPでケータイからセッションを使う場合の設定方法 | ke-tai.org
http://ke-tai.org/blog/2007/12/12/php_session_new/
569nobodyさん:2011/01/13(木) 18:36:32 ID:???
>>567

> そのサイトをPCでも使うのなら、PCでの操作にはクッキー利用するのが普通だと思います

何が「普通」なのだろうか?

この発想から課題が発生しています。
570nobodyさん:2011/01/13(木) 18:41:15 ID:???
普通だろks
571nobodyさん:2011/01/13(木) 18:51:38 ID:???
偏屈くん
572nobodyさん:2011/01/13(木) 19:01:40 ID:???
別に難しく考える必要はない
携帯なら携帯固有情報をパソコンならクッキーを焼けばいい
セッションを張った時点で勝手に焼きよるけど
573nobodyさん:2011/01/13(木) 20:16:36 ID:???
「空きポートにpingを送る」の意味がわからん。
書いてる奴は理解してんの?
574nobodyさん:2011/01/13(木) 20:24:06 ID:???
>>567
ディレクトリが独立してなくても.htaccessの中で機種判別して
携帯だったら〜を設定、ってすればいい。

.htaccessは対象ディレクトリに限ってhttp.confやphp.iniの設定を
上書きすると考えていい。
575nobodyさん:2011/01/13(木) 20:46:17 ID:???
>>573
pingで送るのだけがpingじゃないからみんな分かってると思うよ。
576nobodyさん:2011/01/13(木) 21:58:58 ID:???
そんなくだらん言い訳は要らんw
577nobodyさん:2011/01/13(木) 22:06:09 ID:???
ガラケーの携帯サイトってほんと脆弱性の固まりだな…
セッションハイジャック系が難なく出来る時点で終わってるわ
578nobodyさん:2011/01/13(木) 22:17:18 ID:???
そんなことしたら不正アクセスで捕まります
579nobodyさん:2011/01/13(木) 22:25:00 ID:???
ところがどっこいグレーゾーンなんですわ
それは高木ちゃんも言ってるんだよね
580nobodyさん:2011/01/13(木) 23:23:47 ID:???
高木がグレーと言ったら何でもグレーなのか?
判断するのはお前や高木じゃないことは確かだ
581nobodyさん:2011/01/13(木) 23:28:42 ID:???
はぁ、最近の奴は法律もわからないのかねぇ…
裁判記録を追ったりも出来ない情弱さんなら致し方ないかぁ…
582nobodyさん:2011/01/14(金) 00:24:08 ID:???
>>573
もう>>552を責めないで下さい。
上から目線で無知を晒してしまって恥ずかしいとか、
質問者を少なからず混乱させてしまって申し訳ないとか、
そういった常識的な対応は匿名掲示板ですので期待しないで下さい。
583567:2011/01/14(金) 00:43:04 ID:???
皆さん回答ありがとうございました
勉強になりました
584nobodyさん:2011/01/14(金) 02:17:33 ID:???
>>581
高木の発言を鵜呑みにするような情弱さんと一緒ですね
585nobodyさん:2011/01/14(金) 07:57:41 ID:???
>>584
裁判記録とか見てたら鵜呑みじゃないんじゃないの?おれは良く分からんけど
586nobodyさん:2011/01/14(金) 08:00:53 ID:???
高木が裁判記録を追わないで記事を書き続ける話しは、このスレで良いのですか?
587nobodyさん:2011/01/14(金) 08:04:49 ID:???
有名な人に無名な奴が文句を言ってるさまが何とも滑稽w
588nobodyさん:2011/01/14(金) 08:18:52 ID:???
もう高木ブーさんの話はやめにしようぜ
それよりも森末慎二の話しようよ
589nobodyさん:2011/01/14(金) 09:39:14 ID:x5/cEkaG
PEAR:MDB2のprepareがうまく動きません。

// 接続
$this->db = MDB2::connect(-省略-);

//接続が失敗したとき
if(MDB2::isError($this->db)){
   echo "データベース接続失敗";
   exit;
}else{
   echo "データベース接続成功";
}

//準備
echo "テスト出力A";
$sql = "SELECT * FROM USER_TBL WHERE USER_NO = ?";
$stms = $this->db->prepare($sql);
echo "テスト出力B";

//実行
$res = $stms->execute(array(1));

//結果の取得
$row = $res->fetchRow();
print_r($row):

このようなソースを書いているんですがデータベース接続成功と
テスト出力Aは表示されますが、Bの表示がなくどうもprepareの所で処理が
終了しているようです。これは何が原因でしょうか?ご教授願います。
590nobodyさん:2011/01/14(金) 09:54:10 ID:???
>>589

> Bの表示がなく

・Bの表示だけが無い
・B以降の表示が無い

591nobodyさん:2011/01/14(金) 10:08:43 ID:x5/cEkaG
>>589
すいません、B以降の表示が全てありません。
592nobodyさん:2011/01/14(金) 10:44:19 ID:???
PEARとか使ったこと無いから答えられない
俺正直だからわからないときはわからないと言う
高木みたいに知ったかぶりはしない
593nobodyさん:2011/01/14(金) 10:54:34 ID:x5/cEkaG
>>592
そうですか、ありがとうございます。
どなかたわかる方いらっしゃいますでしょうか?
594nobodyさん:2011/01/14(金) 11:11:20 ID:???
他にわかる人がいるかどうか、俺にはわからない
595nobodyさん:2011/01/14(金) 11:17:02 ID:???
PEARは使わないし内容を見る気もないけど
たぶん、$stmsのオブジェクトが無い
596nobodyさん:2011/01/14(金) 11:23:18 ID:???
プレースホルダにバインドしてないとか・・・?
597nobodyさん:2011/01/14(金) 11:24:42 ID:???
エラーログを確認するのが先
598nobodyさん:2011/01/14(金) 11:28:56 ID:???
echo "テスト出力B";

if(PEAR::isError($stms)){
echo "prepare失敗". $stms->getMessage();
exit;
}
599nobodyさん:2011/01/14(金) 11:32:09 ID:x5/cEkaG
>>595
ありがとうございます。
オブジェクトが無いですか。

SQL文をそのままphpmyadminで
実行すると問題ないですし

prepareでなく、queryを使って
SELECT * FROM USER_TBL
を実行すると問題なく表示されました。

なぜかprepareのみの挙動がおかしい状態です。
600nobodyさん:2011/01/14(金) 11:35:29 ID:x5/cEkaG
>>598
ありがとうございます。

教えていただいたとおりにやってみましたが
テスト出力A以降はなにも表示されない状態です。
601596:2011/01/14(金) 11:36:54 ID:???
>>589
USER_NO = ?
の?に値を何も設定しているように見えないのですが、
このあたりはだいじょうぶですか?
602nobodyさん:2011/01/14(金) 11:37:10 ID:???
どんな環境か知らんがphp.iniでエラーメッセージ全開にしろ
基本の基本
603nobodyさん:2011/01/14(金) 11:39:30 ID:???
自分のとこではこれで動くので分かりませんな。
USER_NOが1のデータがないとかそういうことはないよね?
604nobodyさん:2011/01/14(金) 11:44:18 ID:x5/cEkaG
>>602
ありがとうございます。

display_errors = On
を入れてみましたが、表示はなにも変わりませんでした。

>>603
ありがとうございます。
はい、DBを確認しましたがデータは存在します。
605nobodyさん:2011/01/14(金) 11:47:32 ID:???
PEARが壊れてる?
606nobodyさん:2011/01/14(金) 11:47:51 ID:???
// 準備
echo "テスト出力A";
/*@*/ var_dump( $this -> db -> getMessage() );
$sql = "SELECT * FROM USER_TBL WHERE USER_NO = ?";
/*@*/ var_dump( $this -> db -> getMessage() );
$stms = $this->db->prepare($sql);
/*@*/ var_dump( $this -> db -> getMessage() );
echo "テスト出力B";

準備部分を上のように書き換えて、実行した結果はどうなりますか?
607nobodyさん:2011/01/14(金) 11:54:06 ID:x5/cEkaG
>>605
ありがとうございます。
ダウンロードしなおすべきでしょうか?

>>606
ありがとうございます。
表示されるものが変わりました。

Fatal error: Call to undefined function: MDB2_Driver_mysql::getMessage(). in -省略-MDB2/MDB2.php on line 1936

関数がないというエラーでしょうか。
608nobodyさん:2011/01/14(金) 11:55:19 ID:???
>>604
display_errors = On
error_reporting = E_ALL | E_STRICT
log_errors = On
609nobodyさん:2011/01/14(金) 11:59:16 ID:???
あれ?

PEAR:MDB2 で getMessage() は使えないの?

610nobodyさん:2011/01/14(金) 12:11:52 ID:???
エラー出た時だけ使えるんだな。
出てないときは undefindになる・・・
611nobodyさん:2011/01/14(金) 12:21:26 ID:???
$this->db =& MDB2::connect(-省略-);
しないとダメとかいうPHP4オチ
612nobodyさん:2011/01/14(金) 12:26:25 ID:x5/cEkaG
>>611
ありがとうございます。
やってみましたが、ダメでした。

レンタルサーバー : XREA
PHP : 5.2.5
MySQL : 5.1.22
613nobodyさん:2011/01/14(金) 12:42:28 ID:???
全ての情報を開示していないと踏んで文字コードの問題とか言ってみたりする

最新バージョンを使っているせいかと思ったらFatal error多いーな
614nobodyさん:2011/01/14(金) 12:45:43 ID:???
>>610

エラーが出ているときだけに使えるのならば、

// 準備
echo "テスト出力A";
$sql = "SELECT * FROM USER_TBL WHERE USER_NO = ?";
$stms = $this->db->prepare($sql);
/*@*/ var_dump( $this -> db -> getMessage() );
echo "テスト出力B";

これで使えるってこと?
615nobodyさん:2011/01/14(金) 12:49:34 ID:???
あとは間抜けにもフィールド名が一致しないとかそういうくだらない話だろうな
情報の小出しに振り回される人々w
616nobodyさん:2011/01/14(金) 12:52:24 ID:???
prepareでエラーが出ても、それが入るのは $stmsだな。
エラーがなければ$stms->getMessage()も undefinedだが。
617nobodyさん:2011/01/14(金) 13:10:49 ID:x5/cEkaG
>>613
文字コードはファイル、DB共にUTF-8で統一しています。

>>614
やってみました。
しかし、出力Aまでしか表示されずエラーメッセージもありません。

>>615
フィールド名は何度か確認しましたが一致しています。

618nobodyさん:2011/01/14(金) 14:57:03 ID:???
そもそもSELECT * FROM USER_TBLだけで読めるのか、
あとアンダバーで何かトラブルがあった気がする。
619nobodyさん:2011/01/14(金) 15:09:17 ID:x5/cEkaG
>>618
queryメソッドを使って
SELECT * FORM USER_TBLで読めました。
620nobodyさん:2011/01/14(金) 15:20:32 ID:???
もしかしてフィールド名にSQLの予約語を使ってないかw
621nobodyさん:2011/01/14(金) 15:31:15 ID:x5/cEkaG
>>620
http://dev.mysql.com/doc/refman/5.1/ja/reserved-words.html

ここで確認しましたが、使っていませんでした。
622nobodyさん:2011/01/14(金) 16:22:34 ID:???
$stms = $this->db->prepare($sql);
if (MDB2::isStatement($stms)) {
echo "実行ok";
}
else if (MDB2::isError($stms)) {
echo "error";var_dump($stms->getMessage());exit;
}
else {
echo "その他";
exit;
}
echo "テスト出力B";
623nobodyさん:2011/01/14(金) 16:31:27 ID:x5/cEkaG
>>622
やってみました。
しかし、prepareをやっている行から下にある
echoはどれも表示されません。

prepare行の所でプログラムが強制終了しているのでしょうか?
624nobodyさん:2011/01/14(金) 17:00:22 ID:???
だから$stmsオブジェクトがないんだって。
それはクエリーに問題があるからで、しかも失敗している部分はテーブルから先にある。

もしかして・・・こんなオチ?

SELECT * FROM USER_TBL WHERE USER_NO = '?'
625nobodyさん:2011/01/14(金) 17:13:22 ID:x5/cEkaG
>>624
$stmsにオブジェクトがない事によって
それ以降のecho等も実行されないわけですか?

?に''をつけてみましたが同じ結果でした。

別のサイトで、PEAR::MDB2ではなくPEAR::DBを使っていたので
それを流用し、DBを使って同じようにprepareからexecuteを実行すると目的の結果が得られました。

>>605さんがおっしゃられているように、PEARが壊れている等でしょうか?
626nobodyさん:2011/01/14(金) 17:37:36 ID:???
prepare呼び出し中に落ちる。エラーメッセージもエラーログもなし。(ほんとか?)
ならPEAR::MDB2のソースを追ってみればいい。

PEARが壊れている。XREA固有の何かがある。
等の環境問題なら自宅に別の環境を作ってみればいい。
627nobodyさん:2011/01/14(金) 17:41:37 ID:???
>>623
ならprepareが失敗してるから>>605の言う壊れてる可能性もある
SQLを
SELECT * FROM USER_TBL WHERE USER_NO=?

SELECT * FROM USER_TBL WHERE USER_NO=:testdata
でやってみて

>>624
$stmtがオブジェクトじゃなくても>>622のコードは実行できる
但しprepareが正常に動作していたらな
628nobodyさん:2011/01/14(金) 17:50:22 ID:???
あーついでにこっちも・・・

$sql = "SELECT * FROM USER_TBL WHERE USER_NO = ?";
$stms = $this->db->prepare($sql,array('integer'));
if (MDB2::isStatement($stms)) {
echo "実行ok";
}
else if (MDB2::isError($stms)) {
echo "error";var_dump($stms->getMessage());exit;
}
else {
echo "その他";
exit;
}
echo "テスト出力B";
629nobodyさん:2011/01/14(金) 17:53:13 ID:N58y3KzQ
php + MySQL で

MySQLで取得したテーブルデータを格納した複数の配列の中の【一部の要素】でソートをしたいのですが、どうすればよいでしょうか?
なお各配列ごとに【一部の要素】の名前が違うので、どうしたものか困り果てております。

array ("data1",
 array (a = aaa, b = bbb, c = 1)
 array (a = aaa, b = bbb, c = 2)
 array (a = aaa, b = bbb, c = 3)
)
array ("data2",
 array (a = aaa, b = bbb, d = 4)
 array (a = aaa, b = bbb, d = 5)
 array (a = aaa, b = bbb, d = 6)
)

というような配列群が合って、その data1 の c と data2 の d を降順にソートして
最後に下のようにそのdata1とdata2を結合したdata3を作り出したいです。

array ("data3",
 array (a = aaa, b = bbb, c = 1)
 array (a = aaa, b = bbb, c = 2)
 array (a = aaa, b = bbb, c = 3)
 array (a = aaa, b = bbb, d = 4)
 array (a = aaa, b = bbb, d = 5)
 array (a = aaa, b = bbb, d = 6)
)

あまり基礎を分かっておりませんので、こんなこと自体ができるかどうかが不明ですが、よろしくお願いします。
630nobodyさん:2011/01/14(金) 17:53:59 ID:???
prepareからリターンする前に落ちるって何度言えば分かるの?
631nobodyさん:2011/01/14(金) 17:58:27 ID:???
よーし、こうなったら大穴当てちゃうぞ!

?がab'cdef

こうだろw
632nobodyさん:2011/01/14(金) 18:01:33 ID:x5/cEkaG
>>627
>>628
3つのパターンを試しましたが全て結果は変わらずでした。

ただ、>>608さんのphp.iniの設定を間違っていました。
データベース接続成功とテスト出力Aの後に以下のエラーが出ています。


PHP Strict Standards: Non-static method MDB2::classExists() should not be called statically, assuming $this from incompatible context in /-省略-MDB2/MDB2.php on line 1854
Strict Standards: Non-static method MDB2::classExists() should not be called statically, assuming $this from incompatible context in /-省略-MDB2/MDB2.php on line 1854
PHP Strict Standards: Non-static method MDB2::fileExists() should not be called statically, assuming $this from incompatible context in /-省略-MDB2/MDB2.php on line 1854
Strict Standards: Non-static method MDB2::fileExists() should not be called statically, assuming $this from incompatible context in /-省略-MDB2/MDB2.php on line 1854
PHP Strict Standards: Non-static method MDB2::loadClass() should not be called statically, assuming $this from incompatible context in /-省略-MDB2/MDB2.php on line 1861
Strict Standards: Non-static method MDB2::loadClass() should not be called statically, assuming $this from incompatible context in /-省略-MDB2/MDB2.php on line 1861
PHP Strict Standards: Non-static method MDB2::classExists() should not be called statically, assuming $this from incompatible context in /-省略-MDB2/MDB2.php on line 327
Strict Standards: Non-static method MDB2::classExists() should not be called statically, assuming $this from incompatible context in /-省略-MDB2/MDB2.php on line 327
633nobodyさん:2011/01/14(金) 18:03:53 ID:???
>>623
XREAでググるとMySQLのドライバを入れなくちゃならんという記述を見かけるが
その辺は大丈夫?
634nobodyさん:2011/01/14(金) 18:08:08 ID:???
>>629
そのようになるようなクエリを書けば良いんじゃないの?
そのままやりたいならとりあえずarray_mergeでマージしてから
usortでC,Dの値を見る形で良いと思うが
635nobodyさん:2011/01/14(金) 18:09:17 ID:z4LQsmVn
これはどちらの方が高速に動作しますか


$stmt->bindParam(':foo', $foo);
$stmt->bindParam(':bar', $bar);
foreach($arr as $value){
list($foo, $bar) = $value;
$stmt->execute();
$stmt->closeCursor();
}

///////////////////////////////////////

foreach($arr as $value){
$stmt->bindValue(':foo', $value['foo']);
$stmt->bindValue(':bar', $value['bar']);
$stmt->execute();
$stmt->closeCursor();
}
636nobodyさん:2011/01/14(金) 18:10:15 ID:x5/cEkaG
>>633
自分で入れてはないのですが
get_included_files()で確認したら

/usr/local/lib/php/MDB2/Driver/mysql.php

を読み込んでいるようですし
queryメソッドでは結果を取得できるので
大丈夫だという認識でした。
637nobodyさん:2011/01/14(金) 18:15:30 ID:N58y3KzQ
>>634
どのようにクエリを書けばいいか分からなかったので、いっそPHP側でできないものかと思いまして。
ちょっとその方法でやってみます。ありがとうございます。
638nobodyさん:2011/01/14(金) 18:20:14 ID:???
>>632
これはどう?
$stms = $this->db->loadModule('Extended')->prepare($sql);
639nobodyさん:2011/01/14(金) 18:28:15 ID:x5/cEkaG
>>638
Fatal error: Call to undefined method MDB2_Extended::prepare()

というエラーが出ます。
640nobodyさん:2011/01/14(金) 19:12:37 ID:???
>>693
これは?
$stms = $this->db->prepare($sql, NULL, MDB2_PREPARE_RESULT);
641nobodyさん:2011/01/14(金) 19:23:25 ID:x5/cEkaG
>>693
ありがとうございます。

693さんからレスを頂く前に動きました。

原因としては、XREAサーバーには既にMDB2がインストールされていたらしく
それを確認せずに自分でMDB2のパッケージをDLし、インストールしていました。

ソース上は自分でインストールした方を読み込んでいたらしく
そのパッケージを削除し、はじめからインストールされていたMDB2を
読み込みように変更したら正常に動きました。

ただ、なぜprepareだけ異常なのか、queryメソッド等は動くのかはわかりません。


朝早くからたくさんの方にレスを頂きました。
本当に助かりました。ありがとうございました。
642nobodyさん:2011/01/14(金) 19:28:56 ID:???
prepareとqueryとではincludeするソースが異なるからじゃない?
まぁ解決してよかったね。
643nobodyさん:2011/01/14(金) 19:34:06 ID:???
解決してよかったけど
既に定義されていたらincludeできないから
その結論で完全解決ではないと思うぞ
644nobodyさん:2011/01/14(金) 19:58:01 ID:???
>>641 名前: nobodyさん 投稿日: 2011/01/14(金) 19:23:25 ID:x5/cEkaG

解決して良かったです。

このスレで以前にありましたが、思いがけない仕様で皆様が開眼した事例がありました。
今回もそれに類するのだろうか? と、いろいろと自分でも試してみたりしていました。

それにしても環境に起因する事項だったんですね。

今回は、>> 643 さんが言われている、
「自分でダウンロード&インストールした方を使用した」部分の確定に課題が残りますが、
少しでも前に進める状況が得られたことは良いことです。

さて、お手数ですが残る課題として、>>643 さんが言われている部分を再整理して、
再度の質問として出してもらえませんか?

> 既に定義されているから include できない

それが覆された状況ですから、その部分を検証してみる必要があると思います。
645nobodyさん:2011/01/14(金) 20:45:04 ID:x5/cEkaG
>>589です。

>>642
>>643
>>644
本当にありがとうございました。
心から感謝します。

少し状況を整理すると
XREAサーバー側にMDB2が入っていないと勝手に判断した後に
自分でダウンロードしたパッケージを解凍し、そのままサーバーへアップロードしました。

今までこの方法で、PEAR::NetUserAgentMobile等が正常に動いたので
それで問題ないと思っていたのですが

今調べて、このあたりを読むとそれだけではダメなんですかね?
http://m630.net/php-mysql/xreapearmdb2.html

正常にインストールが完了していないMDB2を無理やり読み込んでいたのが
おかしな挙動の原因でしょうか。
646nobodyさん:2011/01/14(金) 20:48:19 ID:???
ぐぐったらこんなページあったけど
http://d.hatena.ne.jp/me0/20080320
647nobodyさん:2011/01/15(土) 08:03:08 ID:???
>>645

なるほど
書かれているURLも見ました
とても勉強になります
解決してなによりです
648nobodyさん:2011/01/15(土) 08:03:58 ID:???
>>646
これまた勉強になります
649nobodyさん:2011/01/15(土) 09:32:51 ID:???
しかしPEARをインストールしてあるなら運営がそこまでは設定するべきじゃないの
650nobodyさん:2011/01/15(土) 10:30:31 ID:???
勉強になるのは結構だけどどうなのかちゃんと報告してくれよ あれだけ皆の世話になったんだから
651nobodyさん:2011/01/15(土) 11:09:54 ID:???
PHPとしては当然の動作をしただけでたいした問題じゃない
言葉にするなら競合しただけ
652nobodyさん:2011/01/15(土) 11:43:34 ID:???
何がどう競合したの?
653nobodyさん:2011/01/15(土) 12:18:10 ID:???
651じゃないが推測するに
MDB2.php は多分パス付きでincludeするだろうから、自分でインストールしたファイル
MDB2の中でクラス等をincludeするときはinclude_pathなどで読むのでxreaがインストールしたファイル
バージョンが同じならいいけど、違ってたらなんか問題が出るでしょうな。
654■注意したりして:2011/01/15(土) 12:59:36 ID:???
>>649
>>650
>>652

自分が知りたいことを求める。
他者から見たら質問と受け取られる可能性がある。

そんなことを書き込むときには、IDを出して書き込もう!

それがこのスレが荒れない要素の一つだったりします。

独りよがりな文句、呟き独り言、このスレでは求めていません。
そうしたことを書き込みたいならば、こちらのスレに移動しましょう。

【PHP】下らねぇ質問はID出さずに書き込みやがれ 1
http://hibari.2ch.net/test/read.cgi/php/1289117484/l50

655nobodyさん:2011/01/15(土) 13:21:37 ID:???
お前こそ隔離にいてくんねえかな
毎度毎度暇だね
656nobodyさん:2011/01/15(土) 13:33:25 ID:p52QVX5I
質問です!

>>655 さん、どうしてスレを荒らすような書き込みをするんですか?
ここはあなた個人のスレではありません。

>>654 で、ちょっとだけ上から目線の書き込みがあったからといって、スレを荒らす傍若無人な振る舞いは誰からも喜ばれない行為です。

質問 1.こうして>>655のようにスレを荒らす人が現れるのは、PHPの仕様、もしくはこのスレの仕様ですか?
質問 2.仕様ならば「可哀相な人だ」と人であることを認めて無視しても、後々に問題はないですか?
質問 3.無視することで問題が発生したならば隔離して欲しいのですが、隔離は可能ですか?

( `・∀・´)ノヨロシク
657nobodyさん:2011/01/15(土) 13:47:07 ID:???
>ここはあなた個人のスレではありません。
658nobodyさん:2011/01/15(土) 13:54:58 ID:???
ID房の主張もわからんではないが人柄がすかんw
659nobodyさん:2011/01/15(土) 14:01:56 ID:???
ああいうこと書きたかったら、だれかの回答のあとに書いてね。
質問も回答もしないんじゃあね。
660nobodyさん:2011/01/15(土) 14:19:51 ID:???
ID厨=Ajax厨の特徴

改行書き込みをする
たいした回答ができない
文章力がなく見るからにバカ
自作自演で盛り上げようと必死
661nobodyさん:2011/01/15(土) 16:04:58 ID:???
>>656

回答1.このスレの仕様です。
回答2.「人」として認めるか否か、無視するか否かは、あなた自身で判断ください。
回答3.誰のスレでもありませんから、あなたが隔離を願っても誰も何もしてくれません。

もう少し大人になりましょう。
662nobodyさん:2011/01/15(土) 16:56:05 ID:???
大人になんかなりたくありません。
というかなる必要ないし。
Ajaxをマスターすればそれ十分かと。
663nobodyさん:2011/01/16(日) 00:09:04 ID:lrogIJY/
mysqli のプリペアドステートメントを使ってSELECTした場合、
結果を連想配列で取得ってどうやるんでしょうか?もしかして不可能ですか?

PHP 5&MySQL5 です
664nobodyさん:2011/01/16(日) 00:17:53 ID:???
mysqli_result::fetch_assoc -- mysqli_fetch_assoc - 結果の行を連想配列で取得する
http://www.php.net/manual/ja/mysqli-result.fetch-assoc.php
665nobodyさん:2011/01/16(日) 00:34:52 ID:lrogIJY/
>>664
プリペアドステートメントを使った場合、これだとできない感じなのですが・・・
666nobodyさん:2011/01/16(日) 00:50:12 ID:???
>>665
マニュアルみたけどなさそうだね
mysqli_stmt::fetchのオプションに定数でFETCH_ASSOCを入れると連想配列とか
そういう風になってんのかなと思ったけど普通にないみたいだ
ユーザノートにクラス拡張してfetch_assoc定義してる例もあるね
http://www.php.net/manual/ja/mysqli-stmt.fetch.php#72720
667nobodyさん:2011/01/16(日) 00:59:51 ID:sr/IjSIi
これの具体的なやり方お願いします
オプション関数?ライブラリ?

>PHPでSWFのデコンパイルできるようになったのでデコンパイラ不要になってしまった。
>それにしても動的にASを操作できるってのは有難い。
http://twitter.com/Tsuka1427/status/22324062252
668nobodyさん:2011/01/16(日) 02:30:34 ID:???
本人に聞けよ
669nobodyさん:2011/01/16(日) 03:03:25 ID:???
ここで聞いたら駄目なのでしょうか
それともこれは下らない質問ではないのでしょうか
670nobodyさん:2011/01/16(日) 04:09:35 ID:???
本人に聞いたら駄目なのでしょうか
それとも聞けない理由などあるのでしょうか
671nobodyさん:2011/01/16(日) 08:21:30 ID:???
本人に聞かなかったら駄目なのでしょうか
聞ける理由がなければよいのでしょうか
672nobodyさん:2011/01/16(日) 11:12:29 ID:???
>>663,665
ATTR_DEFAULT_FETCH_MODEで設定すればいいんでない。
673672:2011/01/16(日) 11:20:00 ID:???
ごめん mysqli か
>>672はPDOの話だった。
674nobodyさん:2011/01/16(日) 12:05:31 ID:???
PDO使えでFA
675nobodyさん:2011/01/17(月) 04:32:26 ID:ZNuukBSY
phpをアップロードした時、第三者にソースコードバレないようにするには
呼出、書込、実行の内ドレをONにするとアウトですか?というかパーミッションの値
676nobodyさん:2011/01/17(月) 04:49:50 ID:???
PHPはウェブサーバー上で実行されるので通常はブラウザ等でアクセスしても
ソースコードがバレることはない。
そのサーバーに第3者がFTP等でログインできるのならばそれぞれのユーザーのアクセス権限と
ウェブサーバーの実行権限、ディレクトリのアクセス権限の設定に依存する。

> 呼出、書込、実行の内ドレをONにするとアウトですか?
それぞれの設定の意味を理解していないのだろうが質問の意味が不明になってる。
どれをONにしてもそれだけでソースコードがバレることはない。
というより呼出をOFFにしたらPHPが実行されない。
677nobodyさん:2011/01/17(月) 06:32:09 ID:???
まぁソースコード見えるのはサーバ管理者ぐらいだな
678nobodyさん:2011/01/17(月) 08:40:45 ID:???
そもそも第三者が不正アクセスしてでも見たくなるようなご大層なソースコードが書かれてるかって話だ
679nobodyさん:2011/01/17(月) 09:46:27 ID:???
Zend Guard おすすめ
680nobodyさん:2011/01/17(月) 14:04:28 ID:???
データ流出の大半は内部の犯行

ソースは過去のこのスレ
681nobodyさん:2011/01/17(月) 22:54:20 ID:jz/VSNo7
ZFダウンロードしに行ったら、Zend Server Community Editionってのがあったんですけどコレってどうなんですか?
検索してもあまり情報がなかったもので
よく分からないけれど、XAMMのようなものですか?
682nobodyさん:2011/01/17(月) 22:59:23 ID:???
>>681
?Zend Server Community Edition (CE) is a lightweight version of Zend Server that is absolutely free to use in
development or in production. It is simple to install and to use, provides basic performance optimization, and is
supported only through the Zend support forums.
683nobodyさん:2011/01/17(月) 23:08:56 ID:jz/VSNo7
英語力がないんですが、簡単にPHPを始められると言う事はやっぱXAMMPみたいなのかな?
684nobodyさん:2011/01/18(火) 00:29:01 ID:???
APサーバです
685nobodyさん:2011/01/18(火) 00:49:32 ID:???
XAMPPは環境を作れない初心者のための入門セット
Zend Serverは本番環境を配置・運用・管理するためのガチセット
686nobodyさん:2011/01/18(火) 04:30:41 ID:???
>>682
まだこんな馬鹿がいるのか
687nobodyさん:2011/01/18(火) 06:40:20 ID:IKvWNu/I
馬鹿と言われたらすみません、同一人物ではありませんが
関数講座で

get_magic_quotes_gpcが無効なら文字列をクォートを取り除く

if ( get_magic_quotes_gpc() ) {
$str = stripslashes( $str );
}

とあったのですが、get_magic_quotes_gpc関数はONなら1、OFFなら0を返すと書いてあります
なのにこれじゃあONの時1=trueになってクォート取り除かれちゃいませんか?
そんでOFFの時0=falseになってクォート取り除かれないんじゃないんでしょうか?
688nobodyさん:2011/01/18(火) 07:13:12 ID:???
>>687
そのコードは不要な自動エスケープ処理を除去するのが目的なのでそれで正解。
magic_quotes_gpcがONの場合、getやpost等された文字列が勝手にエスケープ処理されてしまうが
それだと困る場合にそのような処理を行う。

現在のPHPはmagic_quotes_gpcの使用は非推奨だが、かつてはデフォルトでONになっていることもあった。
自動でエスケープ処理される方法はaddslashes()と同じだが、セキュリティの問題から
addslashesの使用は推奨されていない。
689nobodyさん:2011/01/18(火) 07:31:54 ID:???
OFFの時取り除いたらおかしいとは思わんのかね
690nobodyさん:2011/01/18(火) 08:14:11 ID:???
>>689
今日は上級者スレで「かい?」を連発しないでくださいね
691nobodyさん:2011/01/18(火) 09:20:26 ID:IKvWNu/I
>>688
それじゃ日本語は
get_magic_quotes_gpc() が有効(ON)なら文字列をクォートを取り除く
になりませんか?
692nobodyさん:2011/01/18(火) 11:23:43 ID:???
>>691
だからそれでいいんだってば。
クォートを取り除くのが目的のコードなんだから。

magic_quotes_gpcがONのとき:勝手に付けられたクォートを削除
magic_quotes_gpcがOFFのとき:何もしない
693nobodyさん:2011/01/18(火) 11:28:11 ID:???
magic_quotes_gpcがONのとき:
GET等で文字列が送信される→PHPが勝手にエスケープ処理してクォートを追加してしまう

そうすると$GETの中身が既にクォートが付いたものになっているから、
自分で文字列の中身を検査したり画面に表示するときに困るでしょ。
だからmagic_quotes_gpcがONのときはstripslashesでクォートを除去するの。

DBに送信するときはFW等の機能を使うかmysqli_real_escape_string等でエスケープしなきゃ駄目だよ
694nobodyさん:2011/01/18(火) 11:30:21 ID:???
あ、ごめん。つられて書き間違えたけど、
追加されたりstripslashesで削除したりするのはクォートじゃなくてバックスラッシュね。
695nobodyさん:2011/01/18(火) 11:30:33 ID:???
俺が正しく日本語変換してやる
●get_magic_quotes_gpc() がTRUE(magic_quotes_gpcの設定がON)ならば文字列 の クォートを取り除く
なんだその滅茶苦茶な日本語を書いた奴は
なんだよ文字をクォートを取り除くって
そんでもって無効なのに取り除いてどうする
どこを参考にしたんだ
696nobodyさん:2011/01/18(火) 11:31:44 ID:???
class name1 extends name2{
}

class name2のメンバ変数はname1 がnewされた時に設定されるんだよね?
それとも、もともとextendsの分にはメンバ変数を書いても意味が無い?
697nobodyさん:2011/01/18(火) 11:34:58 ID:???
>>691
あぁ、質問の意味がやっとわかった。
>>687に書いてある
>> get_magic_quotes_gpcが無効なら文字列をクォートを取り除く
の日本語とコードが矛盾しているといいたかったのね。
多分筆者の書き間違いでしょ。(正しくは「〜が有効なら」)
698696:2011/01/18(火) 11:38:31 ID:???
勘違いでした
すまそw
699nobodyさん:2011/01/18(火) 12:05:55 ID:IKvWNu/I
やっぱり書き間違いでしたか、くだらない質問でしたがありがとうございます!
700nobodyさん:2011/01/18(火) 16:55:32 ID:aMdgL1VO
ブラゲー作ろうと思ったんだけど、
Ajaxで処理をするたびに毎回プログラム側で設定ファイルを読み込んだり
DB接続したりという処理が発生するので、
ネトゲみたいに常にプログラムを稼働しておいて、入力があれば実行して何かを返すようにしたいんだけど
何か面白いやり方ないですか?
701nobodyさん:2011/01/18(火) 17:03:02 ID:???
JSのonclickとかonkeydownとかでやればいいんじゃないの?
702nobodyさん:2011/01/18(火) 17:23:19 ID:???
>>700
キャッシュするのはどうだ?
設定ファイルぐらいならセッションに入れても良いと思う。
703nobodyさん:2011/01/18(火) 17:26:08 ID:???
fastcgiとかどうだろうか。phpでは使ったことないけどperlでは
結構効いたよ。
704nobodyさん:2011/01/18(火) 17:38:48 ID:???
>>700
設定ファイルの大きさ・数・読込みかたにもよるが、普通はOSのキャッシュに入る
DB接続はコネクションプール使えば良い
あとはアクセラレータを使ってないなら、APCとか使えば体感できるくらいに速度変わる
705nobodyさん:2011/01/18(火) 17:44:14 ID:aMdgL1VO
>>704
例えば、初期設定でinclude_pathを設定して
そこにあるクラスファイル(例えばだけど100個くらい)をrequire_onceで読み込んで、
毎回データベースから数百件のデータを読み込んだりとか、
そういう処理が入るんだけど、こういうのもキャッシュ化されんのかな

今考えてるのは
鯖起動→whileループ→外部から命令があったら処理の実行して結果を返す

このwhileループ時にどうやって外部から(ユーザーからのパラメータ送信など)に対応しようかとか、考えてるの
あと、ループ作成しておくと、鯖起動時にデータベースからデータを取得したら保持できるかなと思って
(某ネトゲのエミュ鯖運営したときにJavaでやってた処理を真似てるだけなんだが)
706nobodyさん:2011/01/18(火) 18:06:13 ID:???
>>705
APCはphpの中間コードをキャッシュしてくれる
当然includeも対象になっており、1回includeすれば中間コードの形で保持される。
DBについても、APC使えば同じクエリならキャッシュされる。

後半部が良くわからんのだけど、PHPを実行しっぱなしにするって意味?
でもajax使おうがクライアント側からはwebサーバ(例えばapache)を介してアクセスにくるわけだから
apache→php実行 という流れは変わらないよね?(見当違いの事言ってたらごめん)

アクセス毎に実行コードにコンパイルかけてるからphpは遅いわけなので
そこをコンパイルかけないで中間コードを保持するAPC使えば速くなるよ。
707nobodyさん:2011/01/18(火) 18:11:59 ID:aMdgL1VO
fm、APCちょっと調べてみます
ありがとうございます!

多分、APC導入していこうと思います!
708nobodyさん:2011/01/18(火) 18:30:15 ID:???
初心者スレだからなんだろうけどAPCの使い方が間違ってるな
ブログなんかみても入れましたはい早くなったとか言ってる人多いし
709nobodyさん:2011/01/18(火) 18:44:21 ID:???
>>708
出切れば間違っている部分を指摘して頂けると助かるのですが。
710nobodyさん:2011/01/18(火) 18:47:21 ID:???
多分>>706が言いたいのは、データベースで敵データ管理してたら
同じ敵を複数の人間が攻撃した時に、データがバグったりするんじゃね?ってことじゃね

データベースから引き出す→変更加える→データベースに戻す
この時に、引き出して変更加えて、別のやつが引き出して、最初のやつが戻したらどうなんの?ってこと

勝手にエスパーしただけだが
711nobodyさん:2011/01/18(火) 19:00:54 ID:???
そんな更新の仕方では、DBを使う意味がない。
DBを使うならDBの作法でアクセスしなきゃ意味ないじゃん。
712nobodyさん:2011/01/18(火) 19:01:38 ID:???
> DBの作法
713nobodyさん:2011/01/18(火) 20:15:06 ID:???
XHRの受信を張りっぱなしにして送信は別でやればいいんじゃないのってことじゃないの
714nobodyさん:2011/01/18(火) 21:35:55 ID:???
素直にソケット使えよw
715nobodyさん:2011/01/18(火) 21:55:17 ID:???
それflash
716nobodyさん:2011/01/18(火) 21:57:33 ID:aMdgL1VO
>>715
flash使わない予定です
HTML+XHR(jQuery)+PHP+MySQLで実装予定です。

座標の監視とかそこまでのものを作るんじゃなく、
敵1対を複数で倒すような感じのものにしようと思ってるので、
複数の人が同時に1つのデータにアクセスすると更新するまでに呼び出したりしそうなので、
順番を決めるような方向でいきたいと思ってます。

すみません、本来の目的を後出しにしてしまって。
717nobodyさん:2011/01/18(火) 22:06:21 ID:???
>>716
それを共有鯖で使う気かい?
718nobodyさん:2011/01/18(火) 22:11:48 ID:aMdgL1VO
>>717
もちろん自鯖で実装予定です
719nobodyさん:2011/01/18(火) 22:58:13 ID:???
>>716
だったら普通にファイルのロックかけるなりDB使うなりでいいのでは?
720nobodyさん:2011/01/19(水) 08:10:04 ID:sXJq2R7K
$PROXY = '';
if (isset($_SERVER['HTTP_VIA']) and preg_match("/.*\s(\d+)\.(\d+)\.(\d+)\.(\d+)/", $_SERVER['HTTP_VIA'], $match)){
$PROXY = "$match[1].$match[2].$match[3].$match[4]";
}
っていうソースを見つけたんですが、$matchの値がどこにも見当たりません
$matchを参照して正規表現を検索して$_SERVER['HTTP_VIA']の値にするという事はわかるのですが
肝心なmatchの値がソースのどこにも見当たらなくて
この$matchは自動的に値が入ったり特別なものだったりします?
721nobodyさん:2011/01/19(水) 08:11:33 ID:???
>>720
2行目の最後に普通にあると思うが
722nobodyさん:2011/01/19(水) 08:51:08 ID:sXJq2R7K
二行目の$match以外に$match=$_SERVER['HTTP_VIA']
とかどこかしらに書かれてなくても大丈夫なんですか?
本当に$matchがこのif文にしか書かれてないんですが
723nobodyさん:2011/01/19(水) 08:53:30 ID:???
納得出来ないならつかわなければいいじゃん
724nobodyさん:2011/01/19(水) 08:54:34 ID:???
>>720
ののタンでおなじみの、preg_match()のマニュアル見たらいいよ。
preg_match()のの三番目のの引数には、検索結果が代入される。
725nobodyさん:2011/01/19(水) 09:15:17 ID:sXJq2R7K
調べて見てもてっきりpreg_replaceとかと同じで
(検索文字、置換文字、検索対象)だと頑なに思い込んでました、ごめんなさい
そしてありがとうございます
726nobodyさん:2011/01/19(水) 10:52:45 ID:???
preg_match(検索文字、検索大賞)
preg_match(検索文字、検索対象、検索結果が代入される配列)
727nobodyさん:2011/01/19(水) 11:05:54 ID:???
検索大賞ワロタ
728nobodyさん:2011/01/19(水) 11:06:49 ID:???
>>724
ののタンってなんですか?
729nobodyさん:2011/01/19(水) 11:32:53 ID:???
>>728
お前、ののタン知らないの?
だせー













で、それ誰?
730nobodyさん:2011/01/19(水) 11:40:48 ID:???
すまん。初めて3日目の俺に教えてくれ。

[XML文字列 → simplexml_load_string() → 処理ウニウニ → asXML() → XML文字列]

と言う入出力処理がある。
これを

[JSON文字列 → xxxxxx → 処理ウニウニ → yyyyyy → JSON文字列]

と言う流れにしたい。

処理ウニウニでは、simpleXMLElementを使って処理しているので、
JSON文字列をsimpleXMLElementにする必要がある。

simpleXMLElementをJSON文字列にするには、json_encode($hoge, true)で
出来たのですが、json_decode($xml文字列, true)だと、当たり前ですが、
連想配列しかできません。

連想配列をsimpleXMLElementに変換する or JSON文字列をXML文字列に
変換する等、「処理ウニウニ」を変えずにIN/OUTだけを変更する方法って
ありませんでしょうか?

迷える豚に愛の手をorz...
731nobodyさん:2011/01/19(水) 11:50:33 ID:???
>>729
phpの日本語マニュアルには、のがダブってるところが
たまにある。preg_match()の項目にもある。
そんだけ。
732728:2011/01/19(水) 12:55:01 ID:???
>>731
thx
733nobodyさん:2011/01/19(水) 12:58:29 ID:bY4e/Fyt
imagecreatetruecolorで作ったベース部分の余白が黒になってしまいます。
この色を指定することは出来ないでしょうか?
734nobodyさん:2011/01/19(水) 13:15:14 ID:???
imagecreatetruecolorは黒い画像を作る関数なんだから無理だろ
imagefillで塗りつぶせばいいんじゃね
735nobodyさん:2011/01/19(水) 14:10:53 ID:???
色のついたサングラスをかけて見るという方法もある
736nobodyさん:2011/01/19(水) 14:29:18 ID:???
色ガラスを通しても黒は黒にしかならない
737nobodyさん:2011/01/19(水) 17:17:29 ID:pFGxwnc8
カテゴリ分けのできる簡易データベースを作っています
CSVを読み込む形式のものなのですが、
個別ページに表示したいテキストが80行以上あります
CSVは1行に1ページ分を書くようなので重たくなるのか気になっています
データベースがいいのか、ほかに方法があるのか…
もしあなただったらどういう方法にしますか?アドバイスお願いします
738nobodyさん:2011/01/19(水) 17:20:43 ID:???
DB
739nobodyさん:2011/01/19(水) 17:25:03 ID:???
SQlite
740nobodyさん:2011/01/19(水) 17:32:26 ID:???
データベースですか…めんどくさいですね
めんどくさがらないように頑張って勉強します
お二方、ありがとうございました
741nobodyさん:2011/01/19(水) 19:25:38 ID:???
>>737

PHP でCSVを処理する。
重たいと感じる理由がわかりません。
742nobodyさん:2011/01/19(水) 20:04:40 ID:???
>>737
1行に1ページ分を書こうが複数行に書こうが一緒だと思うが
743nobodyさん:2011/01/19(水) 22:42:46 ID:???
>>737
「1ページ分」がどの程度のサイズなのかにもよるのでは。

>>740
CSVよりデータベースのほうが簡単だったりします。
744nobodyさん:2011/01/19(水) 22:48:14 ID:???
>CSVよりデータベースのほうが簡単だったりします。
なんで?
745nobodyさん:2011/01/19(水) 22:50:02 ID:???
746nobodyさん:2011/01/19(水) 23:09:28 ID:???
CSVの方が楽だよ。fgetcsv/fputcsv一発でおk
747nobodyさん:2011/01/20(木) 03:57:52 ID:???
CSVファイル1つとかなら別にいいけど、複数テーブルのために複数のCSVを管理して
リレーションのために複数のCSVを開いたり閉じたり・・・とかめんどくさい。
そういう用途のためにDBがあるわけだし
748nobodyさん:2011/01/20(木) 07:28:50 ID:???
関数を複数書くのを面倒くさがってたら何もWebアプリ作れないと思うが?
749nobodyさん:2011/01/20(木) 07:34:20 ID:???
WebアプリにCSVとか何の冗談だよと思う
ファイル単位の排他とかもうね…
750nobodyさん:2011/01/20(木) 07:37:17 ID:???
ファイルロックのやり方知らんの?
751nobodyさん:2011/01/20(木) 07:42:57 ID:???
CSV使ってるような情弱に排他処理について問うたらいかんでしょw
752nobodyさん:2011/01/20(木) 07:54:41 ID:???
それが分からんからDB使うんだろ
753nobodyさん:2011/01/20(木) 08:36:07 ID:???
例えばレンタルサーバーで、
CSVで間に合うようなものなら、わざわざDBのオプション契約はしない。
でも、最初からDBが使用可能ならDBでやる。
754737:2011/01/20(木) 08:38:54 ID:VobjDeOQ
すみません、740はわたしですが744は別の方です

いろいろとぐぐってきました
何もかもわからないことが多いのですが、SQLiteを勉強しながら使ってみようと思います
とても助かりました…みなさんありがとうございました
755nobodyさん:2011/01/20(木) 08:53:52 ID:???
無料レン鯖ですらDB使えるのに今時オプション契約はないだろうに
756nobodyさん:2011/01/20(木) 08:57:44 ID:???
db,csvは用途に合わせて使い分けたらよろし
いつまでもネチネチ低レベルな議論してんじゃねぇよw
757nobodyさん:2011/01/20(木) 09:31:32 ID:???
だれもどういうデータの利用の仕方をするのか聞かない事に驚愕しました!
758nobodyさん:2011/01/20(木) 09:38:30 ID:???
>>757
別に驚くことじゃない
低レベルが超低レベルを卑下して尊大な態度をとるのがこのスレの目的なんだから
759nobodyさん:2011/01/20(木) 09:51:23 ID:???
csv君の逆切れっぷりが酷いなw
760nobodyさん:2011/01/20(木) 09:56:08 ID:???
Chinkodemo Syabuttero Vaka
761nobodyさん:2011/01/20(木) 10:41:27 ID:???
CSVとDBの違いは正直よくわからんけど、
そういうことってAjax使えば実現できるだろ?
何でいまさらそういう古い技術にこだわるのか理解できない
762nobodyさん:2011/01/20(木) 10:43:30 ID:???
↑で、いつまでその釣り糸を使うわけ?
763761:2011/01/20(木) 10:45:45 ID:???
中卒のオレにもわかるようにはやく教えろ
764nobodyさん:2011/01/20(木) 10:49:12 ID:???
>>763
とりあえず高卒資格をとってください
話はそれからだ
765nobodyさん:2011/01/20(木) 10:50:20 ID:???
なんで****をNG指定しないの?
766nobodyさん:2011/01/20(木) 10:52:48 ID:???
>>765
>>761みたいなバカがいたほうが盛り上がるから
767nobodyさん:2011/01/20(木) 10:56:18 ID:???
>>765

****をNG指定したら無職の低学歴JavaScripterたちが路頭に迷うからに決まってんだろ
それくらい察してやれks
768nobodyさん:2011/01/20(木) 16:50:27 ID:???
>>761=>>765=>>767=Ajaxアンチ
769nobodyさん:2011/01/20(木) 23:06:21 ID:h/0GHVwU
プログラムを直接叩くとPHPを実行したい(Windows)

× php -f C:\project\test.php
○ C:\project\test.php

直接コマンドプロンプトから叩いてPHPを実行することは可能でしょうか
また可能でしたらソースをどのように改変すれば良いでしょうか
770nobodyさん:2011/01/20(木) 23:11:07 ID:???
>>740

MySQL 総合 Part19
http://hibari.2ch.net/test/read.cgi/db/1295436346/l50


頑張ってね! 応援しています!
771769:2011/01/20(木) 23:13:49 ID:h/0GHVwU
先頭に
#!C:\xampp\php\php.exe
を付け加えて起動してみても、なぜかDreamweaverで開きます
772nobodyさん:2011/01/20(木) 23:18:14 ID:???
拡張子phpをphp.exeに関連付け
773nobodyさん:2011/01/21(金) 00:04:12 ID:???
>>771
Windowsはファイルの拡張子だけで何のファイルか判断して開くプログラムを決めてるから
ファイルの中に何を書いても意味が無い
>>772の言うように拡張子の関連付けを変更
774nobodyさん:2011/01/21(金) 00:13:42 ID:???
>>769のどこにダブルクリックで起動したいなんて書いてあるの?
直接たたきたいならphp-win.exeを使う
775nobodyさん:2011/01/21(金) 01:15:00 ID:???
>>772-773のどこにダブルクリックのことが書いてあるの?
776nobodyさん:2011/01/21(金) 02:08:51 ID:wkDSO4Hb
↓こういう質問はどの板ですればよろしいでしょうか(テヘッ

あるライブチャットで接続拒否られたんですがすり抜けしたくていろいろ試してるんだけどダメです
試したのは↓

クッキー削除
Flashのshared objectを削除
プロキシ経由(IPはモデム?再起動しても変わらないのでプロキシ使用)

ほかにシステム側でユーザが接続拒否なのかどうか判断する材料とかって何があるんでしょうか?
777nobodyさん:2011/01/21(金) 02:18:08 ID:???
>>776
PHP関係なし
778nobodyさん:2011/01/21(金) 06:51:10 ID:???
$a = ''
$b = ""
$c = '0'
$d = 'Null'

if ($a){}
if ($b){}
if ($c){}
if ($d){}
この場合、変数abcdは全部trueになるのでしょうか?
779778:2011/01/21(金) 06:52:12 ID:53S+NMNf
メール蘭だすの忘れてました
780nobodyさん:2011/01/21(金) 06:56:22 ID:???
>>778

そのコーディングではエラーになります。
781nobodyさん:2011/01/21(金) 07:06:17 ID:???
if ($a){} →false
if ($b){} →false
if ($c){} →false
if ($d){} →false
じゃない?
言いたい事はわかるけど
782nobodyさん:2011/01/21(金) 07:30:37 ID:???
'null'はfalseにならないよ
783nobodyさん:2011/01/21(金) 08:02:50 ID:???
PHPはそこらが迷うからそういう時は===で型も比較したら良いよ
falseと0が同じ関数から戻ってきたりするしw
784nobodyさん:2011/01/21(金) 08:03:58 ID:???
なんて関数?
785nobodyさん:2011/01/21(金) 08:04:40 ID:???
結果0件と失敗じゃないだろうな
786nobodyさん:2011/01/21(金) 09:40:37 ID:???
>>784-785
お前の存在そのものがfalseだ!
787nobodyさん:2011/01/21(金) 10:31:38 ID:???
ふぁ〜〜〜るすっ!
788nobodyさん:2011/01/21(金) 10:35:07 ID:???
>>780-786で回答してるのが >>782だけという現実。
789nobodyさん:2011/01/21(金) 10:52:26 ID:???
文字列のnullがfalseで判別されたらある意味、脅威w
790nobodyさん:2011/01/21(金) 11:21:27 ID:???
真偽なんて最も簡単に試して結果出るからここで嘘かホントかわからん回答を求めるのが不思議
791nobodyさん:2011/01/21(金) 11:27:57 ID:Attkn4cD
LinuxでPHP使ってる人はコンパイル時に--enable-bcmathを付けていますでしょうか?
何か2038年問題がどうとか聞いたのですが、良く分からなかったもので
やっぱ付けた方がいいのでしょうか?
792nobodyさん:2011/01/21(金) 11:32:18 ID:???
今から27年後まで稼動させる環境なら付ければいい
今から27年前の1984年から現在まで稼動している環境があったとしたら凄いな
793nobodyさん:2011/01/21(金) 11:57:05 ID:???
2038年までシステムを稼働させるかどうかではなく
2038年を超えるデータの扱い・計算をした時点でアウト。

UNIXタイム使ってる部分(特に演算してるところ)に注意
日付はDateTimeを使って。
794nobodyさん:2011/01/21(金) 13:07:49 ID:???
>>778
>boolean に変換する場合、次の値は FALSE とみなされます。
>
>■boolean の FALSE
>■integer の 0 (ゼロ)
>■float の 0.0 (ゼロ)
>■空の文字列、 および文字列の "0"
>■要素の数がゼロである 配列
>■メンバ変数の数がゼロである オブジェクト (PHP 4のみ)
>■特別な値 NULL (値がセットされていない変数を含む)
>■空のタグから作成された SimpleXML オブジェクト
>
>その他の値は全て TRUE とみなされます (全ての resourceを含みます)。
http://jp2.php.net/manual/ja/language.types.boolean.php#language.types.boolean.casting
795nobodyさん:2011/01/21(金) 13:48:47 ID:???
専門用語?の読み方なんだけど、読み方これでいいの?
boolean の FALSE → 「ボーレーアンのファルセー」
integer → 「インテガー」
float → 「フロアツ」

人に聞いても「違うような気がする」言われるだけで当人も自身ないみたいで。
796nobodyさん:2011/01/21(金) 13:58:06 ID:???
その手の話題はマ板の方が食いつきいいぜ
797nobodyさん:2011/01/21(金) 14:17:33 ID:???
798nobodyさん:2011/01/21(金) 17:21:40 ID:???
まじめに聞いてるんだけど。boleanとか読み方マジでわからない
799nobodyさん:2011/01/21(金) 17:35:46 ID:???
800nobodyさん:2011/01/21(金) 17:57:32 ID:???
>>798
ぶーにゃん
801nobodyさん:2011/01/21(金) 18:11:18 ID:???
ブーリーン
802nobodyさん:2011/01/21(金) 19:37:27 ID:qEeV7LN9
class Test {
 public function exitTest() {
  unset($this);
 }
}

みたいに自分のオブジェクトを削除するようなメソッドって使えないの?
803nobodyさん:2011/01/21(金) 21:30:44 ID:???
class::function()で呼び出すとまず$thisが使えないのでは?
804nobodyさん:2011/01/21(金) 22:28:57 ID:???
phpとmysqlに詳しい人
今作ってるゲームで、ウェブから特定のテーブルにアイテムデータなんかの入れ込みをしたいんですが
最終的な部分で詰まってます。
コード修正できる人いたらお願いしたいです。

謝礼として5000WebMoney(5000円分)となります。
詳しくは中のファイルにサイトとデータベースファイル入れておりますのでご覧下さい><
http://www1.axfc.net/uploader/He/so/309832
※ウィルスや釣りではありません

長いプログラムですが、当方はここが問題かもしれないと思うところは
説明書.txtの一番下に書いてます orz
805nobodyさん:2011/01/21(金) 22:31:29 ID:8ndmGcBV
ID出し忘れてました
またこういった質問をする適切な場所があれば教えていただきたいです
806nobodyさん:2011/01/21(金) 23:04:16 ID:???
モンスター教えてくんが降臨しててワロタ
807nobodyさん:2011/01/21(金) 23:07:19 ID:???
>>804
http://headlines.yahoo.co.jp/
↑ここの米欄なら暇人が大量にいるから質問してみるといいよ
808nobodyさん:2011/01/21(金) 23:20:30 ID:8ndmGcBV
やっぱりだめですかorz
こういうとこじゃないと専門知識ある方いないと思って探してるんです
809nobodyさん:2011/01/21(金) 23:21:12 ID:???
俺がやってあげるよ
810nobodyさん:2011/01/21(金) 23:24:38 ID:???
>>809
やります宣言はいいからとっとと修正版上げろや
811nobodyさん:2011/01/21(金) 23:26:23 ID:???
>>808
ここにいるのは態度がデカイだけのゴミだから
本気で探してるんなら「はてな」で金かけて質問したまえw
812nobodyさん:2011/01/21(金) 23:27:02 ID:???
>>808
リアル人脈広げようぜ。
人脈がないなら、もう1桁報酬上げて頼んだほうがいい。

もしくは、これを機会に勉強しまくるんだな。
813nobodyさん:2011/01/21(金) 23:27:23 ID:???
>>802
$this = null;
とかできなかったっけ?
試したら結果教えてね。
814nobodyさん:2011/01/21(金) 23:28:47 ID:8ndmGcBV
データベースにSQLを追加したりで色々手間と時間とがかかると思います

所有ポイントに関しては、purchaseすれば、mygame_ls側のaccountdataテーブル内のreward_pointが正常に減るのです
ただ、購入後にinventoryテーブルにアイテムIDやらが正常に挿入されないという点です。
(要はそのキャラクターの元へアイテムが届いていない)
815nobodyさん:2011/01/21(金) 23:31:09 ID:???
>>814
>ただ、購入後にinventoryテーブルにアイテムIDやらが正常に挿入されないという点です。
「購入後にinventoryテーブルにアイテムIDやらを挿入」する処理がどのファイルで
行われてるか書いてよ
816nobodyさん:2011/01/21(金) 23:33:27 ID:8ndmGcBV
一応分かってる範囲だけ補足さえていただくと
Money(お金)は、rewards1.phpとspend1.php
それ以外のアイテムは、rewards2.php~9とspend2.php~9に処理記述してます。
問題はたぶん、このファイルのデータベースとの通信
テーブルとの送信命令がマッチしてないことにありそうなんですが詰んでます...
817nobodyさん:2011/01/21(金) 23:37:35 ID:8ndmGcBV
お金は、mailテーブルへ
それ以外はinventoryテーブルへデータ送信するようにしてます。
外国に人にも一度聞いてみたのですが、データベースのテーブル構造と
php側の記述がマッチしてない可能性があるといわれました
818nobodyさん:2011/01/21(金) 23:41:29 ID:???
>>807の質問が拷問に見えた
819nobodyさん:2011/01/21(金) 23:48:25 ID:???
金出すから改造してよvol.3
http://hibari.2ch.net/test/read.cgi/php/1162147035/l50
820nobodyさん:2011/01/21(金) 23:55:24 ID:???
HTML出力の仕方が斬新だね
意外とヒアドキュメントとかより便利かも
821nobodyさん:2011/01/21(金) 23:55:59 ID:???
>>817
ソースは軽く読んだだけなので一般的なバグの例を

1. SQL関連のエラーメッセージが表示されないなら、条件分岐(if文)ではじかれて
そもそもmysql_query()を含む行が実行されていない。
2. SQLのUPDATE文を使うべきところでINSERT文を使っている。
822nobodyさん:2011/01/22(土) 00:01:01 ID:???
>>820
なにが斬新?
823nobodyさん:2011/01/22(土) 00:03:35 ID:???
>>822
関数宣言の中に

<?php
<h1><?php echo $Row['category']; ?></h1>
?>

みたいな文が出てくるあたり
824nobodyさん:2011/01/22(土) 00:04:52 ID:???
?>
<h1><?php echo $Row['category']; ?></h1>
<?php

↑w
825nobodyさん:2011/01/22(土) 00:07:39 ID:???
バカでも書ける言語仕様が生んだ悲劇。
826nobodyさん:2011/01/22(土) 00:14:32 ID:???
PHPモード抜けてHTML出力はマニュアルにも載ってる基本中の基本だよ
827nobodyさん:2011/01/22(土) 00:15:12 ID:???
PHPの唯一のいいところを悪くいうな
828nobodyさん:2011/01/22(土) 00:16:45 ID:???
>>826
これ基本か?

function foo(){
?>
<h1>ほげほげ</h1>
<?php
...
}
829nobodyさん:2011/01/22(土) 00:25:53 ID:???
>>817
spendpoints/buy_item.phpがないわけだが
830nobodyさん:2011/01/22(土) 00:37:59 ID:???
>>828
いいじゃないか。そういう柔軟な書き方もできるということで。
仕様上の問題が無い以上、基本かどうかは個人の思想によるので議論しても無駄。
831nobodyさん:2011/01/22(土) 00:45:25 ID:???
>>830
斬新て言ってるだけでだれも否定はしてないのだが
832nobodyさん:2011/01/22(土) 01:04:38 ID:???
>>780 確かにエラーになるね。
833nobodyさん:2011/01/22(土) 01:06:12 ID:???
>>798 本当に質問しているなら >>1
834nobodyさん:2011/01/22(土) 08:09:36 ID:???
>>804
inventoryテーブルにINSERTされていないのであれば、spend/spend2から10.phpの41行にエラー表示いれて確認してみたらどうだろ
INSERTやUPDATEしてるとこはエラー処理したほうがいいとおもうけどね。

mysql_query("INSERT INTO inventory VALUES('$uniqueid','{$Row['itemid']}','{$Row['description']}','null','$Character','0','0','0','0','0','{$Row['itemid']}','0')") or die(mysql_error());
835nobodyさん:2011/01/22(土) 08:28:21 ID:???
>>804
834に追記
一つ前のSELECTしている39-40行もレコードがあるかどうか判断していないので無かったときに41行のINSERTで
エラーが出る可能性もあるかな。

itemUniqueIdがPRIMARY KEY指定されているが、12行で
$uniqueid = rand(900001, 1000000);
しているところが問題かも。重複する可能性あり。

それとinventoryのテーブル見たら全部数値タイプじゃないですか
INSERT文の4個めの'null'は数値じゃないので、これでエラーになってるかも。
836nobodyさん:2011/01/22(土) 09:02:51 ID:???
>>835
おれんとこでは'null'をINTに入れると0になった
たぶんsql_modeの設定が違うと思う
804のサーバがどうなってるか知らんが
837nobodyさん:2011/01/22(土) 10:02:58 ID:???
質問者からの再度の書き込みが見当たらない気がするのは私だけ?
質問を投げておしまいにする奴って多いな。
838804:2011/01/22(土) 10:16:41 ID:???
>>837
なんか丸投げしたまま逃げた感じになってしまってすみません orz
ここにいる人たちのレベルでは良い結果は得られそうにないので>>811さんが
言うとおり他所でお金を払って有能な人に質問することにしました。
839nobodyさん:2011/01/22(土) 10:24:57 ID:???
質問じゃないね

丸投げっていうのよ それは

5000円ごときで仕事請け負うか?
会社によっちゃ下手すりゃ1時間ぶんの金額にもならんぞ

自身で勉強する気がないのに「質問」て言葉使うなよ
840nobodyさん:2011/01/22(土) 10:31:33 ID:???
それ以前に匿名が金を出すからって言っておきながら不特定多数に解決を依頼する
その姿勢がおかしい。他人を利用したいだけなのが見え見え、しかも自分が満足する
解答(解決ではなく)が得られなければ他人を批判すると来たものだ。
841nobodyさん:2011/01/22(土) 10:37:18 ID:???
なりすましにマジレス説教する奴って一体...w
842んさydobon:2011/01/22(土) 10:40:56 ID:???
>5000円ごときで仕事請け負うか?
>会社によっちゃ下手すりゃ1時間ぶんの金額にもならんぞ
相応の対価が得られるのならいくらでも払うけどここのカスには¥5kで十分でしょ
実際に誰も解決できてないしw
843nobodyさん:2011/01/22(土) 10:49:54 ID:???
ほんと醜いわ
どんな手を打ったってスキルの高い奴には通用しねーよw
844nobodyさん:2011/01/22(土) 10:52:39 ID:???
>どんな手を打ったってスキルの高い奴には通用しねーよw
逆に言えばここのスキルの低い奴には通用するということですねわかります










ところで、通用しないって何が?
845nobodyさん:2011/01/22(土) 10:57:24 ID:???
>>844
つまりお前が中学生か、中学生並みの知能しかないってことw
846nobodyさん:2011/01/22(土) 11:03:31 ID:???
つまりここのカスどもは中学生か、中学生並みの知能しかないってことw

ってことですねわかります
847nobodyさん:2011/01/22(土) 11:13:20 ID:???
Ajaxを使える奴が大人
848nobodyさん:2011/01/22(土) 11:15:11 ID:???
Jaxaを使える奴が大人
849nobodyさん:2011/01/22(土) 11:16:13 ID:???
>つまりここのカスどもは中学生か、中学生並みの知能しかないってことw
yes, so desu!
850nobodyさん:2011/01/22(土) 11:22:51 ID:???
??? ?? ?
851nobodyさん:2011/01/22(土) 11:37:27 ID:???
Analを使える奴が大人
852nobodyさん:2011/01/22(土) 11:41:57 ID:???
>>851
おれ、メチャクチャ大人じゃん!
853nobodyさん:2011/01/22(土) 11:52:03 ID:???
↑芸
854nobodyさん:2011/01/22(土) 11:53:16 ID:???
大人ならA*a*くらい余裕
855nobodyさん:2011/01/22(土) 13:03:31 ID:???
さあ、おうちに帰ろうね。

【PHP】下らねぇ質問はID出さずに書き込みやがれ 1
http://hibari.2ch.net/test/read.cgi/php/1289117484/l50
856nobodyさん:2011/01/22(土) 13:38:05 ID:???
>>804
Ajax de ok
857nobodyさん:2011/01/22(土) 14:26:08 ID:5oOIF2do
すみません、昨日ID:8ndmGcBVで書き込みしたものです
今掲示板をあれからみたため今から検証していきます
858nobodyさん:2011/01/22(土) 14:37:25 ID:5oOIF2do
まず>>834さんの方法を試してみたところ
spend2.phpでは
「Transcation failed:column count doesn't match at row 1」となりました
859nobodyさん:2011/01/22(土) 14:41:28 ID:???
もしかしてPHPやMySQLの知識0?
860nobodyさん:2011/01/22(土) 14:52:16 ID:5oOIF2do
descriptionの部分で問題があるのかな

>>859
ほとんどないかもしれません
861nobodyさん:2011/01/22(土) 15:23:15 ID:???
>>859
だって、こういうコードを書く人だから

function foo(){
?>
<h1>ほげほげ</h1>
<?php
...
}
862nobodyさん:2011/01/22(土) 15:29:49 ID:5oOIF2do
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

です
863nobodyさん:2011/01/22(土) 15:50:59 ID:???
>>858
>「Transcation failed:column count doesn't match at row 1」となりました

spend2.phpの41行目は
>mysql_query("INSERT INTO inventory VALUES('$uniqueid','{$Row['itemid']}','{$Row['description']}','null','$Character','0','0','1','0','0','{$Row['itemid']}','0')");
でVALUES()には12個の値が入ってる。

実際のinventoryテーブルが12個のカラムで構成されてるか調べてみれば?
864nobodyさん:2011/01/22(土) 16:01:32 ID:5oOIF2do
データベース側はこうですので、こちら側に記述追加しないとだめですね
`itemUniqueId` int(11) NOT NULL,`itemId` int(11) NOT NULL,`itemCount` bigint(20) NOT NULL DEFAULT '0',`itemColor` int(11) NOT NULL DEFAULT '0',`itemOwner` int(11) NOT NULL,
`isEquiped` tinyint(1) NOT NULL DEFAULT '0',`isSoulBound` tinyint(1) NOT NULL DEFAULT '0',`slot` int(11) NOT NULL DEFAULT '0',`itemLocation` tinyint(1) DEFAULT '0',`enchant` tinyint(1) DEFAULT '0',
`itemSkin` int(11) NOT NULL DEFAULT '0',`fusionedItem` int(11) NOT NULL DEFAULT '0',`optionalSocket` int(1) NOT NULL DEFAULT '0',`optionalFusionSocket` int(1) NOT NULL DEFAULT '0',
865nobodyさん:2011/01/22(土) 16:07:32 ID:5oOIF2do
まずitemcolorがnull許可してないので0にし、14個分インサート分書いたらなんとか
money以外の送信はできました
866nobodyさん:2011/01/22(土) 16:09:13 ID:???
オレの数え間違いでなければ13個のカラムがあるみたい
spend2.phpの41行目のVALUES()の最後にもうひとつ0を追加してみては

1: `itemUniqueId` int(11) NOT NULL,`itemId` int(11) NOT NULL,
2: `itemCount` bigint(20) NOT NULL DEFAULT '0',
3: `itemColor` int(11) NOT NULL DEFAULT '0',
4: `itemOwner` int(11) NOT NULL,
5: `isEquiped` tinyint(1) NOT NULL DEFAULT '0',
6: `isSoulBound` tinyint(1) NOT NULL DEFAULT '0',
7: `slot` int(11) NOT NULL DEFAULT '0',
8: `itemLocation` tinyint(1) DEFAULT '0',
9: `enchant` tinyint(1) DEFAULT '0',
10: `itemSkin` int(11) NOT NULL DEFAULT '0',
11: `fusionedItem` int(11) NOT NULL DEFAULT '0',
12: `optionalSocket` int(1) NOT NULL DEFAULT '0',
13: `optionalFusionSocket` int(1) NOT NULL DEFAULT '0',
867866:2011/01/22(土) 16:10:01 ID:???
ごめん、14個だった
868nobodyさん:2011/01/22(土) 16:15:24 ID:???
moneyの方もエラーメッセージを見せてくれれば何かアドバイスできるかも

phpもmysqlも入ってない環境でさっきからエスパってるから
エラー晒してもらわないと何もわからない(汗
869nobodyさん:2011/01/22(土) 16:17:43 ID:???
870nobodyさん:2011/01/22(土) 16:23:17 ID:5oOIF2do
incorrect integer value ="for column 'attachedkinahcount' at row 1

です 値の入力命令?
871nobodyさん:2011/01/22(土) 16:27:44 ID:???
>>870
「不正な整数値('')が、カラム'attachedkinahcount'に挿入されようとしている」
ていうような意味だと思う。

恐らくmoneyテーブルのカラム構成と挿入しようとしてる値が一致してない。
872nobodyさん:2011/01/22(土) 16:31:52 ID:???
mysql_query("INSERT INTO inventory VALUES('$uniqueid','{$Row['itemid']}','{$Row['description']}','null','$Character','0','0','1','0','0','{$Row['itemid']}','0')");

↑のようなINSERT文を↓みたいに書き換えて表示してから、実際のカラム構成と
比べてみるといい

$q = "INSERT INTO inventory VALUES('$uniqueid','{$Row['itemid']}','{$Row['description']}','null','$Character','0','0','1','0','0','{$Row['itemid']}','0')";
echo "Query: $q";
mysql_query($q);
873nobodyさん:2011/01/22(土) 17:03:08 ID:???
>>870
考えられる原因を

spend1.php
40:$res = mysql_query("SELECT itemid,points FROM voterewards1 WHERE id='{$Reward}'");
42:mysql_query("INSERT INTO mail VALUES('$uniqueid','$Character','Aion Staff','".MAIL_SUBJECT."','".MAIL_BODY."','1','{$Row['itemid']}','{$Row['description']}','1','2010-08-28 02:00:00')");

※42行目で、40行で指定されていないフィールド'description'を参照している
ちなみに'description'はTEXT,'points'はINTで'attachedKinahCountattachedKinahCount'はINT
874nobodyさん:2011/01/22(土) 17:57:29 ID:HPNbEIGI
MySQLのカラムロックと、
それに対してPHPがどのようにMySQLとのセッションを
確立するか知りかったんだがorz

MySQLでPHPから
SELECT xxx FROM zzzzzz WHERE id="1" FOR UPDATE

これで次にアップデートするまで、`zzzzzz`.`xxx`に対してロックが行われるとみていいのかな?

あと、ロックかかってる時は他の人からはアクセス不可(エラー)で返るんじゃなくて、
順番待ちとして待機するのかな?

セッションってDB接続ごとに確立されるんだっけ?
A→PHP実行→接続→セッション1が作成
B→PHP実行→接続→セッション2が作成
875nobodyさん:2011/01/22(土) 18:18:37 ID:???
カラムロックを確認する前にトランザクションについて勉強しよう!
876nobodyさん:2011/01/22(土) 18:37:36 ID:???
>>874
>これで次にアップデートするまで、`zzzzzz`.`xxx`に対してロックが行われるとみていいのかな?
>あと、ロックかかってる時は他の人からはアクセス不可(エラー)で返るんじゃなくて、
>順番待ちとして待機するのかな?
>セッションってDB接続ごとに確立されるんだっけ?

ぜんぶ自分の環境で実行してみればわかるだろ
877nobodyさん:2011/01/22(土) 20:56:32 ID:???
>>870 結局、解決したのか?
878nobodyさん:2011/01/22(土) 20:58:39 ID:???
>>874 結局、解決したのか?
879nobodyさん:2011/01/22(土) 20:59:10 ID:HPNbEIGI
まだです
ちょっと今仕事中で試せていません
880nobodyさん:2011/01/22(土) 22:04:02 ID:HPNbEIGI
おk、トランザクションとロック回り試してきました
楽しいですねこれ

LOCK TABLE hoge WRITE;
これだと別のセッションからhogeテーブル読めなく(待ち状態)になりますが、
これってテーブルごとじゃなく、特定の行や特定のカラムのみってできないんですかね

LOCK TABLE hoge WRITE WHERE id='1'; // id=1の行だけロック
LOCK TABLE `hoge`.`test` WRITE WHERE id='1'; // id=1の行のtestカラムだけロック

てかこれどう考えてもMySQLスレ・・・?
881nobodyさん:2011/01/22(土) 22:24:00 ID:???
うん
882nobodyさん:2011/01/22(土) 22:24:38 ID:HPNbEIGI
ちょっとMySQLスレいてきます
883nobodyさん:2011/01/22(土) 22:31:52 ID:???
ちょっとだけだぞ
884nobodyさん:2011/01/22(土) 23:04:12 ID:???
Ajax、じゃなかった、了解。
885nobodyさん:2011/01/22(土) 23:04:55 ID:???
MySQL 総合 Part19
http://hibari.2ch.net/test/read.cgi/db/1295436346/l50

MySQLでのカラムロックについてはググってください。
いろいろと自分で調べて学んだ方が身につきます。
886nobodyさん:2011/01/23(日) 02:43:25 ID:???
>>885
そこの>>9ワロタ
887nobodyさん:2011/01/23(日) 02:44:18 ID:???
>>8だった
888nobodyさん:2011/01/23(日) 12:51:40 ID:???
>>6だった
889nobodyさん:2011/01/23(日) 13:03:10 ID:???
>>890だった
890nobodyさん:2011/01/23(日) 13:26:25 ID:???
Ajaxだった
891nobodyさん:2011/01/23(日) 13:26:56 ID:???
Jaxaだった
892nobodyさん:2011/01/23(日) 13:27:40 ID:???
Analだった
893nobodyさん:2011/01/23(日) 13:31:00 ID:???
( * )だった
894nobodyさん:2011/01/23(日) 13:32:16 ID:???
(i)だった
895nobodyさん:2011/01/23(日) 13:54:38 ID:???
flock中にほかのプロセスから書き込みがあったら、
そのプロセスでは書き込みエラーが出るんですか?
896nobodyさん:2011/01/23(日) 13:59:10 ID:???
>>895
Ajaxエラーが出る
897nobodyさん:2011/01/23(日) 14:02:55 ID:???
>>896
ありがとうございます。
ファイルでは掲示板作らないほうがいいですね。
898nobodyさん:2011/01/23(日) 14:04:32 ID:???
今時の掲示板はAjaxで保存するのがトレンド
899nobodyさん:2011/01/23(日) 16:25:22 ID:???
Ajaxで保存するのではなくAjaxで作る
900nobodyさん:2011/01/23(日) 17:45:45 ID:???

【PHP】下らねぇ質問はID出さずに書き込みやがれ 1
http://hibari.2ch.net/test/read.cgi/php/1289117484/l50

巣に帰りましょう。
901nobodyさん:2011/01/23(日) 17:48:20 ID:???
>>900
スレ違い
902nobodyさん:2011/01/23(日) 18:53:59 ID:???
>>901
レス違い
903nobodyさん:2011/01/23(日) 19:19:17 ID:???
>>696
>ドリームウェーバーを使ってですとselect*fromでも通りましたが

意味わからん。DreamWeaver にはいつから SQLite 処理機能が搭載されたんだ?
何がどう通ったんだろうな。
どうでもいいけど Weaver はウェーバーじゃなくてウィーバーと発音する

>ほかのソフト使う時は空白を注意して入れてみます。ありがとうです!

ほかのソフトっていうか SQL の基礎を学ぶべき。SQLite 云々関係ない。
SQL質疑応答スレ 10問目
http://hibari.2ch.net/test/read.cgi/db/1274791771/

あと PHP もだな。
【PHP】下らねぇ質問はID出して書き込みやがれ 102
http://hibari.2ch.net/test/read.cgi/php/1292670453/
904nobodyさん:2011/01/23(日) 19:19:42 ID:???
あ、すまん誤爆
905nobodyさん:2011/01/23(日) 19:38:56 ID:???
>>903
スレ違い
906nobodyさん:2011/01/23(日) 19:39:55 ID:???
どうでもいいけど Weaver はウェーバーじゃなくてウェアバーと発音する
907nobodyさん:2011/01/23(日) 23:26:19 ID:???
パクッ

weaveは[wi:v]
908nobodyさん:2011/01/23(日) 23:48:53 ID:???
夢を織る ドリームウィーバーっちゅうことですな。波じゃないよ
909nobodyさん:2011/01/24(月) 09:15:45 ID:???
We aver.(私達は主張する。)→Weaver
なので「ウィアバー」と読むのが正解。
910nobodyさん:2011/01/24(月) 22:54:57 ID:???
A jax.(Jacksonville International Airport)→ Ajax
なので「ジャクソンビル国際空港」と読むのが正解。
911nobodyさん:2011/01/25(火) 05:55:24 ID:OqPBuPo2
PearのHTTP/Clientでログインできないように対策している会員サイトってありますか?
hiddenのパラメーターも記入してPostしているのですがログインができません。
Firebugで通信内容を見るとIDやPass等の情報の他にx=12&y=11というものがあるのですが
これと関係ありますか?
912nobodyさん:2011/01/25(火) 07:57:11 ID:ej6mboVt
>>911
意味わからんが、x=12&y=11は画像ボタンクリックしたときの
画像に対してクリックした座標
913nobodyさん:2011/01/25(火) 10:51:43 ID:???
urlにパラメータつけてアクセスした場合、
php側では勝手に$_GETにそのパラメータが格納されてると思っておkですか?
914nobodyさん:2011/01/25(火) 10:57:35 ID:???
>>913
設定にもよるけど基本的にはそう
915nobodyさん:2011/01/25(火) 11:03:45 ID:???
>>914
ありがとう!
916nobodyさん:2011/01/25(火) 11:54:05 ID:c8AyyZvd
サーバの移行をしたところ、↓のエラーが発生し、PHPのページが正しく表示されなくなりました。

PHP Fatal error: Call to a member function getCurrentPageID() on a non-object in /パス/ファイル.php


他にもgetLinks()やgetPageRangeByPageId()など、Pager/Pager.phpを利用している部分でPHP Fatal errorのエラーが出ます。

Pager/Pager.phpのファイル名を変えるとエラーが返って来なくなるので、
Pager.phpに問題があるのは間違いないようです。


このエラーを無くし正常に動作させるには、どのような対処が必要でしょうか?

移行前:PHP 4.4.2
移行後:PHP 5.1.6 Apache/2.2.3
917nobodyさん:2011/01/25(火) 12:02:49 ID:???
>>916
どう記述してるのかを書いてくれないとなんとも。

エスパーすると、factory使って生成して下さい。
918nobodyさん:2011/01/25(火) 12:33:29 ID:aig55zU3
'質問です、とあるphpファイルで
<a href=http://erimi.co.cc/browse.php?u=&b=6#$FRONT">test</a>
というのを発見したのですが、この#は何の意味があるのでしょうか?'
919nobodyさん:2011/01/25(火) 12:36:39 ID:aig55zU3
あ、あれ?http://erimi.co.cc/browse.php?u=&b=6なんて入力してないのに勝手に・・・。

原文
質問です、とあるphpファイルで
<a href=
というのを発見したのですが、この#は何の意味があるのでしょうか?

ちなみにhogeの部分はFRONTです
920nobodyさん:2011/01/25(火) 12:36:42 ID:???
>>918
周囲のソースもさらせと
echoとかじゃなく、それベタならHTMLじゃね?
921nobodyさん:2011/01/25(火) 12:37:51 ID:aig55zU3
あれ?どーなってるのこれ?
文章が入力したとおりに表示されない・・・。なんだろこれ
922nobodyさん:2011/01/25(火) 12:38:12 ID:???
>>919
HTMLだって
アンカータグでggr
923nobodyさん:2011/01/25(火) 12:39:19 ID:???
924nobodyさん:2011/01/25(火) 12:39:35 ID:???
925nobodyさん:2011/01/25(火) 12:40:32 ID:???
なるほど、web串か
926nobodyさん:2011/01/25(火) 12:47:07 ID:aig55zU3
もういちど原文
質問です、とあるphpファイルで
<あ hrえf=#$FRONT></あ>
というのを発見したのですが、この変数の前にある#は何の意味があるのでしょうか?

なんか2chの仕組みがよくわからんです・・・。
927nobodyさん:2011/01/25(火) 12:47:57 ID:???
>>926
>>922

あとしね!
928nobodyさん:2011/01/25(火) 12:48:07 ID:PyH261ZL
【PHPのバージョン】PHP4.1.2
【連携ソフトウェア】MySQL
【質問内容】
COUNT関数を使っての件数取得がうまくいきません。
<?php
$sql = "SELECT COUNT(*) FROM tablename";
$server = "server";
$userid = "userid";
$password = "pass";

$link = mysql_connect($server, $userid, $password);
if ($link == FALSE) {
print("接続に失敗しました");
}
$con = mysql_query($sql,$link);
mysql_close($link);
if (!$con){
print "検索結果を取得できませんでした。";
} else {
$row = mysql_fetch_row($con);
print "行数は" . $row[0] . "です。";
}
?>
という風に記述しているのですが、$conがFalseになっているようで
検索結果を取得できませんでした。
と表示されてしまいます。
phpmyadminからSQL文を流した場合はしっかり取得でき
同じような接続方法でINSERT文をPHPから流した場合もしっかり登録されましたが
SELECT文で要素を取得する場合だけうまくいきません

なにか考えられる原因等あれば教えていただければ幸いです。
929nobodyさん:2011/01/25(火) 12:50:33 ID:???
>>928
mysql_error()でエラー原因見たら?
930nobodyさん:2011/01/25(火) 13:01:47 ID:PyH261ZL
>>929
ありがとうございます。
原因を見たところデーターベース選択がうまくいってなかったとのことだったようで
解決しました。
931nobodyさん:2011/01/25(火) 13:14:27 ID:aig55zU3
>>927
おちつけよ
932nobodyさん:2011/01/25(火) 13:25:14 ID:???
test.php?date=1111&no=11

↑こういう文字列を生成して、
<a>タグで囲んでリンク貼ってるんですが、
$_GETの中に値が入りません。何か間違ってますか?
あと、アンパサンドは&amp;とかくのか&だけでいいのかどっちですか?
933nobodyさん:2011/01/25(火) 13:26:50 ID:???
934nobodyさん:2011/01/25(火) 13:50:00 ID:???
>>931
お前が落ち着け。質問しといて偉そうにいてんじゃねぇ
935nobodyさん:2011/01/25(火) 14:53:03 ID:ak3SRbWw
以下の条件を実現する方法ってないですか?

・フリー、商用可、可能なら広告表示義務なし。
・既存サイトに組み込めるニュース表示パーツみたいなもの。
・TOPページには最新の数件と、ニュースページへのリンクを表示。
・文字コードはできればUTF-8で。
・ブラウザ上から更新可能。できればウィジウィグエディタで。
・更新画面はパスワードで入室管理。

イメージ的には希望の箇所に挿入可能はCMSパーツみたいなものです。
936nobodyさん:2011/01/25(火) 14:56:03 ID:???
>>935
ある
937nobodyさん:2011/01/25(火) 15:04:46 ID:ak3SRbWw
>936
悪かった…。自分の聞き方が悪かった・・・。

>935の内容を実現する、具体的な方法や、解説サイト、ダウンロードページを教えてください。
938nobodyさん:2011/01/25(火) 15:07:32 ID:???
>>937
聞き方というか、
自分で先に構成練って作ってみて
部分部分でやり方わからなかったら聞けよ

丸投げすんな

そもそも
> 既存サイトに組み込めるニュース表示パーツみたいなもの。
既存サイトって何だよ、ちゃんと定義しろ
939nobodyさん:2011/01/25(火) 15:23:10 ID:ak3SRbWw
>938
既存サイト…
20ページくらいの完全に静的なサイトです。

構成というか、上に書いた内容が全てです。
自分で1から組む訳ではなく、この内容を簡単に可能にする方法(システム)を探して
いたので、丸投げしようと思って書いたわけではないです。


940nobodyさん:2011/01/25(火) 15:28:27 ID:???
>>939
自分の頭の中ではイメージ浮かび上がってんだろうけど
俺には全く伝わってこない
ニュースが出るCMSパーツ作りたいのかな?しか思い浮かばん
iframeでいいじゃんもう
941nobodyさん:2011/01/25(火) 15:35:01 ID:???
静的だと位置づけた時点で以下ができない
・ブラウザ上から更新可能。できればウィジウィグエディタで。
・更新画面はパスワードで入室管理。

rssを拾ってくるだけならそれこそ馬鹿の1つ覚えが居るajaxかな
942nobodyさん:2011/01/25(火) 15:37:14 ID:???
>>941
静的サイトは組み込まれる側の話だからiframeでも使えば可能じゃね
943nobodyさん:2011/01/25(火) 15:37:18 ID:ak3SRbWw
>940
えーっと、上手く伝わらないですよね…。
ちなみにiframeは無しで。

逆に考えると、シンプルなブログ機能と、その最新の記事を指定数だけ
TOPページ(HTMLまたはPHP)に呼び出せる機能がほしいって事です。
944nobodyさん:2011/01/25(火) 15:40:24 ID:???
>>943
自分で書いたブログ記事をHTMLに乗せるってこと?

> ちなみにiframeは無しで。
なんで無しなの?
フレームってだけで拒否する体質の人?
ニコニコ動画(笑)のパーツもだけど、基本的にiframe多いよ、主流と言ってもいい

てか、えらい簡単な内容だな
もっと複雑なもん考えてるんだと思ってた
945nobodyさん:2011/01/25(火) 15:43:06 ID:???
なんとなく分かってきたけど、935の説明が相当悪い。
まず概要に当たる説明が無い。943でやっと出た感じ。
で、じゃあそのTOPページは動的ページになるんじゃないの?
あとブログっていうのは今では相当複雑なCMSの複合体の名称なので
ここで使うと混乱のもとな気がする。要するにテキスト(と装飾)程度だけ
WEB上で更新して、掲載したいんでしょ?
946nobodyさん:2011/01/25(火) 15:52:14 ID:???
ニュースは旬な話題が多いから結構アクセス数が増えるのよねw
動的仕組みで静的ページを自動作成って感じかな、どちらにしろCGIなり動く環境が必要。
iframeに他鯖から呼び出すのって規約違反じゃないの。仮に呼び出し先に同一のページを
作って誤魔化すならはじめからそっちで作れって話しだし。
947nobodyさん:2011/01/25(火) 16:07:28 ID:???
もしかしてくれくれ君じゃね?
948nobodyさん:2011/01/25(火) 16:08:30 ID:???
>>935
PHPで簡単な管理画面を作って、フォームからデータベースなりXMLなりにデータを書きこんで
JavaScriptでデータを適宜読み込んで表示すればいいんじゃないのか
949nobodyさん:2011/01/25(火) 16:10:08 ID:ak3SRbWw
>944
ざっくり言うとそんな感じです。
iframe無しなのは、読み込む部分の編集をとにかく簡単にしたかったからで、
その場合iframeだと難しいのかなと思ったからです。

>945
確かにブログと言ってしまうとマズイかもしれないですね。
この内容が可能になると、確かにTOPは動的になります。
あとは、要するにその通りです。
950nobodyさん:2011/01/25(火) 16:23:15 ID:ak3SRbWw
>946
んー、「ニュース」の部分は「お知らせ」とか「更新情報」に読み替えてもらって
かまいません。そこまでアクセスが増える予定はないです。

>947
もしかしなくてもくれくれみたいなものですよ。

>948
確かに管理画面から作ってDBつくって、って方法もあるのかもしれません。
でも、今回はその辺を端折ってお手軽に作る方法を探してました。
もっと希望を言えばDBも使わずにCVSとかで保存する程度でOKです。
951nobodyさん:2011/01/25(火) 16:25:45 ID:ak3SRbWw
訂正)CVSじゃなくCSVですね…。
952nobodyさん:2011/01/25(火) 16:28:16 ID:???
そうすると948のやり方とか、949の持ってる技術と環境しだいだよな。
WISIWYG含めたシステムをどっかで手に入れたいって言うとスレ違いかも?
ところでスクリプトがHTMLに整形された文書を吐き出す形になるなら
Ajaxでもiframeでもinclude(同サーバー)でも同じでいい気が。
iframeで読み込むのなんて静的でかなりシンプルだと思うけど。

記事の更新は既存ブログつかって、吐き出したRSSなりを整形ってのは?
953nobodyさん:2011/01/25(火) 16:30:10 ID:???
WordPressでも使えばいいんじゃないの?
954nobodyさん:2011/01/25(火) 16:38:46 ID:ak3SRbWw
>952
自分もだんだんスレチな気がしてきました…。
以降スルーしてもらっても構いません。
書き込んでもらう分には返事して、参考にさせてもらいます。
お騒がせしました。

>953
それだとちょっと大掛かり過ぎなんですよね…。
955nobodyさん:2011/01/25(火) 16:40:45 ID:???
細かい仕様の説明なんかどうでもいいから、大まかなイメージを提示してくれよ。

つまり、ブログパーツってことなのか?
http://twitter.com/about/resources/widgets/widget_profile
こういう感じで内容を自分で編集できるようにしたものってのと違う?
956nobodyさん:2011/01/25(火) 16:49:00 ID:???
>>955
イメージは>>943でいいんじゃないの?でブログって言うよりはシンプルなテキスト情報のみ、っていう。
「つまりブログパーツ」って言っちゃったらゲームとかもあるし種類広すぎるだろw
たぶんリンク先のイメージは合ってるけど。
957nobodyさん:2011/01/25(火) 16:53:47 ID:ak3SRbWw
>955
全く違うわけじゃないんですが、>956さんの通りです。
958nobodyさん:2011/01/25(火) 16:55:01 ID:???
それで誰か提供してあげるの?w
959nobodyさん:2011/01/25(火) 16:57:27 ID:???
多分このスレの人は自分で作っちゃうのでアリ物はあまり知らないんじゃないかと。
960nobodyさん:2011/01/25(火) 17:12:25 ID:???
http://news.recube.net/
http://www.yumemaboroshi.net/39rank0/
http://php.dori-mu.net/news.html

概要が理解できないまま、好意的に推測した上で探してみたけど
こういうものだろうか
961nobodyさん:2011/01/25(火) 17:30:20 ID:ak3SRbWw
>958
これまでの意見で十分参考にさせてもらいました。
ありがとうございます。

>959
そうですよね…。それくらいさくっとできるように頑張ります。

>960
ありがとうございます。
ReCubeNewsはイメージと近いですね。
TOPへの表示部分が本文も表示するようにできればいい感じです。
夢幻は一通りみました。
3番目はブクマして、今後の勉強に役立てます!
962nobodyさん:2011/01/25(火) 17:38:21 ID:???
えっ、POSTを受け取ってファイルに書き込みする程度の技術力もないって前提だったのか・・・
963nobodyさん:2011/01/25(火) 18:02:07 ID:???
964nobodyさん:2011/01/25(火) 18:25:47 ID:???
>>963
WYSIWYGは?
965nobodyさん:2011/01/25(火) 18:33:54 ID:???
5分も掛けてんじゃねぇよ。Ajax使えば1分でできんのに。
966nobodyさん:2011/01/25(火) 18:39:51 ID:???
>>964
いろいろあるから、すきなやつをそれに追加するだけだな。
967nobodyさん:2011/01/25(火) 18:41:07 ID:???
PHP+MySQLで掲示板を作ろうと言う本を見かけるのですが
掲示板なんかにわざわざスクリプト意外にDBなんかまで使って
サーバー管理者から苦情がこないのでしょうか?
968nobodyさん:2011/01/25(火) 18:43:24 ID:???
なんかDBを大げさに思ってる初心者が多いっすね。
そんな大層なものでもないからw 
969nobodyさん:2011/01/25(火) 18:45:58 ID:???
どういう鯖かは知らんが、鯖缶が使っていい設定にしてあるなら遠慮なく使えばいい
970nobodyさん:2011/01/25(火) 19:00:36 ID:???
>>966
それを言ったら963のじゃ編集もタグ入れも出来ないし、ちゃんと出来るモノ探したほうがいいよな

>>967
ファイル操作よりよっぽど安全でスマート。慣れればCSVとかいじるより多機能簡単だし。
971nobodyさん:2011/01/25(火) 19:04:41 ID:???
>>965
Ajaxの使用を怠ってしまい、大変申し訳ありませんでした
大至急Ajax方式に切り替えました
http://www.dotup.org/uploda/www.dotup.org1382094.txt

WYSIWYG???編集???
自分で作れやwwwwwwwwww
俺はこれで終わり
972nobodyさん:2011/01/25(火) 19:04:55 ID:NaLoXxgk
<?php
$sss = "aiueo";
$sssd = "ai";
//ランダム表示
$arr = array("echo $sss;","echo $sssd;");
mt_srand((double)microtime()*1000000);

echo"
<html>
<body>";
echo $arr[mt_rand(0,count($arr)-1)];
echo"
</body>
</html>";
?>

これを実行すると

echo aiueo;
echo ai;
と言う表示が出ます、これを
aiueo
ai
と表示出来るようにするにはどうしたらいいでしょうか?
973nobodyさん:2011/01/25(火) 19:17:29 ID:???
>>972
すげー見づらいから書きなおしてみた

<?php
// 文字列を変数に入れる
$s1 = "aiueo";
$s2 = "ai";

// 変数を配列に入れる
$arr = array($s1, $s2);

// 乱数を生成する
$num = mt_rand(0, count($arr)-1);

// 表示する
echo "<html><body>";
echo $arr[$num];
echo "</body></html>";
974nobodyさん:2011/01/25(火) 19:37:08 ID:???
>>972
最小限に手直しするなら
$arr = array($sss, $sssd);
975nobodyさん:2011/01/25(火) 19:52:02 ID:NaLoXxgk
>>973
素晴らしいですね
綺麗すぎて泣いた

あとすいません、echoで必ず表示させたいんです
どういう事かというと、
そのランダム部分には普通の文字列もあれば関数やらHTMLのタグやらも一緒くたに扱える柔軟性を維持させたいからです。
require 'aaa.php';//ここに関数定義
$sss = "print_advanceda();";//これが関数
$sssd = "ai";//これは普通の文字列やタグを設定

こういう使い方は無理でしょうか?
976nobodyさん:2011/01/25(火) 20:00:16 ID:???
関数と文字列表示を同じに処理したいって事か
977nobodyさん:2011/01/25(火) 20:06:32 ID:???
>>975
$sss = print_advanceda();
これでおk

関数の返り値を変数に代入すればいいんだよ。
あなたはどうして変数も関数も文字列として扱おうとするのか・・・
978nobodyさん:2011/01/25(火) 20:34:39 ID:???
礼もなしとな
979nobodyさん:2011/01/25(火) 20:39:04 ID:???
気が早いよ
980nobodyさん:2011/01/25(火) 20:40:35 ID:???
次スレ立てるよ
981nobodyさん:2011/01/25(火) 20:55:03 ID:???
立てたよ

【PHP】下らねぇ質問はID出して書き込みやがれ 103
http://hibari.2ch.net/test/read.cgi/php/1295956018/
982nobodyさん:2011/01/25(火) 20:58:24 ID:NaLoXxgk
>>977
ありがとうございます
require 'aaa.php';//ここに関数定義
// 文字列を変数に入れる
$s1 = print_advanceda();//これが関数
$s2 = "ai";//これは普通の文字列やタグを設定

// 変数を配列に入れる
$arr = array($s1, $s2);
// 乱数を生成する
$num = mt_rand(0, count($arr)-1);

// 表示する
echo "<html><body>";
echo $arr[$num];
echo "</body></html>";

これで実行したら、$s1の表示の場合は空白でした。
そして
>$s1 = "print_advanceda();";//これが関数
この部分に反応して表示されてます。
つまり、<html><body>の前の行です。

require 'aaa.php'のファイルに
>$s1 = print_advanceda();//これが関数
この記述を移動させて見ましたが、
今度もやはりここで反応してしまいます。
>$arr = array($s1, $s2);

で↓ここの表示でも$s1の場合だと空白に成ります
>echo $arr[$num];
983nobodyさん:2011/01/25(火) 21:02:18 ID:???
>>982
print_advanceda() という関数が、関数の内部で表示を実行しているため、
$s1 = print_advanceda() の行の評価時に表示が行われてしまう。
また、print_advanceda() 関数の内部で返り値が設定されていないため、
$s1 = print_advanceda() としても $s1 に何も代入されない。

print_advanceda() 関数を自分で修正できるのならば、
内部で表示(print, echo 等)している部分ををやめて、
return文で戻すように改造する。
984nobodyさん:2011/01/25(火) 21:07:32 ID:???
>>983
単刀直入に言うと、あなたが作ったprint_advanceda関数がおかしいってことですよ。
可能ならば、その関数のコードもここに書いてみたらどうですか。
985nobodyさん:2011/01/25(火) 21:08:13 ID:???
レスアンカーミスった
>>984>>982宛です
986nobodyさん:2011/01/25(火) 21:10:01 ID:???
おかしいというより、こういう用途を想定して作られてないだけだな。
おそらく本人が作ったわけじゃないんだろ?
>>982を読む限りPHPの基本的な動作を理解しているとは思えない。
987nobodyさん:2011/01/25(火) 21:21:08 ID:NaLoXxgk
>>983-985
関数内の
print $result;

return($result);
に変えたら表示出来ました!!
まじで感謝です!ありがとうございましたm(__)m
>>986
はいその通りです・・・でもヒントを得て改造してみました!
そしたら動きました!
ここで聞いて良かったです!!皆さんほんとうにありがとうございましたm(__)m
988nobodyさん:2011/01/25(火) 21:27:49 ID:???
どういたしまして
次回はAjaxで挑戦してください
989nobodyさん:2011/01/25(火) 21:31:05 ID:???
工エエェェ(´д`)ェェエエ工
990nobodyさん:2011/01/25(火) 21:52:19 ID:???
ェェエエ工JAXA
991nobodyさん:2011/01/25(火) 21:53:05 ID:???
>>971はもっと評価されるべき
992nobodyさん:2011/01/25(火) 21:55:17 ID:???
どこがだ
993nobodyさん:2011/01/25(火) 21:55:53 ID:???
>>991
どこを?
994nobodyさん:2011/01/25(火) 21:56:07 ID:???
>>991
データのロードがAjaxじゃないから
複数人が同時に書き込みした場合に不具合がある
995nobodyさん:2011/01/25(火) 22:00:48 ID:???
>>992-993
いや、おれAjaxのことよく知らなかったんだけど、
これ見て大まかな使い方を理解できて勉強になったんだ・・・
こういう風にノリでささっと作れる人ってすごいと思う
996nobodyさん:2011/01/25(火) 22:03:57 ID:???
文法ミスってレベルじゃねーぞ
997nobodyさん:2011/01/25(火) 22:24:30 ID:???
自演は見苦しいよ
998nobodyさん:2011/01/25(火) 22:26:35 ID:???
>>991
誰も評価してくれなかったから残念な気持ちはわかるけど
自己満足で終わらせといたほうが身のためだよ
999nobodyさん:2011/01/25(火) 22:28:11 ID:???
おれ993だけどそれは穿ちすぎじゃね・・・
1000nobodyさん:2011/01/25(火) 22:29:43 ID:???
> こういう風にノリでささっと作れる人ってすごいと思う
なんて書かれるともう自演にしか見えなくなってくる。
まぁどっちでもいいけどね。

というわけで続きはこちら。
【PHP】下らねぇ質問はID出して書き込みやがれ 103
http://hibari.2ch.net/test/read.cgi/php/1295956018/
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。