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

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

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

◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】

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

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

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

【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
2nobodyさん:2010/10/13(水) 12:02:14 ID:???
■過去ログ
【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/
【PHP】下らねぇ質問はID出して書き込みやがれ 89
http://pc11.2ch.net/test/read.cgi/php/1255263534/
【PHP】下らねぇ質問はID出して書き込みやがれ 88
http://pc11.2ch.net/test/read.cgi/php/1253061577/
【PHP】下らねぇ質問はID出して書き込みやがれ 87
http://pc11.2ch.net/test/read.cgi/php/1251447028/
3nobodyさん:2010/10/13(水) 12:02:54 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/10/13(水) 12:03:52 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/10/13(水) 12:04:42 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/10/13(水) 12:11:06 ID:???
>1.文字コードは何を使えばいいの?
> →1.UTF-8 2.EUC-JP のどちらか。迷うようなやつはShift_JISは使っちゃダメ。

もうUTF-8択一でいいじゃん
7nobodyさん:2010/10/13(水) 12:16:06 ID:???
うかつにUTF-8使うと〜が文字化けするからなぁ。
8nobodyさん:2010/10/13(水) 13:21:50 ID:???
それPHPの問題じゃなくてエディタの問題
9nobodyさん:2010/10/13(水) 13:25:46 ID:???
EUCは転送量が少ないからサイトによっては利点になるんだけどね
10nobodyさん:2010/10/13(水) 13:29:41 ID:???
11nobodyさん:2010/10/13(水) 13:45:58 ID:???
UTF-16まだ?
12nobodyさん:2010/10/13(水) 14:40:33 ID:???
1.文字コードは何を使えばいいの?
 →.基本的にUTF-8。次点でEUC-JP。文字コードで迷うようなやつはShift_JISは使っちゃダメ。

テンプレ変更するとこんな感じ?
PHP5.3からの非推奨関数について書いてもしょうがないしな。
13nobodyさん:2010/10/13(水) 14:48:38 ID:???
5.3と5.xの違いは欲しいね
5.3から名前空間とか無名関数とかいろいろ新機能追加きてるから
14nobodyさん:2010/10/13(水) 15:14:39 ID:mluMwUel
無料でPHPが使える良いサーバーを教えてください。
15nobodyさん:2010/10/13(水) 15:20:30 ID:???
land.to
16nobodyさん:2010/10/13(水) 15:22:18 ID:???
>>14
ものすごい勢いで誰かが無料サーバを探してあげるスレ13
ttp://hibari.2ch.net/test/read.cgi/hosting/1274577240/l50
17nobodyさん:2010/10/13(水) 15:45:57 ID:mluMwUel
あとでそこで聞いてみます。
あとxamppってやつで、インストールしたんですが、
http://phpspot.net/php/pgXAMPP%82%CC%90%DD%92%E81.html
のページの設定で絶対やる必要あるんですか?

そもそも拡張子だけのファイルなんて作れないんですが。
18nobodyさん:2010/10/13(水) 15:48:01 ID:???
>>17
>>15
19nobodyさん:2010/10/13(水) 15:49:03 ID:mluMwUel
>>18
そこも候補に入れときます。ありがとうございます。
20nobodyさん:2010/10/13(水) 15:55:23 ID:???
>>14
素のPHPだけ使えればいいの?
SQLとか不要?
21nobodyさん:2010/10/13(水) 16:05:02 ID:mluMwUel
>>20
SQLも使いたいですが、掲示板を作るのが目的です。
掲示板作るにはSQLは必須ですか?
22nobodyさん:2010/10/13(水) 16:06:27 ID:???
2ちゃんねるはSQL使ってない
23nobodyさん:2010/10/13(水) 16:07:55 ID:mluMwUel
すいません。
今日かなりの量の質問をしますが、許してください。
24nobodyさん:2010/10/13(水) 16:16:11 ID:???
早く下らねぇ質問しろや!
25nobodyさん:2010/10/13(水) 16:17:08 ID:???
DB使ったほうが管理は楽だが必須ではない。
普通ステップとしては、SQL覚えなきゃいけないDBへの読み書きよりも先に、
テキストへの読み込み書き込みをやるはずなので、
自然と最初はそっちで作ることになるんじゃない?
26nobodyさん:2010/10/13(水) 16:17:34 ID:???
レンタルサーバを使う前に自分のPCに開発環境を構築して
PHPを学んだ方が良いのではないでしょうか。
27nobodyさん:2010/10/13(水) 16:19:23 ID:mluMwUel
皆さんありがとうございます。
とりあえず自分の環境ではPHPを動くように設定しました。

SQLを使わないでもできるってことは、
データはテキストファイルに書き出して保存するってことでしょうか?
28nobodyさん:2010/10/13(水) 16:22:11 ID:mluMwUel
\nでも改行されませんでした。
<br>でしか改行できないのでしょうか?
29nobodyさん:2010/10/13(水) 16:27:34 ID:???
>>27
そうっすね

>>28
htmlの改行はbrだからね
\nってやってもソースが改行されてるに過ぎない
30nobodyさん:2010/10/13(水) 16:33:29 ID:mluMwUel
>>29ありがとうございます。

さっき上の方で文字コードの話が出ててUTF-8を使えっていうことになってましたが、
UTF-8でソース書いてブラウザで表示しようとしたら文字化けしました。
euc-jpも文字化けしました。
shift-jisだけ正常に表示されました。

一体どれを使えばいいのでしょうか?

ブラウザのエンコードをそれぞれの文字コードに設定すれば、正常に表示されはしましたが、
もし、UTF-8でソースを書いた場合、閲覧してもらう人にはいちいちブラウザのエンコード設定を
UTF-8にしてもらわないと駄目なのでしょうか?
31nobodyさん:2010/10/13(水) 16:38:11 ID:???
PHPじゃなく、HTMLを勉強した方がいいぞ
32nobodyさん:2010/10/13(水) 16:38:42 ID:???
>>30
htmlのヘッダに文字コードの指定をいれればいい
33nobodyさん:2010/10/13(水) 16:38:48 ID:mluMwUel
言い忘れましたが、HTMLとCSSはある程度使えます。
文字コードにはあまり詳しくはありませんが。
34nobodyさん:2010/10/13(水) 16:39:34 ID:???
>>33
ヘッダも書けないくせになにがある程度使えますだよ
35nobodyさん:2010/10/13(水) 16:39:45 ID:mluMwUel
>>31、32
ありがとうございます。
ヘッダに指定すれば、その文字コードで自動的にエンコードされるってことですか?
36nobodyさん:2010/10/13(水) 16:41:39 ID:???
>>35
自動的にというか、ブラウザにこれで表示しろって指定するってことな
この内容はphpの質問じゃないからhtmlのスレいけ
37nobodyさん:2010/10/13(水) 16:42:01 ID:mluMwUel
すいません。
ヘッダ部分はいつもコピペしてたので、あまり理解していませんでした。
基本的なタグなどは使えるんですけどね。

なので、「ほとんど使えない」ですね。失礼しました。
38nobodyさん:2010/10/13(水) 16:43:10 ID:mluMwUel
>>36
やはりブラウザ側でヘッダで指定した文字コードで表示してくれるってことですね。
ありがとうございました。
39nobodyさん:2010/10/13(水) 16:47:32 ID:???
>>27
掲示板作ったことある?
今までどうやって書き込みログを保存してきたんだ

俺の場合はDB使えるとこならDBで、無理なとこならdatファイル
直接開いたりするならsjisにしてcsv
40nobodyさん:2010/10/13(水) 16:49:17 ID:mluMwUel
>>39
掲示板は作ったことないです。
datファイルってことはバイナリファイルで保存しとくってことでしょうか?

C言語ならある程度扱えます。
41nobodyさん:2010/10/13(水) 16:50:43 ID:???
csvと違ってdatファイルという一般的に知られたファイルがあるわけじゃないぞ
ただのプレーンテキストのログファイルなんだからテキストファイルというべきだ
42nobodyさん:2010/10/13(水) 16:52:00 ID:???
>>40
またある程度使える発言か
掲示板は要はデータを読み出して表示、書き込まれた内容を保存、って出来りゃいいわけだから
データ自体はどんな形でもいいわけ
ファイルオープンについて勉強すりゃいいよ
43nobodyさん:2010/10/13(水) 16:53:11 ID:???
拡張子datは慣習みたいなもんだな
44nobodyさん:2010/10/13(水) 16:53:54 ID:mluMwUel
>>41-42

ありがとうございます。
ある程度発言は申し訳ないです。でもC言語だけはある程度っていえるぐらいのスキルはあります。
ファイルオープンについて勉強します。

本当にありがとうございます。
45nobodyさん:2010/10/13(水) 16:55:58 ID:???
ある程度自力で書いてみてわからなくなってからこいよ
掲示板の作り方を最初から最後まで教えろって話になるぞこれ
46nobodyさん:2010/10/13(水) 16:57:13 ID:???
C言語もfopenして書き込むよね、PHPもfopenして書き込むんだよ
47nobodyさん:2010/10/13(水) 16:59:17 ID:???
SQLを何だと思って使いたいと言ったんだろう
48nobodyさん:2010/10/13(水) 17:01:11 ID:???
SQLはある程度扱えます
49nobodyさん:2010/10/13(水) 17:02:01 ID:mluMwUel
>>45
そうですね。自重します
>>46
同じなんですね。助かりますね。
>>47
イメージ的に管理が楽かなと思いまして。。
50nobodyさん:2010/10/13(水) 17:03:22 ID:???
文法的にも似通った他の言語を経験してても
すぐにPHPが使えるかというとそうでもないよ
言語云々よりサーバサイドWebアプリケーションの開発経験があるかどうか
もしあるなら仕組みが分かってるぶんすんなり入れるはず
逆にPHPしか経験したことがない場合
JavaでのサーバサイドWebアプリケーション開発が結構すんなりできても
それ以外のアプリケーションの開発はそうもいかないはずだ
51nobodyさん:2010/10/13(水) 17:12:31 ID:???
余計なこと書くなよ
52nobodyさん:2010/10/13(水) 17:18:38 ID:???
はい51番さん自重ね
53nobodyさん:2010/10/13(水) 17:23:11 ID:mluMwUel
変数名の前後に半角スペースいるんですね。

めんどくさいです。
54nobodyさん:2010/10/13(水) 17:28:03 ID:???
>>53
日記はやめろ
質問だけにしとけ
55nobodyさん:2010/10/13(水) 17:28:29 ID:mluMwUel
改行は<br>でするのにわざわざ\nが付いてるコードがあるんですが、
\nは必ず要るんですか?
56nobodyさん:2010/10/13(水) 17:29:17 ID:???
自治厨気取りの荒らしさんこんちわーっす^^
57nobodyさん:2010/10/13(水) 17:29:25 ID:???
>>53
変数名の後ろにスペースやらいれなかったらどこまでが変数かわからなくね?
前には別にいらんよ
後ろに入れたくないならそこでいったん区切ればいい
58nobodyさん:2010/10/13(水) 17:30:37 ID:???
あまりにひど過ぎる
おそらく釣りだコレ
59nobodyさん:2010/10/13(水) 17:32:19 ID:???
>>55
ソースの可読性のためにね

たとえば
"<li>$a</li>"みたいなのでずらっと出力したら
ソースみたとき一行ででちゃう
"<li>$a</li>\n"ってやっておくと一個ずつ改行されて見やすくなるでしょ?
60nobodyさん:2010/10/13(水) 17:33:07 ID:mluMwUel
>>57
前にはいらなかったんですね。
ありがとうございます。

ほかの皆さんすみません。質問だけにします。
61nobodyさん:2010/10/13(水) 17:33:15 ID:???
文字定数に変数を入れないほうがいいかも
"<li>",$a,"</li>\n"
62nobodyさん:2010/10/13(水) 17:33:27 ID:???
>>57
何をいってんだ
$hogehoge=1;
とかできるだろ
63nobodyさん:2010/10/13(水) 17:34:40 ID:???
>>62
あーそういう意味か
echoとかで吐くときの話だと思いこんでた
64nobodyさん:2010/10/13(水) 17:35:47 ID:???
echo$a;
これも空白入りませんが
65nobodyさん:2010/10/13(水) 17:38:08 ID:???
>>64
後ろの話な
66nobodyさん:2010/10/13(水) 17:38:14 ID:mluMwUel
>>61
その書き方でやってもエラーがでて出来ませんでした。
本当にできますか?
67nobodyさん:2010/10/13(水) 17:39:08 ID:mluMwUel
>>59
ソースの可読性のためだったんですね。
なるほど、なるほど。ありがとうございます。
68nobodyさん:2010/10/13(水) 17:39:30 ID:???
あー違うわ
そうじゃなくて
ringoha$aKoarimasu
みたいなのを言ったんだよ
まあどうでもいいわ
69nobodyさん:2010/10/13(水) 17:40:24 ID:???
>>66
echoだったら.で切らないとダメじゃない?
70nobodyさん:2010/10/13(水) 17:44:44 ID:mluMwUel
>>69
ドットでいけました!ありがとうございます。
71nobodyさん:2010/10/13(水) 17:47:56 ID:???
前後にスペースって結局なにを言ってたんだろうな
例文なんかにあるif( $foo <= 10 )みたいな書き方でもみたのかな
もしこういうものを指してるなら可読性じゃない?自分の
72nobodyさん:2010/10/13(水) 17:53:11 ID:mluMwUel
>>71

printで表現してるサンプルがあって
print("abc $test です");
と変数名の前に半角スペースが空いてたんです。

なので、前後に半角スペースが必要なのかと誤認したわけです。
73nobodyさん:2010/10/13(水) 17:55:01 ID:???
$testdeath
74nobodyさん:2010/10/13(水) 17:56:20 ID:???
>>69
, が使えないのはprint
質問者はprintだったからエラーになっただけ
75nobodyさん:2010/10/13(水) 17:59:00 ID:???
>>74
サンキュー勘違いして覚えてたわ
76nobodyさん:2010/10/13(水) 18:00:01 ID:???
>>72
頼むからまずリファレンス読め
http://docs.php.net/manual/ja/langref.php
それか自分のお勉強スレ立ててやれ
77nobodyさん:2010/10/13(水) 18:01:07 ID:???
>>72
print "abc".$test."です";

これでいくね?
78nobodyさん:2010/10/13(水) 18:03:01 ID:mluMwUel
>>76
すいません。自重します。
>>77
それでいけました。
79nobodyさん:2010/10/13(水) 18:06:42 ID:???
printはやめましょう
echoを使いましょう
80nobodyさん:2010/10/13(水) 18:11:37 ID:???
>>79
この手のやつには理由も書かないとなぜですかって粘着されんぞ
81nobodyさん:2010/10/13(水) 18:13:34 ID:mluMwUel
>>79-80
調べました。
printは結果を返すが、echoは結果を返さない分若干速度が速いんですね。
あとechoは括弧をつけずに使った場合、カンマ区切りもできるということですね。
echoを使います。ありがとうございました。

何も調べずにすぐ聞くようなバカじゃありませんのである程度はご安心ください。
82nobodyさん:2010/10/13(水) 18:15:03 ID:mluMwUel
またある程度使っちゃいました。逝ってきます。
83nobodyさん:2010/10/13(水) 18:15:24 ID:???
ある程度って言葉をこんなに使いまくる人はじめてみたよ
84nobodyさん:2010/10/13(水) 18:16:40 ID:???
ある程度はある程度扱います
85nobodyさん:2010/10/13(水) 18:50:09 ID:???
なんで変数入れるなと言いつつ二重引用符
86nobodyさん:2010/10/13(水) 18:50:48 ID:dLoh96KB
$hoge;とだけ宣言されてるのはどういう意味がありますか?
var_dumpしてみるとNULLと返ってきますが
$hoge = null;と等価ということでしょうか?
87nobodyさん:2010/10/13(水) 19:04:58 ID:???
アルテイダ
88nobodyさん:2010/10/13(水) 19:07:16 ID:???
89nobodyさん:2010/10/13(水) 20:04:10 ID:???
スレが異様に伸びてると思ったら
ある程度さんが荒らしていったのかよ
90nobodyさん:2010/10/13(水) 20:10:00 ID:???
PHPスレの新キャラ
ある程度さん
91nobodyさん:2010/10/13(水) 20:24:17 ID:???
>>86
何の作用のない、ただの式
92nobodyさん:2010/10/13(水) 21:59:42 ID:4AAPZVZR
xdebugをコンソールから使う方法を教えてください
93nobodyさん:2010/10/13(水) 23:22:59 ID:???
>>92
コンソールって何のコンソール?
94nobodyさん:2010/10/13(水) 23:25:51 ID:???
コマンドプロンプトじゃない?
95nobodyさん:2010/10/13(水) 23:28:49 ID:mluMwUel
PHPって大文字と小文字区別しますよね?

クラス内の変数ではなぜvarがいるのでしょうか?

こんなコードがありました。
print($lectur[$a]). "?\n";

この$#160ってなにを表してるんですか?
96nobodyさん:2010/10/13(水) 23:29:56 ID:mluMwUel
?ですね。間違えました。
97nobodyさん:2010/10/13(水) 23:31:26 ID:mluMwUel
あれ?はてなマークになりました。

はてなマークを表した記号だったんですか。

2ちゃんありがとうございます。
98nobodyさん:2010/10/13(水) 23:32:40 ID:???
ワロタ
99nobodyさん:2010/10/13(水) 23:33:56 ID:???
>>95
3つの質問なの?分かりにくいよ
100nobodyさん:2010/10/13(水) 23:34:17 ID:???
>>95
varを使うのはやめましょ
101nobodyさん:2010/10/13(水) 23:36:15 ID:???
ミス

>>95
varを使うのはやめましょう
publicを使いましょう
102nobodyさん:2010/10/13(水) 23:38:51 ID:???
>>95
?は三項演算子で検索しましょう
103nobodyさん:2010/10/13(水) 23:42:34 ID:???
php4だったらどうすんだよ
104nobodyさん:2010/10/13(水) 23:42:41 ID:mluMwUel
>>101
ありがとうございます。
C++みたいにprivate protected publicの指定ができるんですね。
ということは継承もできるってことか。

varってpublicあつかいになるんですね。
勉強になりました。

>>102
ありがとうございます。三項演算子でググリます。


う〜ん。なぜかヤフーで検索できないですね。
グーグルいきます。
105nobodyさん:2010/10/13(水) 23:43:19 ID:???
public は書かなくてもいいけどな。

なぜ書く必要があるかって聞かれたら、アクセス権を明確にするためじゃない?
106nobodyさん:2010/10/13(水) 23:43:38 ID:???
ID:mluMwUelさんは、PHPの参考書一冊くらい読み終えてから質問したほうがいいと思う。
107nobodyさん:2010/10/13(水) 23:44:46 ID:???
PHPでまともにOOPやってる人なんていないから別に無くてもおk
108nobodyさん:2010/10/13(水) 23:44:56 ID:mluMwUel
>>106

迷惑ですよね。立ち読みします。
109nobodyさん:2010/10/13(水) 23:47:34 ID:mluMwUel
アパッチのせいでヤフーが見れなくなることってありますか?
110nobodyさん:2010/10/13(水) 23:49:45 ID:???
>>102
三項演算子の質問じゃないんじゃない?

&#160;は&nbsp;と同じで半角スペースを表す特殊文字だよ。
http://www.htmq.com/text/index.shtml

ところで、三項演算子はC/C++にもあるじゃん?
「C言語だけはある程度っていえるぐらいのスキルはあります」発言は何だったんだ?
111nobodyさん:2010/10/13(水) 23:52:41 ID:mluMwUel
三項演算子って

int a=0;
(abc) ? a=1:a=2;

ってやつですよね?
これのどこが関係してるんですか?
112nobodyさん:2010/10/13(水) 23:54:02 ID:???
なんだ嘘つきか
113nobodyさん:2010/10/13(水) 23:57:28 ID:???
" ? \n" はただの文字列
" ? \n" はただの文字列
" ? \n" はただの文字列
" ? \n" はただの文字列
" ? \n" はただの文字列

114nobodyさん:2010/10/14(木) 00:50:55 ID:???
>>109
yahooのDNSトラブルみたい。
google使うよろし。
115nobodyさん:2010/10/14(木) 09:38:21 ID:???
三項演算子関係ないのに 102 がややこしくしたなw
116nobodyさん:2010/10/14(木) 09:49:29 ID:???
>>93-94
意味分からないなら答えなくていいよ
117nobodyさん:2010/10/14(木) 10:43:57 ID:???
たまに全く理解してないのにレクチャー始めるアホっているよな
118nobodyさん:2010/10/14(木) 10:49:35 ID:???
>>116-117
おまえらが教えてやれよw
俺はわかんねーから答えられねーけどwww
119nobodyさん:2010/10/14(木) 10:53:45 ID:???
>>117はいつもの煽り厨でゴミ野郎だが
>>116は質問者のオナニー質問に付き合ってやる必要はないよと
親切に言ってやってるだけだ
120nobodyさん:2010/10/14(木) 10:57:05 ID:???
>>116は質問者が回答者を小馬鹿にしてる風を装って、回答がもらえないようにしようと画策してるようにもみえるな
121nobodyさん:2010/10/14(木) 11:00:49 ID:???
>>93>>94が悔しくて顔真っ赤に反論してるようにもみえるな
122nobodyさん:2010/10/14(木) 11:03:00 ID:???
>>116は質問者だったみたいだなw
123nobodyさん:2010/10/14(木) 11:08:37 ID:???
三項演算子でググレwwwwwww
124nobodyさん:2010/10/14(木) 11:09:03 ID:???
顔真っ赤なのは三項演算子とか言ってたヤツだろ
125nobodyさん:2010/10/14(木) 11:10:23 ID:???
まーたチンピラか
126nobodyさん:2010/10/14(木) 11:10:36 ID:???
マジレスするとデバッグツールはスレ違いだね
127nobodyさん:2010/10/14(木) 11:11:07 ID:???
>>102さんですか、おはようございます!
128nobodyさん:2010/10/14(木) 11:12:17 ID:???
てことは>>127がアルテイダー?
129nobodyさん:2010/10/14(木) 11:28:03 ID:???
ザコはすぐムキになって書き込むから面白いねw
130nobodyさん:2010/10/14(木) 11:29:53 ID:???
ザコとか言っちゃうのマジカッケーっすwwww
131nobodyさん:2010/10/14(木) 11:39:27 ID:???
もはやどれが誰だかわからんな
感嘆符つけるのはある程度さんっぽい
132nobodyさん:2010/10/14(木) 11:45:17 ID:???
ここは雑談も兼ねてるからしょうがない
133nobodyさん:2010/10/14(木) 12:09:22 ID:???
ここはある程度雑談も扱えるんですか?
134nobodyさん:2010/10/14(木) 12:09:54 ID:???
低年齢層が多いからこうなるのは仕方のないこと
135nobodyさん:2010/10/14(木) 12:10:52 ID:???
php叩きが便乗して沸いてきたなw
136nobodyさん:2010/10/14(木) 12:25:23 ID:???
総合雑談スレがPHPの話題ばっかでうざい

PHP雑談用のスレが無いから作ろう

PHPのスレ多すぎだから雑談だけで1スレ作るな

くだ質が雑談も兼ねる
137nobodyさん:2010/10/14(木) 13:01:34 ID:???
WebPeog初心者スレいけばいいのにな
あっち過疎ってるしPHPの話題ばっかだし
13892:2010/10/14(木) 13:09:15 ID:qNii33ON
自己解決しました
139nobodyさん:2010/10/14(木) 13:10:50 ID:???
>>137
ウェブペオグ?ウェブペヤングって読むのかな?

マジレスすると、僕はある程度○○言語が扱える(コピペだけど)みたいなやつらは自分を初心者だと思っていないから初心者スレにはいかない
140nobodyさん:2010/10/14(木) 13:45:31 ID:???
ここタイトルに初心者こそついてないが初心者向けなスレなわけだが
141nobodyさん:2010/10/14(木) 13:47:21 ID:???
タイトル的に何言っても平気だろとは思われるだろうな
元々隔離スレだからしょうがないが
142nobodyさん:2010/10/14(木) 13:52:34 ID:???
俺がこのスレで電卓作ってますなんて質問してからもう5年以上経つのか
あのときはみんな親切に教えてくれたな
143nobodyさん:2010/10/14(木) 14:01:51 ID:???
ゆとり世代の人口が日増しに増えていくから来年はもっと荒れるぞ
144nobodyさん:2010/10/14(木) 14:06:31 ID:???
>>140
わけだがとか言われても、質問者が理解できてない限り自分は初心者じゃないと思ってる初心者がこっちにくるのはしゃーない
145nobodyさん:2010/10/14(木) 14:52:53 ID:???
初心者スレとわかってて回答者風情で居座ってるだけだろ初心者が
146nobodyさん:2010/10/14(木) 14:56:55 ID:???
>>136
それは違うぞ
くだ質も総合スレも内容がさほど変わらないのと
総合スレはすぐ廃れて消えるからだ
147nobodyさん:2010/10/14(木) 15:03:28 ID:???
>>145がなに言ってるか誰かエンコードしてくれ
まったく意味がわからん
148nobodyさん:2010/10/14(木) 15:05:53 ID:???
初心者を刺激するとすぐ>>147みたいなのが枠
このスレでは無理に回答しようとする初心者回答者には絡まない事
149nobodyさん:2010/10/14(木) 15:13:15 ID:???
>>148
おまえさっきから誰と戦ってんの
150nobodyさん:2010/10/14(木) 15:13:25 ID:???
くだ質なんだし、回答が間違ってたら他の回答者が正してあげれば良かろう
151nobodyさん:2010/10/14(木) 15:14:10 ID:???
自分に都合の悪いレスは全て本人乙とかおめでたいね
152nobodyさん:2010/10/14(木) 15:15:40 ID:???
何か敵が見えてる人がいるみたいだなw
153nobodyさん:2010/10/14(木) 15:17:47 ID:???
アンカーなしで初心者がどうのと書いてるやつどーせ同じやつだろ
書き方が高慢であほっぽいからすぐわかる
154nobodyさん:2010/10/14(木) 15:22:24 ID:???
こいつすべて本人乙って誰に言われたんだ?w
脳内敵がいる人は大変だな
155nobodyさん:2010/10/14(木) 15:23:16 ID:???
過疎板で勢い100超えとかちょっと落ち着け
156nobodyさん:2010/10/14(木) 15:24:14 ID:???
>>155
元気な初心者が来てるみたい
157nobodyさん:2010/10/14(木) 15:30:39 ID:???
勢い出すなら今しかねえ
158nobodyさん:2010/10/14(木) 15:30:54 ID:dCVCx140
今日の夜中ぐらいからまた質問させていただきます。

よろしくお願いします。
159nobodyさん:2010/10/14(木) 15:34:10 ID:???
この板は削除依頼がでるような板では無いのだが(だからID非表示板なわけだし)
不快な人がいればガイドラインに従い削除依頼を出せば良い

php:Webプログラミング[レス削除]
http://qb5.2ch.net/test/read.cgi/saku/1030165467/
160nobodyさん:2010/10/14(木) 15:49:00 ID:???
過疎板だから荒れてもたかが知れてるw
161nobodyさん:2010/10/14(木) 15:56:30 ID:???
>>158
ブログ作るか新スレ立てててそっちでやってくれんかね
1人のために100レス以上もリソース割くのは無理
162nobodyさん:2010/10/14(木) 16:19:15 ID:???
perlはパーミッションがうざいがphpはセーフモードがうざいな
163nobodyさん:2010/10/14(木) 16:23:24 ID:???
パーミッションにperlもPHPも関係無いと思うが?
164nobodyさん:2010/10/14(木) 16:25:41 ID:???
cgiと察してくれ
165nobodyさん:2010/10/14(木) 16:30:46 ID:???
CGIにperlもPHPも関係無いと思うが?
166nobodyさん:2010/10/14(木) 16:42:34 ID:???
perlのcgiだよ
俺はphpはcgiとして動かしたくないからね
だからセーフモードがうざいって言ってるんだ
167nobodyさん:2010/10/14(木) 16:44:54 ID:???
園児か?ツッコミが餓鬼臭い
168nobodyさん:2010/10/14(木) 16:52:25 ID:???
園児がphpできたら褒めるとこだろ
169nobodyさん:2010/10/14(木) 16:56:43 ID:???
>>166
良かったら、cgiでphpを動かしたくない理由と
セーフモードがうざいと思う理由を教えてくれないか?

俺はSuExec使えないとダメだからcgiでないとダメだった
今はsuPHP使ってる
170nobodyさん:2010/10/14(木) 17:04:51 ID:OBF/v79J
正規表現に苦戦しています。
アドバイスください。
よろしくお願いします。

<?php
$str =<<<EOL
*この行にh2タグを付ける
あああああ

*この行にh2タグを付ける
いいいいい

**この行にh3タグを付ける
ううううう
EOL;

$str = preg_replace('/^[*]{2}(.*)/', '<h3>$1</h3>', $str);
$str = preg_replace('/^[*](.*)/', '<h2>$1</h2>', $str);

echo $str;
171nobodyさん:2010/10/14(木) 17:07:07 ID:???
>>170
何をどうしたいのか誰が読んでも分かるように書いて
172nobodyさん:2010/10/14(木) 17:09:58 ID:???
>>1が読めないならpukiwikiのソースでも見ればいいんじゃね
173nobodyさん:2010/10/14(木) 17:11:17 ID:???
pukiwikiをパクろうとしてたのか
174nobodyさん:2010/10/14(木) 17:13:50 ID:???
>>169
cgiで動かしたくないのは設定が面倒ってだけ
セーフモードはファイルの所有権あたりがうざい
175nobodyさん:2010/10/14(木) 17:26:46 ID:???
>>170
$str = preg_replace("/^\*{2}([^\*\r\n]?[^\r\n]*)/m", "<h3>$1</h3>", $str);
$str = preg_replace("/^\*([^\*\r\n]?[^\r\n]*)/m", "<h2>$1</h2>", $str);
176nobodyさん:2010/10/14(木) 17:28:39 ID:OBF/v79J
>>171-173
はてな記法を真似しようとしてました。
pukiwikiにも同じ処理があるってこと忘れてました。
ソース読んだら見事に解決しました。
どうもありがとうございました。
177nobodyさん:2010/10/14(木) 17:29:06 ID:???
>>174
ありがとう
178nobodyさん:2010/10/14(木) 17:29:21 ID:OBF/v79J
>>175
よく読んで勉強します。
どうもありがとうございます。
179nobodyさん:2010/10/14(木) 21:11:40 ID:eYKuA3uM
本番環境(詳細不明)では動いているPHPプログラムが、
自分が作ったテスト環境(IIS7,PHP5)で、特定のあるページだけが正常に動作しません。

ライブラリをincludeしているところがうまく動いていないようで、
「〜〜<BR>〜〜」というコメント箇所の
「>」の次の文字からブラウザに文字列として表示されてしまいます。

なにかヒントをちょうだいできれば助かります。
180nobodyさん:2010/10/14(木) 21:17:55 ID:???
>>179
なんかタグ排除みたいな処理がどっかに挟まれてんじゃね?
181nobodyさん:2010/10/14(木) 21:34:20 ID:???
PHPロジックが終了したと判断されてるんじゃね
182nobodyさん:2010/10/14(木) 22:41:26 ID:bKgolB3+
POSTで同じキーのデータが送信された場合、$_POSTや$_REQUESTで
受け取るデータは、どのようになるのでしょうか。

多重配列等になるのでしょうか。それとも一つのデータしか受け取れない
のでしょうか。

後者の場合、同じキーのデータの受け取り方をご教示いただけますと
幸いです。
よろしくお願いいたします。
183nobodyさん:2010/10/14(木) 22:53:58 ID:???
>>182
キー名の後ろに[]をつけるんだ
184nobodyさん:2010/10/14(木) 22:57:36 ID:???
そこまで想像する力があるなら試せばいいじゃない
185nobodyさん:2010/10/14(木) 23:03:10 ID:qQp8Fcw+
成功時にtrue 失敗時にfalseを返す関数があります
失敗時にとわざわざ書かれてるということは失敗するというのを想定するべきなのでしょうか?
例やユーザノートを見てもif-else文で失敗したときの処理は書かずに
成功のみを想定した(if-else文がない)コードが書かれている関数が見受けられます
186nobodyさん:2010/10/14(木) 23:05:12 ID:???
>>185
例えばどんなの?
187nobodyさん:2010/10/14(木) 23:15:15 ID:bKgolB3+
>>183
ありがとうございます。

HTML側の変更がかけられないのですが、PHP側でどうにか
することは不可能でしょうか?

度重なる質問ですみません。
188nobodyさん:2010/10/14(木) 23:16:13 ID:0C27ra7d
PHPでgoto文が使えるようになって大変喜んでおります。
これでcontinueやらbrakeやらわけのわからない単語を使わなくてすみます。
関数なんて使わなくても全部gotoで処理してgotoで元の位置に戻るようにすればいいですよね?
189nobodyさん:2010/10/14(木) 23:24:50 ID:???
>>188
釣りはやめたまえ
190nobodyさん:2010/10/14(木) 23:31:47 ID:???
goto では関数を再現できないよ
なぜなら戻る位置を指定できないからだ!!!!!!
191nobodyさん:2010/10/14(木) 23:37:10 ID:???
>>187
具体的にどういう状況なの?
192nobodyさん:2010/10/15(金) 00:35:17 ID:???
以下のようなロジックを組んでいます。
GETで値に"02"というデータを送信しています。
ただ2行目で表示される値は"02"なのに対し
3行目で表示されるのは"2"となってしまいます。
変数にセットした値も"02"という文字列として受け取りたいです。
何が原因でこのような動作をしているのでしょうか?

$region = (string) $_GET['region'];
echo $_GET['region'];
echo $region


以上回答いただけますでしょうか?
193nobodyさん:2010/10/15(金) 00:41:57 ID:???
変なキャストするから
GETとかREQUESTとかPOSTとかそこらへんに入るのは全部文字列だぞ
入ってるかどうか解らないっていうのがあるなら
先にセットされてるか確認すべきだ
194nobodyさん:2010/10/15(金) 00:48:55 ID:???
キャストしなくても頭の0が取れてしまうのですよね・・・。
195nobodyさん:2010/10/15(金) 00:50:08 ID:Ypm82kqs
>>191
APIから受け取るものが、a=1&a=2&a=3 といったものなんです。

これがpostで送られると連絡受けまして質問させていただきました。
196nobodyさん:2010/10/15(金) 00:54:10 ID:???
$region = "";
としておく
197nobodyさん:2010/10/15(金) 00:54:54 ID:???
>>195
それどこのAPI?
素人が作った物なら窓から投げ捨てろ
198nobodyさん:2010/10/15(金) 00:56:40 ID:???
コード
<?php
$region = (string) $_GET['region'];
echo $_GET['region'];
echo $region;

リクエスト
http://localhost/test.php?region=02

結果
0202
199nobodyさん:2010/10/15(金) 01:17:43 ID:???
$region = sprintf('%02d', $_GET['region']);
ではダメなのかぃ?
200nobodyさん:2010/10/15(金) 01:24:24 ID:???
↑文字列だっつうの
201nobodyさん:2010/10/15(金) 01:28:04 ID:???
↑?
202nobodyさん:2010/10/15(金) 01:28:13 ID:???
わざわざ(string)でキャストしなくても元から文字列か配列だけど
php.iniの設定で勝手にキャストする項目あったかな
203nobodyさん:2010/10/15(金) 02:13:48 ID:???
$region = "";
これで初期化しとけば
204nobodyさん:2010/10/15(金) 03:19:25 ID:0dyZ6dAO
借りているサーバーのPHPバージョンが5.1で、json_decodeが使えないため
Services_JSONを使おうとしているのですが、json_decodeなら第二引数にTRUEを指定して連想配列にできるのですが
Services_JSONではできないようです。
パースしたものををechoで表示させたいのですが、どのようにすればできますか?
205nobodyさん:2010/10/15(金) 05:45:46 ID:???
質問に質問で聞きかえすなら答えるなよ
見ててイラッとするな
206nobodyさん:2010/10/15(金) 08:50:07 ID:???
>>192です
返事が遅くなりまして申し訳ありませんでした
頂いた回答を確認させて頂きます
有難うございました
207nobodyさん:2010/10/15(金) 09:21:10 ID:???
>>204
JSONはそんなに複雑じゃないから自分の好みに合ったパーサを
書けばいいんじゃない?
208nobodyさん:2010/10/15(金) 09:36:14 ID:3S26wDlW
よくパスワードをmd5やsha1など不可逆で圧縮しなさいと
解説サイトに記載があります。

不可逆なら他人が見ても解らないから安全だという説明ですが、
復元可能な暗号でもファイルが流出したりハッキングされない限りは
特に問題ないのではないでしょうか?
逆に、そういう事態なら不可逆にしていても問題出てくると思いますし・・・
209nobodyさん:2010/10/15(金) 10:28:58 ID:???
例えば会員のパスワードとか、
不可逆にすれば、システム管理者側でも会員のパスワードがわからなくなるので、
内部犯行が減るからとか。
210nobodyさん:2010/10/15(金) 11:23:54 ID:???
【OS名】Windows 2003
【PHPのバージョン】Microsoft-IIS/6.0

レンタルサーバで、SSLは共用です。

httpの時にhttpsへリダイレクトさせたいのですが、httpsの場合でも

$_SERVER["HTTPS"] = 'off'
$_SERVER["SERVER_PORT"] = 80

となっており、httpsなのかどうかが判断できません。
なにか判断させる方法はあるでしょうか?

phpinfo()を眺めると、httpsの時だけ $_SERVER["HTTP_X_FORWARDED_SERVER"]
があるので、他に方法が無ければそれで判断するしか無いかなと思ってます。
211nobodyさん:2010/10/15(金) 11:24:00 ID:???
ハッキングよりも内部の犯行の方が遥かに多い気がする、もちろん私の主観ですがね。
212210:2010/10/15(金) 11:25:04 ID:N7BOKkib
すみませんID出し忘れました
213nobodyさん:2010/10/15(金) 11:31:29 ID:???
>>210
解答じゃないけど昔その課題にトライしたけど無理だった気がするな
だからあなたの言うとおり
httpとhttpsでアクセスしたときの$_SERVER $_ENVの違いを見て判断しようとしたけど
ブラウザごとに結果が異なってきてどうもうまくいかなかったので
結局よく見るSSLでログインするボタンみたいな感じのを設置して
ユーザに選択してもらうっていう結論に至った
俺もズバリな解決方法あるなら知りたいな
214nobodyさん:2010/10/15(金) 11:33:12 ID:60tWkVej
IIS使ったこと無いけど それ本当にhttpsで通信してる???
215nobodyさん:2010/10/15(金) 11:43:20 ID:N7BOKkib
>>213
なるほど、参考になります。
とりあえず$_SERVER["HTTP_X_FORWARDED_SERVER"]使う方向で考えます

>>214
SSL証明書をブラウザから見られてますのでhttpsで通信してます。
IISというより共用SSLの問題なのかもしれません。
共用だとhttp/httpsの時で以下のようなURLになってしまいます。

http://example.com
https://ssl用のなんとか.com/ssl/555/example.com/

ポートが443ならそこで判断したんですけどね。
216nobodyさん:2010/10/15(金) 12:07:10 ID:???
たぶん間にSSLをほどく箱が入ってるパターンだな。ロードバランサとか
使ってると良くある。そういう構成ならSSLかどうかの判定方法とかは
レンサバのマニュアルに書いてあるんじゃねーの? 書いてなかったら
問い合わせていいレベルだと思うが。
217nobodyさん:2010/10/15(金) 12:27:25 ID:???
>>210
URLが違うなら、htaccessでリダイレクトは?
218nobodyさん:2010/10/15(金) 12:58:50 ID:N7BOKkib
>>216
「プログラムの記述についてはお答えできません」との事です。

>>217
IISなうえにレンタルサーバなので、BASIC認証はできるんですが、それ以外は無理そうです

一応$_SERVER["HTTP_X_FORWARDED_SERVER"]でなんとかなりそうなので
テストを重ねて平気そうならこれでいきたいと思います

みなさんありがとうございました。
219nobodyさん:2010/10/15(金) 14:23:37 ID:???
これからPHP勉強するんですが
時代遅れですか?
220nobodyさん:2010/10/15(金) 14:25:11 ID:???
はい、時代おくれです
lispをやりましょう
221nobodyさん:2010/10/15(金) 14:52:35 ID:???
phpのGDライブラリを使ったことがある方に質問です。
Ubuntu10.04LTSにphp5-gdをapt-getでインストールしたのですが
phpinfoには反映されてないのか出てきません。
apache2の再起動のほかに設定することあるんでしょうか?

PHPのバージョンは5.3.2-1ubuntu4.5です。
222nobodyさん:2010/10/15(金) 15:03:04 ID:???
そういやPerlが流行った2000年代前半
後半に流行ったPHP
2010年代PHPの次世代はなんだね?
考えたこともなかったがなんか話題にあがってるのあるっけ?
223221:2010/10/15(金) 15:04:34 ID:???
Ubuntu再起動したら、有効になったorz
スレ汚しスマソ
224nobodyさん:2010/10/15(金) 16:37:09 ID:???
PHP6
225nobodyさん:2010/10/15(金) 16:41:31 ID:???
GoogleのGoっていうのにすこーし注目してるが
Python同様どうみてもライトユーザ向きではないな
しばらくはPHPで安泰ですね
226nobodyさん:2010/10/15(金) 19:52:44 ID:???
良い無料サーバ教えてください。
227nobodyさん:2010/10/15(金) 22:04:04 ID:e2zhTAp1
すいません質問お願いします(*_ _)

友達の美容院のサイト頼まれて、
「管理画面からシフト登録して、スタッフシフトがお客さんから確認できるようにしたい」
との事なんですが、どんなようなシステムを考えたら良いのでしょうか。。

やりたい事はこんな感じです。
1.
スタッフ山田さんは毎週月/水/金が出勤だからそのように登録(管理画面から)出来る = 以後ずーっと山田さんは月/水/金になると出勤スタッフ一覧に表示。
2.
10/20の水曜日は山田さんがお休みしたいとの事なので、その日のみ表示しないようにする。
3.
10/20に休んだ代わりに10/24出勤になったので、反映させたい。

(1)はDBにスタッフ用のテーブルを作って、どっかのフィールドに出勤曜日を入れとけばいいのかな?
と思ったのですが、すると(2)や(3)の時にどーすんだろ?と・・・。


通常こういったシフト管理システムとかって、どんなようなロジックで構成されるモノなのでしょうか?
ヒントだけでもいただけると死ぬほどありがたいです('A`)
228nobodyさん:2010/10/15(金) 22:26:20 ID:???

スタッフテーブルに週フィールド作る
1,2,4,8といったフラグ具合でね


休日フィールド作る
カンマ区切りなんかで適当に


1と2を調べて翌日休むかどうか決める

はいおわり
229227:2010/10/15(金) 22:46:20 ID:e2zhTAp1
>>228

レスありがとうございます!
休む日の日付を取得して、それを「休日フィールド」に突っ込んどく、というカンジです?
なんかイレギュラーな出勤や休日が多いととりとめもなくなっちゃう(その都度「休日フィールド」やら「この日は特別に出勤!フィールド」やらに日付を追加、だんだん増えてく)ような気がするんですが、「DBはそんなにヤワなモノではない!」って事なんでしょうか。

なにぶんpgは初心者なんでおかしなこと言ってたらホントごめんなさい(*_ _)
230nobodyさん:2010/10/15(金) 22:51:36 ID:???
気になるならcronで毎月消せばいいじゃん
231nobodyさん:2010/10/15(金) 22:58:23 ID:???
給与システム連動とかいろいろあんなら
月次更新でスタッフテーブルのフィールドを基に
翌月のシフトデータを専用テーブルに吐き出す
当月の急な休みとか出勤はその都度書き換えれば良いだけ

はいおわり
相談料6000円になります
232nobodyさん:2010/10/15(金) 23:13:10 ID:???
>>227
1 → 出勤曜日テーブル(A)を作る

2,3 → 不定出勤日/休日テーブル(B)を作る

テーブルBに対象日のデータがあればそれを優先する。
なければテーブルAのデータを使う。
233nobodyさん:2010/10/15(金) 23:17:46 ID:e2zhTAp1
>>230さん、 >>231さん、 >>232さん
ありがとうございます!

いろいろ方法はあるんですね・・・。
教えていただいた3通り、調べながら色々試してみます!

ちょっと希望が見えてきたカンジです、ありがとうございました!!

 
234nobodyさん:2010/10/15(金) 23:58:11 ID:wodrVARb
教えて欲しいのですが
index.phpに

<form action="2.php" method="post">

(略)

<select name="abcde" size="10">
<option value="http://123.com" selected>一番</option>
<option value="http://456.net"> 二番</option>
<option value=http://789.jp> 三番</option>
</select>

(略)

っと書いて、2.phpに

<form action="○○○" method="post">

○○○の部分ににindex.phpの三択で指定したURLを自動的に取得できるようにしたいのですが
○○○の部分にはどう記入すればいいのでしょうか?
235nobodyさん:2010/10/16(土) 00:01:39 ID:???
>>234
$_POSTでググりなされ
236nobodyさん:2010/10/16(土) 00:01:50 ID:???
jsで強引に突っ込めばいい
237nobodyさん:2010/10/16(土) 00:05:00 ID:???
>>227-233
一つのテーブルに詰め込む人がよくいるけど、
複数のテーブルにしたほうがいいと思う。
238nobodyさん:2010/10/16(土) 00:07:00 ID:???

どれもが別テーブルにしてるぞ
239nobodyさん:2010/10/16(土) 00:18:07 ID:YK7HI7ry
>>235
もう少しヒントを教えてください
240nobodyさん:2010/10/16(土) 00:23:15 ID:???
だからjsでつっこめって


どうしても$_POSTがいいのか?
ならこうすれば?wwwww

echo <from action="$_POST['abcde']">



そしておまえはxssの餌食になるのであった

241nobodyさん:2010/10/16(土) 00:37:57 ID:???
<php?
$url = $_POST['abcde'];
?>
<form action="<?php print ($url); ?> " method="post">
242nobodyさん:2010/10/16(土) 00:39:04 ID:???
あ・・・<?
243nobodyさん:2010/10/16(土) 00:45:46 ID:YK7HI7ry
ありがとうございます!
やっと完成しました。
244nobodyさん:2010/10/16(土) 01:08:54 ID:gWKvdlCe
1〜10文字の、ひらがな、漢字、全角カタカナ、全角英数字 という
チェックをかけるため、下記の正規表現をぐぐりながら書いてみた
のですが、どうも正常に動作しません。

if(!(preg_match('/[ぁ-んァ-ヴーa-zA-Z0-9]{1,10}/u', $_REQUEST['text']))){
  errot();
}

恐れ入りますが、ご教示いただけますと、幸いです。
もし他に何か方法があればそちらを教えていただけますと幸いです。
245nobodyさん:2010/10/16(土) 01:09:42 ID:???
utf-8
246nobodyさん:2010/10/16(土) 01:11:27 ID:???
> errot();
何だかエロいなw
247244:2010/10/16(土) 01:15:53 ID:gWKvdlCe
>>245
1つ上で
$_REQUEST['text'] = mb_convert_encoding($_REQUEST['text'], "UTF-8", "SJIS-win");
をしていて、ソースがUTF-8のため/uオプションをつけているのですが、
これがいけないのでしょうか。
すみませんがご教示ください。

>>246
すみません、、errorでしたね。。
248nobodyさん:2010/10/16(土) 01:27:40 ID:???
>>247
「正常に動作しません」とは具体的に何がうまくいかないのかな。
うまくいく文字列、うまくいかない文字列があれば例示すべし。
ちなみに>>244のままだと文字列の一部に全角文字が含まれてれば通過するんじゃないかな。
249nobodyさん:2010/10/16(土) 01:59:46 ID:???
「全角」をTRUEとするなら
!preg_match('/[a-zA-Z0-9]{1,10}/u',
じゃ、ダメなん?
250nobodyさん:2010/10/16(土) 02:04:46 ID:???
>>238
>>228は同じテーブルっぽくない?

>>243
>>241の書き方はXSSという攻撃の対象になり得るので、下の用にしましょう。

<php?
$url = htmlspecialchars($_POST['abcde'], ENT_QUOTES);
?>
<form action="<?php echo $url; ?> " method="post">
251nobodyさん:2010/10/16(土) 02:07:57 ID:???
<php?
252nobodyさん:2010/10/16(土) 02:10:02 ID:???
>>249
それだと{1,10}が意味をなさねぇだろ
253nobodyさん:2010/10/16(土) 02:10:43 ID:???
>>241=251
254nobodyさん:2010/10/16(土) 02:14:10 ID:???
?>
255nobodyさん:2010/10/16(土) 02:19:25 ID:???
>>250
XSS理解してんの?
256nobodyさん:2010/10/16(土) 02:50:29 ID:???
>>250
htmlspecialchars使えば万事OKではない
htmlspecialcharsのデフォルトの文字コードはISO-8859-1、php.iniの文字コードとスクリプトの文字コードが食い違うとXSS可能
なのでちゃんと第三引数まで指定すること

あと、>>234の場合だと2バイト文字を含まないのでctype_printで先にチェックしておく
2バイト文字を含むならmb_check_encodingでチェック、これもちゃんと第二引数まで指定する
257nobodyさん:2010/10/16(土) 03:10:26 ID:???
つーか、それ以前に$_POST['abcde']で得たURLを
直接<from action="〜">に再投入することが問題。
258nobodyさん:2010/10/16(土) 03:15:03 ID:???
そういう場合もあるだろうさ
そのときにどうセキュリティ対策するかという話
259nobodyさん:2010/10/16(土) 03:21:54 ID:???
であればセキュリティ対策のしようがない。
htmlspecialchars掛けたって偽装URLは排除しようがない。

>>234のようにあらかじめURLの選択肢が決まっているのであれば
そのURLを直接送信せずに選択肢番号のみを送信し、受け取った 2.php 内で
その番号に応じたURLを埋め込むような仕様にすべき。
260nobodyさん:2010/10/16(土) 03:45:00 ID:???
POSTなら問題にはならない
他人にはURLとして誘導できないからな
261nobodyさん:2010/10/16(土) 04:16:38 ID:???
ならhtmlspecialcharsだって意味が無い。
クリックした本人にしか影響がないわけだからな。
XSSを考慮するなら、偽のindex.phpを用意して本物の 2.php にPOSTするような
攻撃方法も考慮すべき。
262nobodyさん:2010/10/16(土) 04:18:40 ID:???
間違えた。
前半2行は無視してくれ。
263nobodyさん:2010/10/16(土) 04:31:25 ID:???
>>260
POSTもGETも関係ない、htmlが置けるスペースがあればPOSTで任意のデータを他人に送らせれる
264nobodyさん:2010/10/16(土) 04:37:03 ID:???
「ら」抜き言葉は止めろ
265nobodyさん:2010/10/16(土) 07:22:06 ID:YK7HI7ry
度々すみません。

攻撃されるって誰からですか?
266nobodyさん:2010/10/16(土) 10:41:23 ID:???
>>265
いたずらっ子。
267nobodyさん:2010/10/16(土) 13:34:00 ID:???
え?影響あるのは自分だけでは?他人に送らせるってどういうこと?
268nobodyさん:2010/10/16(土) 13:41:34 ID:I74M7hiK
POSTは外部から送ることもできるだろ
269nobodyさん:2010/10/16(土) 13:42:42 ID:???
送って、それはどこに表示されるの?
270nobodyさん:2010/10/16(土) 13:47:14 ID:???
え?
271nobodyさん:2010/10/16(土) 14:12:49 ID:???
259 nobodyさん sage 2010/10/16(土) 03:21:54 ID:???

>>234のようにあらかじめURLの選択肢が決まっているのであれば
そのURLを直接送信せずに選択肢番号のみを送信し、受け取った 2.php 内で
その番号に応じたURLを埋め込むような仕様にすべき。

これに興味あり。なんで?
272nobodyさん:2010/10/16(土) 14:36:37 ID:???
>>271
HTMLなんか書き換えられるんだから、変なURL突っ込むことも可能だろ
あらかじめ数字か何かで決めておけば、変なのが来ても弾ける
273nobodyさん:2010/10/16(土) 15:08:04 ID:???
>>267

<script>
window.onload = function(){
  document.frm.submit();
}
</script>
<form action="http://example.com/" name="frm">
<input type="hidden" name="abcde" value="http://example.org/" />
</form>
274nobodyさん:2010/10/16(土) 15:11:31 ID:???
2.phpで個人情報等を入力させるっていう前提?
275nobodyさん:2010/10/16(土) 15:49:36 ID:???
2.php の目的によってはURLをそのままPOSTしても問題はあまりないかも
でも一般的なプログラミングとしては>>259のようにしたほうがいい
もちろん 2.php 内でPOSTされた数値の正当性もチェックする
276nobodyさん:2010/10/16(土) 20:03:39 ID:avUbsZ6o
ファイルの文字コードを取得したいと思い、

$text = file_get_contents('text.csv');
echo mb_detect_encoding($text);

としたのですが、文字コードが取得できません。
どうすればいいのでしょうか?
277nobodyさん:2010/10/16(土) 20:17:42 ID:???
コードにおかしいところはないと思う。
どんなエラーメッセージが表示される?
278nobodyさん:2010/10/16(土) 20:34:01 ID:???
>>276
$textの内容をechoして確認せよ
279nobodyさん:2010/10/16(土) 20:44:46 ID:avUbsZ6o
>>277-278
echo してもなにも表示されない状態です。
280nobodyさん:2010/10/16(土) 20:45:51 ID:avUbsZ6o
あ、$textをechoしたら普通にファイルの中身が表示されます。
281nobodyさん:2010/10/16(土) 20:49:25 ID:???
echo mb_detect_encoding($text);
の結果がFALSEだとしたら検出に失敗している
ちなみにmb_detect_encodingは必ずしも検出できるとは限らない(対象文字列による)し、
文字列によっては誤検出する場合もある。
282nobodyさん:2010/10/16(土) 21:15:41 ID:avUbsZ6o
それでは検出する方法はないのでしょうか?
検出したいのはファイルの文字コードで
ファイルの文字コードがUTF-8以外の場合は、
mb_convert_encondigでUTF-8に変更するというのが目的です。
その為に、ファイルの文字コードを知る必要があると思いました。
283nobodyさん:2010/10/16(土) 21:25:46 ID:???
日本語の文字コード認識を完全に自動で行うのは困難。
mb_convert_encodingの第3引数を"auto"にして自動変換する場合も同様。
"mb_convert_encoding UTF-8" あたりでググるとよい
284nobodyさん:2010/10/17(日) 00:28:12 ID:???
>>255
受け取ったURIを使うような方法はもちろん自分ではやらないよ。
>>255の質問の意図は何?
285nobodyさん:2010/10/17(日) 01:29:32 ID:???
>>284
>>250で「下の用にしましょう」として「受け取ったURIを使うような方法」を示してんじゃん。
286nobodyさん:2010/10/17(日) 02:04:43 ID:???
> ○○○の部分ににindex.phpの三択で指定したURLを自動的に取得できるようにしたいのですが

これに対する回答だからじゃないの?
287nobodyさん:2010/10/17(日) 02:40:23 ID:N98scqjc
皆さんはphp.iniで
error_reporting = E_ALL & ~E_NOTICE
の設定にして、全てのエラーや警告が出ないように作ってますか?
そこまでする必要はあるのでしょうか?
お仕事でPHPを使っている人は、やっぱりそのへん厳密にやってるんでしょうか…。
288nobodyさん:2010/10/17(日) 03:52:16 ID:???
>>287
http://www.php.net/manual/ja/security.errors.php
想定外のアクセスやアタックがあった際にエラーの内容からプログラムの構造を推察されないように
したいのならエラーを抑制すればいい。
独自のエラーハンドラ関数を作成してエラーを表示しない代わりにログに記録することもある。
289nobodyさん:2010/10/17(日) 04:38:13 ID:???
>>287
開発用とリリース用で違う
290nobodyさん:2010/10/17(日) 10:47:44 ID:???
厳密っていうかでないのが当たり前っていう思考だからなんとも
正しい書き方を身につければそんなこと考えもしないよ
291nobodyさん:2010/10/17(日) 11:00:19 ID:GEOHnAz9
mdb2のwhereのことなんですが、
たとえば、dataのカラムにabcを含む場合、だったら

where `data` like '%abc%'

となりますが、どのカラムでもいいのでとにかくどこかにabcが含まれている場合、だったらどうなりますか?

where `*` like '%abc%'

と書いたら、undefined method ってエラーがでました
292nobodyさん:2010/10/17(日) 11:31:46 ID:???
>>291
それPHPの質問じゃないけどちゃんとageてるので答えると
テーブルごとにやるしかないよ
293nobodyさん:2010/10/17(日) 12:05:33 ID:???
>>287
それだとNOTICEでないよね?
うちはNOTICEは全てでないようにしないと品質保証部のの許可が下りない
294nobodyさん:2010/10/17(日) 14:12:52 ID:???
品質保証部って運用テストのバイトの人?
295nobodyさん:2010/10/17(日) 14:24:49 ID:???
>>292
回答ありがとうございます
テーブルごとにやるとしても、カラムもカラムごとでしょうか?
296nobodyさん:2010/10/17(日) 15:13:27 ID:???
WebでもQAエンジニア雇うところはあるよ
297nobodyさん:2010/10/17(日) 15:25:41 ID:???
>>295
ごめんテーブルじゃなくてカラムだった
298nobodyさん:2010/10/17(日) 16:06:41 ID:???
全部連結して、比較は1つ、でもいいけどね。
まあ連結するとき間にセパレーター置かないと誤判定するか
299nobodyさん:2010/10/17(日) 17:10:20 ID:???
>>297-298
ありがとうございます
無理なんですね
いろいろ代案考えます
300nobodyさん:2010/10/17(日) 17:22:16 ID:???
どこから考えるのかわからんけど、そもそも複数カラムに対して同じものを比較する時点で
設計に問題があるかも
301nobodyさん:2010/10/17(日) 17:37:18 ID:???
>>290
そうなんですか。
undefined indexっていうwarningが出ないようにしていくのが
とても大変で・・。
302nobodyさん:2010/10/17(日) 17:39:50 ID:???
>>300
簡単にいうとモンスターリストがありまして、
抽出で、生息地や全長などで絞り込めるんですが、
「フリーワード抽出」の項目を設けて、「○○の文字をどこかに含むもの」でも絞れるようにしたいのです
現状だと、カラムすべてに対して書いてるんですが、簡略化できるんではないかと思い立ちましてお尋ねした次第です
303nobodyさん:2010/10/17(日) 18:23:32 ID:???
>>302
全カラムを取得してループでクエリを組みたてれば「記述するのは」楽になる。
実行速度的(スケーラビリティ的)には仮に*が使えたとしても列挙したのと大して変わらない。
カラムが100項目もあるとかいうなら考える余地はあるけど、そこに拘ってもあまり得はない。気持ちの問題。
業務システムじゃむしろ列挙しなきゃだめなんじゃないかね。
あとageてね・・・。
304nobodyさん:2010/10/17(日) 18:28:05 ID:???
>>303
そうですね
楽しようというのが主旨でしたが、これくらいちゃんと書けって話ですね
目が覚めましたありがとうございます
305287:2010/10/17(日) 21:34:04 ID:???
オープンソースのものを自分の環境で動かしてみたら、Warningは一つも出ませんでした。
やっぱり熟練者は正しい書き方ができてるんですね。

>>293
NOTICEは出さないようにしてます。
そこまでするべきでしょうか?
306nobodyさん:2010/10/17(日) 21:40:07 ID:???
>>305
出さないようにできてるならそれでいいのでは?
307nobodyさん:2010/10/17(日) 22:56:51 ID:5JoLPq4l
readfileとクッキーについてお聞かせください。

ヘッダ、フッタなどサイト上の多くのページで同一のHTMLがある場合これを別のファイルにして
各ページからreadfileで読み込むようにしています。

readfile("inc/header.inc");//ヘッダを読み込む
といった具合です。

同時にこのページでクッキーも利用したいと考えているのですが、
readfileはクッキーを無効にしてしまうようで正常に動作してくれませんでした。
各所でreadfileの説明を読んでみても無効にする、といった説明はないのですが常識的なことなのでしょうか。

またこの場合includeなどを用いるべきなのでしょうか。
御指南よろしくお願いいたします。
308nobodyさん:2010/10/17(日) 22:57:03 ID:???
>>306
必死に出ないように書いてるんです。
>>290さんの言われているように、慣れれば当たり前のように正しい書き方ができるのかもしれませんが、
今はすぐに警告や注意が出るのでとても疲れます。
309nobodyさん:2010/10/17(日) 23:02:11 ID:???
>>308
仕事じゃないんでしょ?
自分でテストして問題無いと思えば無視すれば?

仕事なら規約次第だけど、小さいとこだとNOTICE無視は結構ある
ようはテストして動けば良いという考え
310307:2010/10/17(日) 23:06:35 ID:5JoLPq4l
readfileをする前に、というよりHTTPヘッダを送信する前にクッキー操作を行うようにしたらうまくいきました…
HTTPヘッダ送信以前にクッキー操作をするのは常識でしたね…
お恥ずかしい限りです…

スレ汚し申し訳ありませんでした…
311nobodyさん:2010/10/17(日) 23:19:38 ID:???
>>309
そうですね。割り切ることにします。
あと、変数の前に@を付けると回避できることがわかったので、使ってみます。
ありがとうございました。
312nobodyさん:2010/10/18(月) 01:07:02 ID:???
ちょw
313nobodyさん:2010/10/18(月) 01:19:08 ID:???
>>312
ちょ?
314nobodyさん:2010/10/18(月) 06:29:04 ID:Ea5b1l3E
$fooには数字、$barには文字列が入っていて、
$list[] = $foo.' :'.$bar;
arsort($list);
foreach ($list as $value){
echo $value."<br>";
}
とやると、

7 :hoge
61 :hogehoge
5 :hogehoge3

って感じで頭の数字一桁分だけでソートされてしまうんですが、
これを$fooで入れた数字の大きさでソートさせるようにするにはどうしたらいいでしょうか
315nobodyさん:2010/10/18(月) 06:53:23 ID:???
>>314
$list[] = sprintf("%02d",$foo).' :'.$bar;
316nobodyさん:2010/10/18(月) 07:02:11 ID:???
>>314
natsort() を使う
317nobodyさん:2010/10/18(月) 07:12:35 ID:???
>>315
ありがとうございます
3桁になると上位二桁のみで判定されるのでだめでした

>>316
ありがとうございます
これ使います
318nobodyさん:2010/10/18(月) 08:14:10 ID:GNgSoasg
決してCGIユーザーの煽り目的とかではないのですが、質問です
phpで調べてみると脆弱性とか修正できない問題が結構多いのですがphpの将来性ってどうなんでしょうか?
なんだか致命的な欠点が多いのでその内自分の学んでるphpの知識が無駄になってしまうのでは?と思ったりしてるのですが
319nobodyさん:2010/10/18(月) 08:35:47 ID:???
>>318
無駄になる可能性のない言語なんてあるの?
320nobodyさん:2010/10/18(月) 08:45:26 ID:???
>>319
ブルーレイと東芝のDVDみたいなモンだろ。どっちのレコーダー買えばいいかみたいな
そりゃ欠陥ばっかりのモノより将来性のある方選んだほうがいい

俺はまだphpは未成熟で可能性としては未知数と思ってる
perlと比べると長ったらしくなるコードがphpだと物凄い短くなるし
321nobodyさん:2010/10/18(月) 09:43:13 ID:???
>phpで調べてみると脆弱性とか修正できない問題が結構多いのですが
PHPが深刻な脆弱性を多々抱えてるわけではない
ではなぜそういうことが言われてるかというと
プログラムする人のコーディングミスによるセキュリティーホールが
PHPだと発生しやすいからだ
PHPに脆弱性があるんじゃなくて
作成したWebアプリケーションに脆弱性を発生させ易いのがPHPということ
ここらへんがPHPは初心者向けであって初心者向けでないと言われる所以
PHPが本当は内部処理で適切にコーディング内容を処理すればいいんだけど
ユーザ任せになってるところが問題なだけ
熟練者にもミスはつきものだが熟練者にとってはラピッド開発できる優秀な言語でもある
322nobodyさん:2010/10/18(月) 09:49:08 ID:???
まずPHP自体が結構多く持つ脆弱性とか修正できない問題を知りたいのだが
323nobodyさん:2010/10/18(月) 09:49:25 ID:fqdWguE4
現在、借りている鯖のPHPバージョンが5.1Xで、5.2を使いたいのですが
シェルログインに対応していません。
FTP等から、PHPのバージョンアップをしたりすることは可能でしょうか?
324nobodyさん:2010/10/18(月) 10:10:04 ID:???
root権限じゃないと無理でしょ
鯖管にメールしてバージョン上げられるか交渉してみなよ
そこのレン鯖の新しいサーバで5.2に対応してるならそっちに引越しさせてもらうとか
325nobodyさん:2010/10/18(月) 11:56:56 ID:???
PHPの脆弱性?
また小飼弾ちゃんが大騒ぎしてんのか?
326nobodyさん:2010/10/18(月) 12:23:33 ID:???
そこはIPAだろ
327nobodyさん:2010/10/18(月) 12:24:00 ID:???
自分の知識が足りないから起こるミスを言語のせいにしてるような情報は信じたらアカンよ
328nobodyさん:2010/10/18(月) 12:54:13 ID:GNgSoasg
>>321
>>327
なるほど、そうなんでしたか
なんか調べてみると色んなところで言われてたので
329nobodyさん:2010/10/18(月) 12:59:10 ID:???
どうやら調べた結果内容を教えてくれる気はなさそうだね
330nobodyさん:2010/10/18(月) 13:10:00 ID:???
結構 php 脆弱性 でググると出てくるよ
個人のブログが多いけど
331nobodyさん:2010/10/18(月) 13:22:31 ID:???
php 脆弱性でググった中から、
「これはユーザー(プログラマ)側ではどうしようもできねー、PHPという言語自体の問題だ」
というのを上げて欲しいですね。
332nobodyさん:2010/10/18(月) 13:47:45 ID:???
>>331
さすがにそのレベルので放置はしないだろ。注意してないと引っかかる落とし穴レベルだと思う。

でも例えばぐぐって一番上に出てきた

ttp://wiki.ohgaki.net/index.php?PHP%2F%E8%84%86%E5%BC%B1%E6%80%A7%E3%83%AA%E3%82%B9%E3%83%88%2F%E3%83%A1%E3%83%A2

を見た感じでは知ってれば避けるのは簡単で、Cのバッファオーバーランみたいに知ってても
うっかりはまりそうというほど危険なレベルではないと思うな。
333nobodyさん:2010/10/18(月) 13:58:02 ID:???
良い意味でも悪い意味でも
セキュリティ意識を高めて学ぶならPHPは最適ってことか
334nobodyさん:2010/10/18(月) 17:05:01 ID:???
>>332
言語自体の脆弱性に分類されるようなものはこのリストに無いな・・全部使う側の問題
335nobodyさん:2010/10/18(月) 17:21:30 ID:d6HCmNn9
docomoの携帯の種類によってはPCに接続する事で
PCからe-mobileのデータ端末を使用した場合と同様にネットを
する事が出来るという事なのですが、

仮にdocomo携帯でネットに接続した状態で
WEBサイトにアクセスした場合にサーバ側で取得したホストは、
(例えば2chに書込みを行った場合)

下記の様に通常のdocomo携帯からのアクセスと
同じ様になるのでしょうか?

proxy20077.docomo.ne.jp
DoCoMo/2.0 D903i(c100;TB;W23H16)
HOge0QoU

336nobodyさん:2010/10/18(月) 17:25:49 ID:???
>>335
PHPと何の関係が?
337nobodyさん:2010/10/18(月) 17:27:49 ID:d6HCmNn9
>>336
phpよりホスト等を取得するからです。
338nobodyさん:2010/10/18(月) 17:38:43 ID:???
>>335
PCつかうとUserAgentはFirefoxとかIEになるけど
UserAgentやヘッダ(端末ID等)なんてPC使えばいくらでも偽造できる(成りすまし)からあまり当てにしないほうがいい
339nobodyさん:2010/10/18(月) 17:42:58 ID:???
>>335
>下記の様に通常のdocomo携帯からのアクセスと
>同じ様になるのでしょうか?

結論からいうと、なりません。

一部のdocomoの携帯(スマートフォン)をPCに繋いでネットすることはできるけど、
その場合はmoperaに契約して繋ぐことになるのでホストはmoperaになります。
340nobodyさん:2010/10/18(月) 17:54:17 ID:???
ソフトバンクは携帯ゲートウェイに接続できるよ
http://ke-tai.org/blog/2009/08/04/softbankgwpc/
341nobodyさん:2010/10/18(月) 18:06:51 ID:???
>>338
docomoIDの事を知りたかったのです。

>>339
どうもありがとうございます。
疑問が解けました。

>>340
???という事は、PCを使用して携帯電話を操作する事が可能なのですね。
342nobodyさん:2010/10/18(月) 18:33:08 ID:???
>>341
PCで、携帯を装ってアクセスできるってことでしょ
343nobodyさん:2010/10/18(月) 18:41:25 ID:???
>>342
やりたい事は、例えばPCからdocomo携帯を装って
完全にdocomoIDが付与された状態で
特定WEBサイトにアクセスがしたいのですがこの様な事はやはり不可能なのでしょか?
344nobodyさん:2010/10/18(月) 18:43:12 ID:???
>>343
やりたいと言われてもな
スレタイを音読するといいよ
345nobodyさん:2010/10/18(月) 18:46:21 ID:???
自鯖なら適当にヘッダ付与して適当テストかませばいいじゃん
他鯖?まともなサービスならipとuidチェックでとおらねぇよ
346nobodyさん:2010/10/18(月) 18:48:59 ID:???
どう考えてもろくなことをするつもりじゃないだろ
347nobodyさん:2010/10/18(月) 18:50:27 ID:???
>>343
出来るけどここに質問するようなレベルだと無理だろう
http://takagi-hiromitsu.jp/diary/20100425.html
348nobodyさん:2010/10/18(月) 18:54:13 ID:???
高木のサイトを誰か出すと思ったw
349nobodyさん:2010/10/18(月) 19:00:32 ID:???
>>347
そこに質問をした覚えはありません。
何とかPCから完全に携帯を装ってアクセスしたいのです。

イメージとしてはPCブラウザから
したらば掲示板等のに書込みを行った場合に完全に携帯を装いたいです。
350nobodyさん:2010/10/18(月) 19:01:19 ID:???
>>349
したいならすりゃいいって
誰も止めてないぞ
351nobodyさん:2010/10/18(月) 19:04:49 ID:???
ここは質問できるスレであって、したいことをできるように初心者がちやほやしてもらえるスレではないからな
352nobodyさん:2010/10/18(月) 19:05:14 ID:???
自演するので携帯でアクセスしてるように見せかけたいんです!みたいな動機っぽいな…
つーか高木ちゃんのページに書いてあるのに何で気づかないのやら…
結局は質問者のレベルが追っついてないだけ
353nobodyさん:2010/10/18(月) 19:10:51 ID:???
>>349の傲慢そうな雰囲気からして自分擁護レスとかやりたいんだろうなって感じがするなw
354nobodyさん:2010/10/18(月) 22:17:31 ID:???
>>349
横レス(おいらPHPはよくわからんけど)。

んー、SOCKET使えばできるかも?
でも、高木先生の記事を読んだ限り、
キャリアのプロキシとしたらばの実装次第かな。

というか、phpのスレで聞くような話じゃない気も。
355nobodyさん:2010/10/18(月) 22:26:51 ID:???
ある程度巨大なWEBシステムになる事が予想されるんですが、

開発言語として

ASP.net or PHP どちらかにしようと思っています。


実際の運用フェーズに入ったらPHPの方がコストが大分安いのですが、
メンテナンス制を考慮するとASP.netだと思いますが

どちらの方が良いでしょうか?


356nobodyさん:2010/10/18(月) 22:36:02 ID:???
>>355
スレタイも>>1も読まない時点で前途多難と思われる
357nobodyさん:2010/10/18(月) 22:36:21 ID:???
>>355
スレの質問ルールも守れないようなやつがなにを作れるってんだよ
358nobodyさん:2010/10/18(月) 22:40:39 ID:???
猫大好きスレで猫と犬どっち飼いましょうかって聞くくらい不毛な質問
359nobodyさん:2010/10/18(月) 22:41:18 ID:???
360nobodyさん:2010/10/18(月) 22:57:25 ID:???
>>358
うまいなwその通りだw
361nobodyさん:2010/10/18(月) 23:15:57 ID:???
>>359
それならこれも便利
これでアプリのログとかapacheのログを表示させるようにすると、開発しやすくなる
俺はログの種類・更新間隔・表示行数を指定できるように改造した。

http://techblog.ecstudio.jp/tech-tips/phptail.html
362nobodyさん:2010/10/18(月) 23:16:38 ID:???
このスレってPHP大好きスレだったんだ PHP質問スレだと思ってた
363nobodyさん:2010/10/18(月) 23:21:14 ID:???
>>361
コンソールでは何でだめなん?
364nobodyさん:2010/10/19(火) 05:37:10 ID:???
>>362
猫スレじゃない(猫がたとえ)ってことが理解できて
大好きスレじゃない(大好きがたとえ)ってことが理解できない理由がわからん
365nobodyさん:2010/10/19(火) 07:16:26 ID:???
>>364
それは文脈に起因します。
「どちらの方が良いでしょうか?」という質問に対して「大好き」という回答は
関連が強過ぎるため直接表現と捉えられても仕方がありません。
比喩表現としては十中八九失敗するでしょう。
現にここでは失敗しています。
366nobodyさん:2010/10/19(火) 09:25:08 ID:???
ネット社会では
比喩表現1行レス == 荒らし
367nobodyさん:2010/10/19(火) 09:43:09 ID:???
>>363
いつもはLinux/Apacheなんだけど、今回windows/IISでコンソールも提供されない状況での開発してて
IISのログはFTPで持ってくる方法しか提示されてなかったので
>>361の奴を探してきて、自分用に改良した。

作業用マシンがwindowsでサーバがLinuxの場合でも、sshで接続してtailでログ見るより
ブラウザ上で見られた方がteratermなどを起動させなくていいので余計なソフトが一つ減るのと
Linuxが苦手な若手が操作ミスするリスクを減らせて良いかなと

余談だけど>>361の奴はfirefoxのサイドバーに表示させてる。
368nobodyさん:2010/10/19(火) 10:12:02 ID:???
>>365
ぶつぶつ不満いってんのはおまえさんだけみたいだが
369nobodyさん:2010/10/19(火) 10:32:32 ID:???
今更なんですが
DB(MySQL)がutf-8の場合、
phpスクリプトファイル自体もutf-8文字コードで作成しないといけないですよね?

私の使っているIDEが新規スクリプトファイルを追加すると
自動でsjisになってしまう為ご質問させて頂きました。
370nobodyさん:2010/10/19(火) 10:34:50 ID:???
いいえ
371nobodyさん:2010/10/19(火) 11:00:59 ID:???
特に理由がなければ同じ文字コードにした方が楽。
どうしても別の文字コードになる場合
(PHP)
mssql_query("set names 'utf8'");
mb_internal_encoding("UTF8");
mb_http_output("UTF8");
$str = mb_convert_encoding($str,'SJIS','UTF8');
(HTML)
<meta HTTP-EQUIV="Content-type" CONTENT="text/html; CHARSET=UTF-8">
らへんを適宜使う
372nobodyさん:2010/10/19(火) 11:03:23 ID:???
>>371
どうもありがとうございました。文字コードをそろえます。


※以前に作ったサイトの文字コード選定で sjis を選択してしまい
激しく後悔したので今度からはutf-8に統一したいと思います。
373nobodyさん:2010/10/19(火) 11:24:43 ID:???
htmlファイルをすべてutf-8に直すプログラム作れば簡単っすよ
374nobodyさん:2010/10/19(火) 13:16:18 ID:???
sageてるやつにえらく親切だな
375nobodyさん:2010/10/19(火) 13:56:16 ID:5WEhDG4j
>>349

無理じゃね?
PC使って携帯ブラウザが利用するIPアドレス帯通してアクセスする方法あるんか?
376nobodyさん:2010/10/19(火) 13:59:59 ID:???
.>>375
だからそれを聞いてんだろーが。
377nobodyさん:2010/10/19(火) 14:03:12 ID:Uiw+alOC
名前の投稿について質問なのですが

$name = htmlspecialchars($_POST['name']);
if (!$name) $name = "名前がありません";

とあるのですが、!$nameの所がちょっとよくわかりません
'name'に何も書き込まれて無かったら名前がありませんになるという事はカンでわかるのですが
なぜ否定の!と$nameの変数を続けただけでそうなるのでしょうか?

!$nameじゃ$nameじゃないっていうよくわからないモノになってしまう気がしまいます
378nobodyさん:2010/10/19(火) 14:04:19 ID:???
isset使え
379nobodyさん:2010/10/19(火) 14:13:07 ID:???
びっぐいしゅー
380nobodyさん:2010/10/19(火) 14:17:28 ID:???
>>375
ただ単に不正にいろいろやりたいことがあるんだろ
たとえばランキング荒らしとか、IP制限されてるサイトのソースをみたりとか
381nobodyさん:2010/10/19(火) 14:19:24 ID:???
>>377
String型の$nameをboolで評価してるだけ
http://php.net/manual/ja/types.comparisons.php
if (!$name)で
$nameがfalseだったらという意味になる
382nobodyさん:2010/10/19(火) 14:19:53 ID:???
>>380
脆弱性をボランティアで検査してあげたいだけだよ
383nobodyさん:2010/10/19(火) 14:22:58 ID:???
>>381
なるほど、ありがとうございます!
384nobodyさん:2010/10/19(火) 14:30:04 ID:Uiw+alOC
>>381
あ、すみません確認なんですけどソレって
if($bool)[ 処理1 ]
だとtrueのときに処理1が実行されて
if(!$bool)[ 処理2 ]
だとfalseのときに処理2が実行されるという事でいいんですよね?

>>383で名前欄出さなくてすんません
385nobodyさん:2010/10/19(火) 14:32:30 ID:???
>>384
そう

if ($name)は
if ((boolean)$name == true)と同じ

if (!$name)は
if ((boolean)$name == false)と同じ
386nobodyさん:2010/10/19(火) 14:36:57 ID:Uiw+alOC
>>385
丁寧にありがとうございます!超助かりました!
387nobodyさん:2010/10/19(火) 18:56:15 ID:???
>>384
if($foo)って書き方は
とにかくサブミットされたなら、ってときとかによく使う書き方だから覚えてて損はないよ
388nobodyさん:2010/10/19(火) 19:22:41 ID:???
>>387
混乱するだけだから変な説明すんなや
$fooが何かによるでしょうに
if ($_POST)ならまだわかるけど
389nobodyさん:2010/10/19(火) 19:31:48 ID:???
empty使うんじゃないのか
390nobodyさん:2010/10/19(火) 19:50:19 ID:???
その変は挙動を把握できるならどれでもいいと思うよ
issetでもis_xxxでも
391nobodyさん:2010/10/19(火) 21:01:55 ID:???
>>388
こんなことで混乱するとか耐性なさすぎじゃまいか
392nobodyさん:2010/10/19(火) 21:20:19 ID:???
言えてる。これくらいで混乱するからマニュアル読んでも理解できないんだろう。
http://php.net/manual/ja/types.comparisons.php
に書かれてるif($x)と同じなのにね。
393nobodyさん:2010/10/19(火) 21:28:57 ID:???
>とにかくサブミットされたなら、ってときとかによく使う
ここが変
サブミットされた値って書けば通じるけど
394nobodyさん:2010/10/19(火) 21:57:35 ID:???
>>393はなにを言ってるんだ?
$typeがsendなら、とかじゃなくてとにかくフォームから送信されたデータがあったらこの処理をする、ってことだろ?
なんもおかしくないじゃん
395nobodyさん:2010/10/19(火) 22:03:13 ID:???
== != しか知らないと、($hoge)とか(!$hoge)とか見慣れなくて不自然なんだろうな
TRUEなら(FALSEなら)ってのは使い出すと勝手はよいのに
396nobodyさん:2010/10/19(火) 22:06:23 ID:???
>>394
>フォームから送信されたデータがあったら
こういうことを言ってるんですが
サブミットされたという表現だと
actionをうけたらという意味になるからおかしいと言ってるの
実際に値がなくてもね
<form method="post" action="foo.php">
<input type="submit">
</form>
397nobodyさん:2010/10/19(火) 22:07:53 ID:???
== === に見慣れてるせいで
MDB2のwhereの`foo` = 'bar'は何度書いても違和感があるわ
398nobodyさん:2010/10/19(火) 22:08:23 ID:???
今時MDB2なんて使ってるやつはいねえですよ
399nobodyさん:2010/10/19(火) 22:09:11 ID:???
>>396
そこまで屁理屈をこねる人が選択する言語じゃないと思ってたけど()笑
400nobodyさん:2010/10/19(火) 22:10:40 ID:???
どこが屁理屈なんだ・・・
サブミットって単なるトリガーなんですが
勝手に単語作ってオナニーしないでもらえるかな
正しく意味が通じるように言えないなら黙っときなよ
401nobodyさん:2010/10/19(火) 22:11:01 ID:???
>>398
今時は何を使うの?
402nobodyさん:2010/10/19(火) 22:12:13 ID:???
PECL: PDO
403nobodyさん:2010/10/19(火) 22:12:59 ID:???
>>400
ブラウザとじて深呼吸してこい
いらいらすんのは体によくねえぞ
404nobodyさん:2010/10/19(火) 22:15:12 ID:???
>>403
イライラしてないし
反論できなくなるとそらすんだね
405nobodyさん:2010/10/19(火) 22:17:30 ID:???
某氏が提唱するようなフォームって実際作る意味あるんかな
サブミットするってsubmitボタンを押すって意味で解釈するなら値が空もありえる(理論的にありえても現実的にありえない?)としても、submitって言葉の意味なら「値を渡すこと」と解釈するのが妥当だと思うんだけどな
こんなこといったら噛みつかれちゃうかなw
406nobodyさん:2010/10/19(火) 22:19:52 ID:???
>>387は「サブミットされたら」って言ってて、「inputのtypesubmitをクリックしたら」って言ってなくねい?
407nobodyさん:2010/10/19(火) 22:21:35 ID:???
屁理屈言ってないと正気を保てない人ってまれにいるよな
408nobodyさん:2010/10/19(火) 22:22:40 ID:???
サブミットされたらだと>>396のコードや>>405の指摘通り
なんもない場合も考えられる
それを屁理屈というかいわないか

という話ですね
409nobodyさん:2010/10/19(火) 22:24:30 ID:???
>>407
言い返せないと屁理屈の一点か
誤解をうむ言い方をするなという指摘を素直に受けれないわけ?
410nobodyさん:2010/10/19(火) 23:26:30 ID:???
値がどうとかは関係なしに、>>396の指摘はあながち間違ってないと思う。
値を受けた処理だけじゃなく、actionを受けた時点での処理も存在するからね。
例えば同一ページに2つフォームがあって、同じ場所にactionする場合とか。
2つのフォームのメソッドはそれぞれPOSTとGETになっていて、
どちらかで処理を分けたい時なんかは、
if ($_POST)
if ($_GET)
で分けたりもするから。
設計を変えろだのそういう話は置いといて、そういう書き方してる人がいるのも事実。
411nobodyさん:2010/10/19(火) 23:26:51 ID:???
>>367
詳細ありがとう
エラーをログに吐かせて確認する時とか便利そうだね
今度デバッグの時に使ってみよう
412nobodyさん:2010/10/19(火) 23:31:00 ID:???
>>405
ラジオボタンで未チェックなら値は渡ってこないから
値が空は普通にあるよ

その場合、isset等を使わず $_POST['radio'] (←ラジオボタンだとして)をそのまま使えばNOTICEがでる
413nobodyさん:2010/10/19(火) 23:38:08 ID:???
普通にMDB2を使ってるが。
414nobodyさん:2010/10/19(火) 23:40:21 ID:???
ラジオボタンだとするとname属性の値がradioなのかw
415nobodyさん:2010/10/19(火) 23:45:05 ID:???
イミフなツッコミ
416nobodyさん:2010/10/19(火) 23:56:27 ID:???
そりゃ分かってたら書かないもんな
417nobodyさん:2010/10/20(水) 00:02:21 ID:???
typeの値がradioに決まっとろう
nameをradioしたのは説明上の理由にきまっとろう
418nobodyさん:2010/10/20(水) 00:10:19 ID:???
PHPは入力フォームの種類まで受け取れるのか、の方が良かったか
419nobodyさん:2010/10/20(水) 00:42:00 ID:goWML+Iz
悲しみのradio
420nobodyさん:2010/10/20(水) 01:03:07 ID:???
みんな if ($hoge) とかやってんの?
E_NOTICEでエラー出ちゃうじゃん。
421nobodyさん:2010/10/20(水) 02:07:00 ID:???
値が入ってたら出ないのでは?
422nobodyさん:2010/10/20(水) 02:21:45 ID:???
isset と empty の動作が嫌なので、
isEmpty() みたいなメソッドを独自実装してるのって俺だけ?
423nobodyさん:2010/10/20(水) 02:25:44 ID:???
うぇ勘弁してくれ
424nobodyさん:2010/10/20(水) 02:32:42 ID:???
どんな挙動?
425nobodyさん:2010/10/20(水) 06:30:11 ID:3XsRLFfk
2つ質問があります
bangohan.phpというファイルを作成して

<form action="bangohan.php" method="post">

<select name="晩御飯">
<option value="" selected="selected">▼選択して下さい</option>
<option value ="100">アポロチョコ</option>
<option value ="200">ポッキー</option>
<option value ="3000">マグロのカルパッチョ</option>
</select>

<?php
$bangohan = $_POST["晩御飯"];
echo "$bangohanキロカロリーだよ!";
?>

<input type="submit" value="カロリーチェック!">


でカロリーチェックを押したらselectで選択したところが元の▼選択して下さいに戻ってしまうんですが戻らない方法ってありますか?

そして2つ目の質問ですが
このページの下部にもう一つsubmitで
<input type="submit" value="1日3食1ヶ月間コレを食べたら?">
というのを作って

<?php
echo"$bangohan*90"キロカロリーだよ!;
?>
というのも追加したいんですがこの時どのようなコードにすればいいのでしょうか?
なるべく1つのphpファイルにまとめたいのですが
426nobodyさん:2010/10/20(水) 07:27:59 ID:???
>>425
1.各optionに$_POST['晩御飯']の値で条件分岐してselected="selected"をつける
2.submitの値で処理を分ける
つまりif文という奴を使ってください
427nobodyさん:2010/10/20(水) 07:46:35 ID:3XsRLFfk
>>426
すみません、条件分岐はわかるのですが
>各optionに$_POST['晩御飯']の値で条件分岐してselected="selected"をつける
というのは
<option value ="if($_POST['晩御飯'] == 100){selected="selected} else{100}">アポロチョコ</option>
<option value ="if($_POST['晩御飯'] == 200){selected="selected} else{200}">ポッキー</option>
<option value ="if($_POST['晩御飯'] == 3000){selected="selected} else{30000}">マグロのカルパッチョ</option>
と、こういうことでいいんでしょうか?全然理解してなかったらすみません

そして2についてですが
submitの値で処理を分けるというのが具体的にどういうものなのか、試しに調べてnameを付けて
<input type="submit" name="1syoku" value="カロリーチェック!">
<input type="submit" name="1month" value="1日3食1ヶ月間コレを食べたら?">
というのをやってみたのですがどっちも
<form action="bangohan.php" method="post">
に送られて両方

<?php
$bangohan = $_POST["晩御飯"];
echo "$bangohanキロカロリーだよ!";
?>
<?php
echo"$bangohan*90"キロカロリーだよ!;
?>

の二つの計算結果が表示されてしまいました
HTMLもphpも勉強足りなくて本当にすみません
428nobodyさん:2010/10/20(水) 09:50:33 ID:VChkUypH
htmlも、もちっと整理したほうがいいとおもうぞ

select されていない時のhtmlタグ($_POST["晩御飯"] が 100ではない)
<option value ="100">アポロチョコ</option>

select されているとき(要は$_POST["晩御飯"] が 100)の時のhtmlタグ
<option value ="100" selected="selected">アポロチョコ</option>

結果の例
<option value ="100" <?php if($_POST["晩御飯"]=100){ print 'selected="selected"';}?>>アポロチョコ</option>

書き方はいろいろあるとおもう
429nobodyさん:2010/10/20(水) 09:54:56 ID:???
ニヤニヤ
430nobodyさん:2010/10/20(水) 09:57:42 ID:???
>>422
おれも知りたい
言語構造の代わりをメソッドの独自実装でどうやってできるかを
431nobodyさん:2010/10/20(水) 10:21:11 ID:???
結局中身でissetやempty使ってるってオチだろ
432nobodyさん:2010/10/20(水) 10:43:40 ID:???
PHP拡張でという意味じゃないの?
cができれば簡単にできるよ

PHP Extentionで検索すればいっぱいでてくる
433nobodyさん:2010/10/20(水) 10:48:34 ID:???
root権限のある専用サーバや自宅サーバならともかく
ここにいる人ってだいたい共用サーバでしょ?
PHPのソース拡張しても実運用じゃ使えなきゃ意味ないしな
434nobodyさん:2010/10/20(水) 11:11:00 ID:???
たとえ実運用で使えても使いたくありません
435nobodyさん:2010/10/20(水) 11:58:57 ID:???
selected="selected"って書くんだ・・・
今までselectedしか書いてなかったよ
436 [―{}@{}@{}-] nobodyさん:2010/10/20(水) 12:44:08 ID:???
HTML4とかは属性名と属性値が同じなら省略できたからselectedだけでいいけど、
XHTMLとかは属性値が必須だからselected="selected"って書かないと駄目
437422:2010/10/20(水) 12:49:38 ID:???
メソッドって書いたのが悪かったか。ただの関数。
issetとemptyって、空文字("") や "0" でも true を返すから、あまり好きじゃない。
(issetは用途が違うとは思うけど)

function isEmpty($target) {
if ($target === "") return true;
if ($target === null) return true;
return false;
}
438nobodyさん:2010/10/20(水) 13:18:12 ID:???
>>421
値が確実に入ってるならいいけど、それでない場合もあることを考えるとif ($hoge)は不安
439nobodyさん:2010/10/20(水) 13:19:06 ID:3XsRLFfk
>>428
できました!ありがとうございます!
質問の一つが解決しました
440nobodyさん:2010/10/20(水) 13:26:54 ID:???
普通に考えてif ($hoge)はユーザからの入力値だから
何も送られてこなくても空文字になるだけでnullにはならない
問題なのは最初に開いて未送信の状態だとnullであることだね
nullと空文字を同列に扱ってもいい場合はそういう書き方でも問題ない
441nobodyさん:2010/10/20(水) 13:42:45 ID:???
nullとか空文字ならまだいいが、関数じゃ未定義の変数渡せないじゃん
442nobodyさん:2010/10/20(水) 13:54:02 ID:???
> 普通に考えてif ($hoge)はユーザからの入力値だから

そうとも限らないじゃないかな
443nobodyさん:2010/10/20(水) 14:00:43 ID:???
>>441
どういうこと?
444nobodyさん:2010/10/20(水) 14:01:21 ID:???
>>440
はじめからtextarea等とわかったうえでならいいのかもしれないが
radioやcheckboxは未checkだと空文字ではなく値が渡ってこないから
わかってないとはまりそうじゃない?

taintが無いのは慣れたけど、phpの流儀はよくわからんな
未定義の可能性があるものをそのまま渡すのがphpの普通なの?
NOTICEを無視するのも普通?
445nobodyさん:2010/10/20(水) 14:04:18 ID:???
$checkbox = $_POST['checkbox'] ? true : false;
とかにするよな?
446nobodyさん:2010/10/20(水) 14:09:49 ID:???
if (isset($hoge)) ; // 言語構造に未定義変数渡してチェックできる
if (empty($hoge)) ; // 同じく言語構造に渡してチェックできる

if ($hoge) ; // 未定義だから警告出る
if (isEmpty($hoge)) ; // 未定義だから警告出る

>>443 こういうことでしょ
447nobodyさん:2010/10/20(水) 14:11:37 ID:???
把握
448nobodyさん:2010/10/20(水) 14:13:38 ID:???
>>446
ん?
if ($hoge)の前に$hoge定義するでしょ?
やべえ俺は異端者なのか
449nobodyさん:2010/10/20(水) 14:17:42 ID:???
$_POST['hoge']がtextareaの場合

$hoge = $_POST['hoge'] ? $_POST['hoge'] : "";
if ($hoge)

or

if (isset($_POST['hoge']))
450nobodyさん:2010/10/20(水) 14:17:50 ID:???
結局@で警告抑止するのが一番楽という結論になったな俺はw
若干遅くなるって話も聞くけどループでぶん回すとこじゃなけりゃ
気にしない。
451nobodyさん:2010/10/20(水) 14:18:59 ID:???
鯖代をけちって第三者に貸し出すシステムを
スタンダードとかやばいなかw?


さくらってすぐに鯖落ちするからなぁー
452nobodyさん:2010/10/20(水) 14:20:24 ID:???
一度変数に入れてあとで使う場合なんかは

$hoge = $_POST['hoge'] ? $_POST['hoge'] : null;

or

$hoge = null;
if (isset($_POST['hoge'])) {
 $hoge = $_POST['hoge'];
}

とかか
453nobodyさん:2010/10/20(水) 14:26:02 ID:???
いや・・・
三項演算子はif-else文と対応するだけであんまり関係ないよ
コードがスッキリするか否かの差じゃないかな
(三項演算子嫌いな人もいるからスッキリするかは人それぞれだけど)

もしやるなら
$hoge = isset($_POST['hoge']) ? $_POST['hoge'] : null;
だね

結局isset使えでいいんじゃないの
454nobodyさん:2010/10/20(水) 14:40:41 ID:???
俺は好きにすれば良いと思うけどね

・isset/emptyでチェックする
http://www.php.net/manual/ja/function.isset.php

・error_reporting = E_ALL & ~E_NOTICE でNOTICEを無視
http://www.php.net/manual/ja/errorfunc.configuration.php#ini.error-reporting

・@つけてエラーメッセージを無視
http://www.php.net/manual/ja/language.operators.errorcontrol.php
455nobodyさん:2010/10/20(水) 14:48:19 ID:???
どうしても@使わなきゃいけない局面ってあるの?
456nobodyさん:2010/10/20(水) 14:52:42 ID:???
@使う場面は
ちょっとした自分で使うような適当なスクリプトだけじゃない
バッチ処理だったりそういうのを含めて
エラーとか細かい処理は必要がないそんな適当なものだけ
使わなきゃいけないって場面はないんじゃない
使わなかった場合チェック用のロジックが必要になってコード増えるだけだし
457422:2010/10/20(水) 15:03:45 ID:???
>>453 $hoge = c($_POST['hoge']) ? $_POST['hoge'] : null;
$hoge = $_POST['hoge'];
とは意味違うの?

ちなみに、検索条件の入力有無の判定とかで isset って使う?
入力値を trim することを考えると、isset と empty だけだと、なんかややこしい。

他人のソースを見ると、isset を使ってるのが多いから、
理由がわかれば、オレもそっちを使いたいんだけど。
458nobodyさん:2010/10/20(水) 15:20:47 ID:???
c()って何
459nobodyさん:2010/10/20(水) 15:49:38 ID:6gJYBDD6
自作関数じゃね?
460nobodyさん:2010/10/20(水) 15:54:30 ID:???
自作関数が何か分からないと答えようがないな
461nobodyさん:2010/10/20(水) 16:07:38 ID:xwi4oiJN
session_idに携帯のIdをmd5+サイトで設定した文字列 とか使うとまずい?
462nobodyさん:2010/10/20(水) 16:15:18 ID:???
>>461
ほっとけばランダムにつけてくれるのになんでわざわざそんな
危ない橋を渡りたいんだ?
463nobodyさん:2010/10/20(水) 16:16:01 ID:???
未定義云々言ってるやつは多分extract使ってるんだろ
464nobodyさん:2010/10/20(水) 16:16:56 ID:xwi4oiJN
>>462
cookie使えない携帯あるから・・・・
465nobodyさん:2010/10/20(水) 16:25:23 ID:???
>>461
md5 + サイトで設定した文字列
ではなく
md5(サイトで設定した文字列 + ユニークな文字列)
にするといいぉ
466nobodyさん:2010/10/20(水) 16:26:57 ID:xwi4oiJN
>>465
ユニークにするとセッション続かなくない?
467465:2010/10/20(水) 16:27:04 ID:???
あっ、あまり読まずに書き込んでた。
無視してね。
468nobodyさん:2010/10/20(水) 16:28:50 ID:???
書くの忘れてたけど、一応IPで携帯以外はフィルタしてる。
469nobodyさん:2010/10/20(水) 16:38:01 ID:???
>>466
そなの?
470nobodyさん:2010/10/20(水) 16:43:17 ID:???
>>464
クッキー使えるかどうかとセッションIDをどう決めるかに何の関係があるんだ?
クッキー云々は決めたセッションIDをどうやって端末とやりとりするかの問題だろ。
471nobodyさん:2010/10/20(水) 16:44:01 ID:???
クッキー関係ないんじゃ
472nobodyさん:2010/10/20(水) 17:01:20 ID:???
ごめん。なんか説明まずかったみたい。
携帯でセッション使う方法として、クッキーが使えないからPHPSESSIDの代わりに携帯のID使えないかなってこと。
クッキーがないとセッションって使えないよね?後はuse_trans_sidを1にしてリンクにPHPSESSIDを使うくらいしか・・・
なんか間違ってる?
473nobodyさん:2010/10/20(水) 17:09:05 ID:???
>>472
つまりセッションIDをURLに付加したり、hiddenで持たしたりはしたくないって事ね。
474422:2010/10/20(水) 17:12:43 ID:???
>>458
isset の部分をコピーした時に、ミスって c になってた。。。
もうこの話は忘れてくれ。
475nobodyさん:2010/10/20(水) 17:18:11 ID:???
まあ普通はURLに付加してSESSION使うけどな、携帯では
476nobodyさん:2010/10/20(水) 17:19:41 ID:???
isset使ってチェックしてるから$_POST['hoge']がなくてもNOTICEエラーが出ない
@$hoge = $_POST['hoge'];
にすれば動作上は同じになるんでない?意味は違うけど
477422:2010/10/20(水) 17:26:32 ID:???
>>476
なるほど。本当はエラーが出るのか。
ローカル環境でもレンタルサーバでも出たことないから、今まで気にしてなかった。
478nobodyさん:2010/10/20(水) 17:32:26 ID:???
ここってなんでこんな親切な人が多いんだろ?
大抵専門スレで基本中の基本の質問してもググレカスって言われるのに
以前' 'と" "の違いも教えてくれたし本当に助かる
479nobodyさん:2010/10/20(水) 17:34:38 ID:???
今日はたまたま
長くROMってればこのスレの低レベルさがわかる
そのうちギャーギャー喧嘩はじめるぜ
480nobodyさん:2010/10/20(水) 17:37:57 ID:???
長くROMってればこのスレの低レベルさがわかるって?
今も十分酷いレベルだろ
issetがどうとか@エラー制御がどうとか・・・
481479:2010/10/20(水) 17:46:51 ID:???
PHPのレベルの話じゃない
基本的なことのほうが議論になりやすいだけだし
そういう話題は普通だと思うが
問題は煽ったりそれに乗ったやつが言い合いをはじめることだな
>>479-480も心当たりあるやつには煽りになってるから俺らも低レベルなのは認めざるを得ない
482nobodyさん:2010/10/20(水) 17:58:54 ID:???
issetより@やオレオレ関数が良いなんてもう何と言えば良いのやらww
483nobodyさん:2010/10/20(水) 17:59:33 ID:???
何この流れ・・・
484nobodyさん:2010/10/20(水) 17:59:57 ID:???
馬鹿が馬鹿を馬鹿と言い合うスレ
485nobodyさん:2010/10/20(水) 18:05:05 ID:???
@ってNOTICEを出さない最終手段みたいなものだよね?
486nobodyさん:2010/10/20(水) 18:15:39 ID:???
いつものくだ質スレらしくなってきたじゃないですか、誰かの発言からw
487nobodyさん:2010/10/20(水) 18:16:18 ID:???
>>482みたいな、煽りの書き込みだけする人が一番質が悪いよ

低レベルと煽る人は、否定はしても訂正はしてくれない
低レベルと言う位だから、何が問題なのかわかっているのに
それをあえて教えず、ただ煽ってニヤニヤしているだけ。

ちゃんと説明してあげるか、それが嫌なら書き込まずに黙ってればいいのに
488nobodyさん:2010/10/20(水) 18:26:21 ID:???
__isset()
489nobodyさん:2010/10/20(水) 18:26:29 ID:???
逆にPHPの高レベルってどんな話題だろ。
490nobodyさん:2010/10/20(水) 18:30:48 ID:???
くだ質で高レベル期待するとかないわ
491nobodyさん:2010/10/20(水) 18:31:49 ID:???
phpを型に厳密な言語に変更したいんですけどどなたかやってる人いませんか?

こんなの
492nobodyさん:2010/10/20(水) 18:33:17 ID:???
それ質問じゃないじゃん
493nobodyさん:2010/10/20(水) 18:36:35 ID:???
>>491
ふむ、たしかに高レベルだなw
まぁググって出ない物は高レベルって事かもね。
494nobodyさん:2010/10/20(水) 18:37:41 ID:???
>>491
いますよとかいませんよとか答えてそれで高度だなぁって悦に入るのかwきめえしばかくせえw
495nobodyさん:2010/10/20(水) 18:38:28 ID:???
くだ質で低レベルを理由に煽るとかKY過ぎるだろ
テンプレ守ってないとかならまだわかるが
496nobodyさん:2010/10/20(水) 18:40:39 ID:???
phpでドライバを作る為にコンパイラ作成をしているのですが以下のパース部分が上手くいきません><
497nobodyさん:2010/10/20(水) 18:41:26 ID:???
くだ質の日常業務(全板共通)
1. 人力検索エンジン
2. エスパー
3. 煽り合い
498nobodyさん:2010/10/20(水) 18:41:33 ID:???
そういうネタはいいからw
499nobodyさん:2010/10/20(水) 18:50:10 ID:???
>>478 の親切な人が多いんだろ?発言から、一気にここまで来るのか。
とりあえず >>478 にはあやまってもらおうか。
500nobodyさん:2010/10/20(水) 18:56:03 ID:???
親切な人って言われると恥ずかしいから逆に振ってるだけなんですよね
501nobodyさん:2010/10/20(水) 19:01:22 ID:???
>>496
自分で読み返してもそれが質問になってると思えるの?
502nobodyさん:2010/10/20(水) 19:03:04 ID:???
あいつさっきからなんで質問云々が気になって仕方がないんだ?
空気読めないボッチかなんかか?
503nobodyさん:2010/10/20(水) 19:05:13 ID:???
>>502の日本語が難解すぎます>_<
あいつとか言い出したしなんか脳内に敵でもいるんだろうなw
504nobodyさん:2010/10/20(水) 19:06:14 ID:???
食いついてきたぞあいつw
505nobodyさん:2010/10/20(水) 19:07:06 ID:???
レスみて一瞬毒雑かと思ったwwww
506nobodyさん:2010/10/20(水) 19:07:48 ID:???
質問スレで質問を待つのは自然だろ
人は自分が他人に指摘されて嫌だと思うことを他人も嫌がると思う性質があるらしいからおそらく>>501はボッチと言われることに異常に恐れを抱いている
507nobodyさん:2010/10/20(水) 19:08:48 ID:???
ボッチとか言い出したのは>>501じゃなくね?
508nobodyさん:2010/10/20(水) 19:09:19 ID:???
俺には全然今回は荒れてるように見えないなら
煽りってほどの煽りでもなく単なる馴れ合い状態
だいたい23時あたりからHOTだからぜひ見てみてくれ
509nobodyさん:2010/10/20(水) 19:10:56 ID:???
なにこの気持ち悪いながれ
510nobodyさん:2010/10/20(水) 19:11:59 ID:???
煽りあいになるとどこからとも無くおまえらはワラワラ集まるよなw
511nobodyさん:2010/10/20(水) 19:12:53 ID:???
おおかた質問したのに罵られてこのスレを逆恨みしてるあほかなんかが煽りにきてるだけだろ
512nobodyさん:2010/10/20(水) 19:18:21 ID:???
そりゃ罵ったやつが悪いから逆恨みではないな
513nobodyさん:2010/10/20(水) 19:19:08 ID:???
今日は賑やかですね。
514nobodyさん:2010/10/20(水) 19:25:50 ID:???
これからはおまえらの頭に@をつけてくれ。
515nobodyさん:2010/10/20(水) 19:28:36 ID:???
レスする時はRT:付けてね♪
516nobodyさん:2010/10/20(水) 20:40:24 ID:???
>>436
同じなら属性値を省略できるんじゃなくって
省略できる場合に属性名を省略できる
517nobodyさん:2010/10/20(水) 21:09:13 ID:???
>>516
仕様書読んでないの?
518nobodyさん:2010/10/20(水) 21:12:27 ID:???
どこの仕様書だよw
519nobodyさん:2010/10/20(水) 21:28:10 ID:???
>>516が正解
520nobodyさん:2010/10/20(水) 21:28:30 ID:???
>>519
仕様書読んでないの?
521nobodyさん:2010/10/20(水) 21:29:27 ID:???
どこの仕様書だよw
522nobodyさん:2010/10/20(水) 21:45:57 ID:???
ソースが仕様だ(キリッ
523nobodyさん:2010/10/20(水) 21:49:27 ID:???
どこの仕様書だよって言ってる人はW3C読んだ事ない?
(別に読まなきゃダメとか言ってるわけではないよ)

HTML 4.01 Specification (ja)
http://www.asahi-net.or.jp/~sd5a-ucd/rec-html401j/cover.html
524nobodyさん:2010/10/20(水) 21:57:36 ID:???
>>523
だから>>516で正解。よく読め。
525nobodyさん:2010/10/20(水) 21:58:58 ID:???
こういう〜で正解っていうレスさ
100%自演だから萎えるよね…
526nobodyさん:2010/10/20(水) 22:01:19 ID:???
残念ながら今回は自演ではないので100%ではない。
527nobodyさん:2010/10/20(水) 22:05:29 ID:???
あらあら…
528nobodyさん:2010/10/20(水) 22:06:08 ID:???
うふふ
529nobodyさん:2010/10/20(水) 22:12:25 ID:???
>>523がどういう突っ込み待ちなのか本気でわからない
530523:2010/10/20(水) 22:31:08 ID:???
すみません、正しく文脈を理解していませんでした。
しばらく回答を控えたいと思います。

ご迷惑をおかけして申し訳ございませんでした。
531nobodyさん:2010/10/20(水) 22:34:02 ID:???
そもそもhtmlの話題はweb制作板池って流しとけばよかったのに
532nobodyさん:2010/10/20(水) 22:40:54 ID:???
もういい
533nobodyさん:2010/10/20(水) 23:19:52 ID:???
>>524
読んでその解釈ってどうなんだよ
534nobodyさん:2010/10/20(水) 23:41:08 ID:???
本気で言ってんの? 釣りなの?
535nobodyさん:2010/10/20(水) 23:46:32 ID:???
仕様書3.3.4読んでこいよw
536nobodyさん:2010/10/20(水) 23:49:48 ID:10Yheo4O
〜ストレージの選択〜

PHP + MySQLをつかってWebアプリを作っています

[やりたい事]

文章から日本語形態素解析を利用してその文章を特徴付ける
単語を抽出し、特徴ベクトルとして類似した文章などを探す場合

この特徴ベクトルなんかを保存するストレージとして
相性が良いのは何になるんでしょうか?
537nobodyさん:2010/10/20(水) 23:53:53 ID:???
>>535
>HTMLでは、論理型属性は 最小化書式で現れてよい。すなわち、属性の 値 が要素の開始タグに単独で現れてよい。したがって、 selected 属性は次の記述で【「真」に】設定され得る。
>
><OPTION selected>
>
>上が最小化書式で、下が完全書式である。
>
><OPTION selected="selected">
538nobodyさん:2010/10/20(水) 23:56:19 ID:???
つまり>>436は正しいな
539nobodyさん:2010/10/20(水) 23:59:57 ID:???
>>516>>516を正解と書いてた子らも無知は罪じゃないから心配するな
ただ無知なくせにえらそうにするのは恥ずかしいこと
540nobodyさん:2010/10/21(木) 00:00:32 ID:???
はいはい釣り乙
541nobodyさん:2010/10/21(木) 00:01:34 ID:???
>>538-539
せめて嘘を教えるのだけはやめてくれ。>>537を読んでくれ
542nobodyさん:2010/10/21(木) 00:01:37 ID:???
やっぱこの時間帯はHOTだなwww
いいぞもっとやれ
543nobodyさん:2010/10/21(木) 00:04:00 ID:???
>>541
>>537に属性名と属性値が同じだから略せるって書いてあるんだが
ちょっと難解にかかれてるから日本語がわからない、みたいな類なのか?
日本語が苦手なら原文にあたってこい

In HTML, boolean attributes may appear in minimized form -- the attribute's value appears alone in the element's start tag. Thus, selected may be set by writing:
<OPTION selected>
instead of:
<OPTION selected="selected">
544nobodyさん:2010/10/21(木) 00:05:19 ID:???
>すなわち、属性の 値 が要素の開始タグに単独で現れてよい。
これが当該箇所な
545nobodyさん:2010/10/21(木) 00:12:22 ID:???
なんだこの流れw

<OPTION selected="selected"> → <OPTION selected>
省略されてるのは属性値じゃなくて属性名の方だぞ。

さらに
<P align="center"> → <P center>
という省略も可能。SGML SHORTTAGの仕様。
ちなみPのalignはDeprecatedだからTransitionalまでだぞ。
546nobodyさん:2010/10/21(木) 00:15:27 ID:???
属性値を省略できるといってるのは>>516だけだな
指摘が間違ってるうえにかわりに提唱した内容まで間違ってるとw
547nobodyさん:2010/10/21(木) 00:17:57 ID:???
>>546
kwsk
>>436のアンカーミスかな?
548517:2010/10/21(木) 00:18:39 ID:???
話がそれていってるが、
>>517>>516が否定してる>>436
>HTML4とかは属性名と属性値が同じなら省略できた
は間違いではないぞってことがいいたいだけだからな
549nobodyさん:2010/10/21(木) 00:20:10 ID:???
>>547
いや誤読してたみたい
よく読んだら誰も属性値を省略できるとは言ってない
>>517>>436がそう言ったかのように書いてたから勘違いした
550nobodyさん:2010/10/21(木) 00:20:34 ID:???
2行目はスルーかよw わかんねぇよw
551550:2010/10/21(木) 00:21:49 ID:???
>>548宛てです。アンカーサボってまじさーせん
552nobodyさん:2010/10/21(木) 00:22:53 ID:???
>>550
あほなの?
最小化書式の仕様を否定しといて「略せるときは略せる(キリッ」とかないわw
553nobodyさん:2010/10/21(木) 00:25:05 ID:???
>>550
その肝心な2行目
>省略できる場合

>属性名と属性値が同じ
なんだよ
554nobodyさん:2010/10/21(木) 00:27:13 ID:???
>>436を否定してんのも>>516を正解とか言ってんのも>>516当人だけなんだよな?
こんなのが複数いるとか信じたくないわ
555nobodyさん:2010/10/21(木) 00:30:02 ID:???
仕様書読んでもまだ認めないやつまでいたしなw
556516:2010/10/21(木) 00:34:18 ID:Xi+aDhf4
なんか荒れちゃったみたいですまんこ

>HTML4とかは属性名と属性値が同じなら省略できたからselectedだけでいいけど、
「属性名と属性値が同じなら省略できた」のではなく「属性値が択一式なら省略できた」

>XHTMLとかは属性値が必須だからselected="selected"って書かないと駄目
「属性値が必須」ではなく「属性名が必須」

って言いたかっただけです。紛らわしい言い方をしてしまってごめんなさい
557nobodyさん:2010/10/21(木) 00:37:09 ID:???
>>436はどう好意的に読んでも違和感ありまくり。

> HTML4とかは属性名と属性値が同じなら省略できたからselectedだけでいいけど、
属性名と属性値が同じだから省略できるとは限らない。
 例: <a href="href">を<a href>とは省略できない。
逆に属性名と属性値が異なっても省略できる場合がある。
 例: <P align="center">を<P center>と省略できる。

> XHTMLとかは属性値が必須だからselected="selected"って書かないと駄目
「HTMLは属性値が必須でないから」の意味に取れるが、省略されるのは属性値ではなくて属性名の方である。
558nobodyさん:2010/10/21(木) 00:49:19 ID:???
何このスレ違いな流れ
559nobodyさん:2010/10/21(木) 00:57:40 ID:???
おかげでHTML知識のヤバい奴がいっぱい発掘できましたね
560nobodyさん:2010/10/21(木) 00:58:26 ID:???
もう挑発しあうのやめようぜ
561nobodyさん:2010/10/21(木) 01:01:43 ID:???
まぁhtmlなんてUI部品に過ぎないしどうでもいいな
htmlをプログラムと思い込んでるやつには
validじゃないのだの言われるかもしれないが
562nobodyさん:2010/10/21(木) 01:02:16 ID:???
xhtmlて何?ってレベルの奴がPHP使うから評判下がるんだ、迷惑な限りだな
563nobodyさん:2010/10/21(木) 01:03:03 ID:???
どうでもいいならそんな挑発せずにスルーしておくれ
564nobodyさん:2010/10/21(木) 01:04:19 ID:???
挑発ってこのスレにhtmlをプログラムと思い込んでるやつはいないだろ・・・
web制作板でなら挑発になるかもしれんがな
565nobodyさん:2010/10/21(木) 01:08:39 ID:???
htmlをプログラムと思い込んでる人なんて居ないよ
でも見苦しいのでちゃんと勉強してね
566nobodyさん:2010/10/21(木) 01:10:34 ID:???
そういうことを言わないと自尊心が満たされないのか(w
567nobodyさん:2010/10/21(木) 01:12:23 ID:???
もういいからまじで
568nobodyさん:2010/10/21(木) 01:14:39 ID:???
>>557
><P align="center">を<P center>と省略できる。
これってマジなの?
<center>が<div align=center>の省略って話ではなくて?
569nobodyさん:2010/10/21(木) 01:19:18 ID:???
「属性名と属性値が同じだから最小化書式が可能」という解釈は誤り。
あくまで「論理型属性の場合は最小化書式が可能」が正しい。
570nobodyさん:2010/10/21(木) 01:21:14 ID:???
>>568
決まった属性値(例えば、right|left|center)から一つを選ぶ様な場合は、属性名="属性値" の代わりに 属性値 を書くだけでもいい
ちなみに center 要素と、 div 要素は別物

これ以上は HTML関係のスレでやった方がいい
571nobodyさん:2010/10/21(木) 01:21:29 ID:???
>>568
それがマジかは知らんが
div align="center"の省略がcenterなわけないわ
centerタグはデザインをスタイルシートでするという概念がなかった10年前に
中央寄せにデザインするために作られたものでしょ
ブロック要素のalign属性はその発展形ではあっても省略したものではない
今はブロック要素の中央寄せもalign使わないでスタイルシートでやるけどね
572nobodyさん:2010/10/21(木) 01:22:41 ID:???
>>568
><P align="center">を<P center>と省略できる。
http://www.asahi-net.or.jp/~sd5a-ucd/rec-html401j/index/attributes.html
の表でTypeがカッコ書きされてる属性が省略(最小化書式)可能。
という仕様なので上記は正しい書式なのだが、現在のIEもFirefoxも対応していない。
ちなみに checked="checked" のような完全書式は一部のブラウザでは対応していない。
573nobodyさん:2010/10/21(木) 01:27:35 ID:???
>>568
HTMLの仕様では直接触れてないけど、>>545にあるようにSGMLの仕様
SGML SHORTTAG
とかでググれば出てくる
574nobodyさん:2010/10/21(木) 01:38:03 ID:???
スレ違いだしAGEてないのに回答感謝

>>571
>div align="center"の省略がcenterなわけないわ
仕様書には
>CENTER shorthand for DIV align=center
とあるよ
575nobodyさん:2010/10/21(木) 01:53:22 ID:???
<input submit>だけでボタンができるってことか
なんか凄いな
576nobodyさん:2010/10/21(木) 01:57:00 ID:???
大規模サイトなくせに運営してるのが貧乏人なら転送量へらすにはいいかもね
577nobodyさん:2010/10/21(木) 02:00:08 ID:???
改行コード消すだけでも
結構転送量減るからな・・・

578nobodyさん:2010/10/21(木) 02:04:59 ID:???
つgzip
579nobodyさん:2010/10/21(木) 02:20:37 ID:???
gzipってブラウザ側で勝手に展開して表示してくれるの?
580nobodyさん:2010/10/21(木) 03:10:51 ID:oSCiHxPQ
質問ですが
 <select name="abcde">
 <option value="1">一番</option>
 <option value="2">二番</option>
 <option value="3">三番</option>
 </select>
を何も選択していないときは隣に設置されたプルダウンメニューが
 <select name="">
 <option value="">何も選択されていません</option>
 </select>
と、なり
1番を選択すると隣に設置されたプルダウンメニューが
 <select name="1ban">
 <option value="p">ピッチャー</option>
 <option value="c">キャッチャー</option>
 <option value="b">バッター</option>
 </select>
と、値が変更され
2番を選択すると隣に設置されたプルダウンメニューが
 <select name="2ban">
 <option value="f">ファースト</option>
 <option value="s">セコンド</option>
 <option value="t">サード</option>
 </select>
となるようなプルダウンメニューを作りたいのですがphpやHTMLでどうにかならないでしょうか?
581nobodyさん:2010/10/21(木) 03:12:58 ID:???
javascript
582nobodyさん:2010/10/21(木) 03:16:19 ID:oSCiHxPQ
javascriptでしたか・・・。
583nobodyさん:2010/10/21(木) 03:30:24 ID:oSCiHxPQ
皆さんJavaScriptとか勉強してるんですか?
HTML、CSS、PHPで大抵の事は何でもできると思ってたのですがやっぱりJavaも重要なんでしょうか?
スレチでしたらすみません
584nobodyさん:2010/10/21(木) 03:33:12 ID:???
スレチです
585nobodyさん:2010/10/21(木) 03:37:49 ID:???
javascriptは深すぎてそこまでやってないけど
とりあえずさわり程度はやってる
重要かどうかって聞かれたらphpより重要

求人募集で言ったらC#やPerlやphpより圧倒的に需要高い
586nobodyさん:2010/10/21(木) 03:37:53 ID:???
>>583
目的の為なら何だってやる
javascriptもjavaもflashもsilverlightもなにもかもね
websocketやりたいならnode.js使って組むし逆にやらない理由なんて無いでしょ
覚えるだけで後は楽できるなら10でも20でも言語なりなんなり覚えますがな
587nobodyさん:2010/10/21(木) 03:44:13 ID:???
そりゃしてますよ
JavaScriptでできてPHPでできないこともあるからね
588nobodyさん:2010/10/21(木) 03:45:06 ID:oSCiHxPQ
>>586
php覚えるだけでヒィヒィ言ってた自分が愚かでした
10でも20でもがんばってみます
589nobodyさん:2010/10/21(木) 03:45:13 ID:???
ちなみに>>580のはPHPでも可能だが
いちいち画面遷移を伴なうし操作性が最悪
そういうのはJavaScriptが向いている
590nobodyさん:2010/10/21(木) 03:46:31 ID:???
HTML、CSS、Javascriptの3者は切り離せない。クライアントサイドだし。
PHPはサーバーサイドだから位置づけが異なる。
PHP内でHTMLを記述するようにPHP内でJavascriptを記述することもよくある。
591nobodyさん:2010/10/21(木) 03:48:03 ID:???
>>589
javascriptがOFFになっているときの手当てとして画面遷移させるのアリかと
592nobodyさん:2010/10/21(木) 03:50:10 ID:???
まぁPHPとJavaScript使えるようになったら本当になんでも出来る様になるけどね
この二つとSQLとC言語辺りができりゃ困る事は何もなくなると思う
phpでサーバーサイド、JavaScriptでクライアントサイドで守りは完璧って感じ
>>580をphpでやったら一々送ったり面倒臭い事になる

わざわざ「こんなもん送るほどでもねーか」というのをJavaScriptで処理すれば作業効率もずっとよくなる
593nobodyさん:2010/10/21(木) 03:52:03 ID:???
>>589
画面がかわるってことはその都度submitを押させるのかな?
594nobodyさん:2010/10/21(木) 03:54:20 ID:???
>>583
深い意味はないだろうが
javascriptとjavaは別物
ちなみにjavaという語句自体はジャワカレー、ジャワ原人などのジャワ
595nobodyさん:2010/10/21(木) 03:57:59 ID:???
>>593
JavaScriptと組み合わせてフォームが変わった時に送信とかそういう感じでしょ
そこまでするなら全部JavaScriptで組めって感じだが
初心者は技術力がないからそのへんのサイトで
option-select値が変わったらサーバにsubmitするみたいなサンプル引っ張ってきて
そこだけ実装するんだよ
596nobodyさん:2010/10/21(木) 03:59:33 ID:???
>>595
なるほどPHPだけで可能って意味にとらえてたわ
さんくす
597nobodyさん:2010/10/21(木) 04:02:34 ID:???
でもselectさせてGOというラベルつけたsubmitボタンをおさせてサーバで処理するなんてのは割とよくあるよな
サンプル集とか名乗ってるサイトによくあるwww
598nobodyさん:2010/10/21(木) 04:07:31 ID:???
>>597
>>580みたいな内容でその仕組みってよくあるか?
それなら最初から1banから3banまでのプルダウン表示させとけって感じだよね
599nobodyさん:2010/10/21(木) 04:09:41 ID:???
わざわざサーバーで処理させると負荷もかかるし、わざわざページ更新するわけだからあんまり良いとは言えないな
素直にjavascriptを使ったほうが良い
javascriptはHTMLとセットで覚えたほうが良いって位重要だし
600nobodyさん:2010/10/21(木) 04:14:56 ID:???
重要は言い過ぎな気が
601nobodyさん:2010/10/21(木) 04:15:55 ID:???
確かに言い過ぎたな俺
602nobodyさん:2010/10/21(木) 04:19:57 ID:???
JSはおしゃれとかクールとかちょいと便利で、あるといいけどないならないで別にかまわないって印象だな
俺のJSの使い方がそうなだけかも知れんけど
603nobodyさん:2010/10/21(木) 04:26:33 ID:???
HTMLとCSSを拡張するって感じだね
鍛えられたHTMLの更なる延長ってトコかな?
それにphpが加われば怖いものは無いと言っても過言ではないと思う
604nobodyさん:2010/10/21(木) 04:28:55 ID:???
>>602
まぁあってるんじゃね
ユーザインターフェースやユーザビリティ改善ってのがJavaScriptの得意分野だし
別に画面にエフェクトかけたり好きな場所にブロック動かせたりとかしなければ基本いらんよな
ajaxも別に使わなくてもサーバに読み書きできて情報自体使ったからといって変わるわけでもないし
いつだかGoogleがパックマン作ってたが
あれもターン制にして次に進む方角だけ入力して毎回submitおしてもらえばPHPでもできるしな
それはさすがに無理があるかwwww
605nobodyさん:2010/10/21(木) 04:31:33 ID:???
俺としてはsubmitは多用しないのが理想なんだけどな
サーバーの負荷やクライアント側で1秒ほど時間かかったり美しくない
クライアント側でできるのはなるべくクライアント側でやるのが好きなんだよなぁー
606nobodyさん:2010/10/21(木) 04:32:53 ID:???
なんというTAS
607nobodyさん:2010/10/21(木) 04:40:19 ID:???
JavaScript無しに現代のWebアプリケーションは語れないだろう
サーバサイド言語でHTML吐き出すなんて10年前の流行だぞ
608nobodyさん:2010/10/21(木) 04:43:30 ID:???
えっ?
サーバサイドから吐き出したHTML
もしくはサーバサイドから送出したXMLやJSONを使って
クライアントでデータいじって表示するとかならわかるけど

>サーバサイド言語でHTML吐き出すなんて
今もこれからもこれは変わりませーん
609nobodyさん:2010/10/21(木) 04:45:34 ID:???
きっと>>607はHTTPを超越した未来からきた未来人なんだよ
610nobodyさん:2010/10/21(木) 04:46:43 ID:???
今は印刷屋とか看板屋がwebデザ気取って
FlashやDWで安価で作るのが主流

そういうところに頼んじまった会社なり法人はSEO対策とかできるのかと
たまにかわいそうに思う
611nobodyさん:2010/10/21(木) 04:49:23 ID:???
>>610
ネットに疎いからそういうとこに頼む=ネットに疎いからアクセスされてないことに気付かない

だから問題ない
612nobodyさん:2010/10/21(木) 04:50:11 ID:???
DWって単なるウェブオーサリングツールじゃないの?
なんか新しいクライアント技術?
613612:2010/10/21(木) 04:51:15 ID:???
と書いてから思ったけど
DWが吐くソースが糞ってことかな?
614nobodyさん:2010/10/21(木) 04:54:17 ID:???
>>608
今はやってないなんて書いてませーん
615nobodyさん:2010/10/21(木) 04:56:15 ID:???
>>614
616nobodyさん:2010/10/21(木) 05:00:36 ID:???
>>607は1行目と2行目が全く関連性がないからワケが分からない
1行目は大いに同意できるんだけどな

サーバサイド言語でHTML吐き出す以外に
同じことができる流行りの別の技術があるなら是非教えていただきたい
617nobodyさん:2010/10/21(木) 05:02:14 ID:???
>>613
最近のDWはそれなりにきれいなソース吐くみたいだけど
そういうところが作った場合
製作側が素人過ぎてコピペとかペイント感覚で作るもんだから
スクリプトの意味を理解してない場合が多い

修正請け負ったとき、80%近く書き直した
618nobodyさん:2010/10/21(木) 06:38:31 ID:???
もう寝てもいいかい?
619nobodyさん:2010/10/21(木) 07:10:02 ID:???
>>618
質問はID出してね
620nobodyさん:2010/10/21(木) 07:39:15 ID:2AZCD3Ve


【PHPのバージョン】5.3



【質問内容】
ttp://php-web.net/faq/rss.html

ここを参考にRSSを読み込んでみたのですがrss2.0が読み込めないみたいです。
simplexmlでRSS2.0を読み込む方法ってありますか?
621nobodyさん:2010/10/21(木) 07:47:30 ID:???
>>620
本当にRSS2.0のせいで読み込めないの?
622nobodyさん:2010/10/21(木) 07:53:03 ID:2AZCD3Ve
623nobodyさん:2010/10/21(木) 07:55:27 ID:2AZCD3Ve
自己解決しました。
構造が違うのか・
624nobodyさん:2010/10/21(木) 08:27:53 ID:???
phpって凄いな
echo "<bgsound src="mrpg.mid" hidden="true" loop="infinite" autostart="true">"
でechoで表示されるのが"こんにちは"とか文字だけじゃなくHTMLの構文までできるとは
もしかしてこの""の中にJavaScriptとか入れても平気なんですか?
だとしたら物凄い色々な事出来ると思うんだけど
625nobodyさん:2010/10/21(木) 08:30:25 ID:???
>>624
HTMLも文字だけどな。
626nobodyさん:2010/10/21(木) 08:32:16 ID:???
>>613
FWとかで画像にレイア指定して
画像からHTMLに変換できるのがあって
多分それの事じゃないのかなと
627nobodyさん:2010/10/21(木) 08:33:29 ID:???
>>624
単に、直接書くかPHPに書かせるかの違いで、クライアントに届くHTMLは同じものだからね
628nobodyさん:2010/10/21(木) 08:42:11 ID:???
>>624
それだとエラーでない?
"で括ってる文字列に含まれる"には\をつけないと
629nobodyさん:2010/10/21(木) 08:48:42 ID:???
echo 'value="100"'
実際にはこんな感じでやってます
更に""で括ったら\\でやったらいいんですかね?

以前"value="100""とやったらエラーでましたのでこうしてるのですが
630nobodyさん:2010/10/21(木) 08:50:44 ID:???
>>629
まずIDだせな

えと、
value="100"を出力したいのなら''で括ってよい
value="$value"みたいな変数を含む場合は""で括らないと変数が展開しない
細かいことをいえば、''だと\nでソースを改行しようとしても\nがそのまま出力される
631nobodyさん:2010/10/21(木) 09:07:22 ID:09ClhB8v
>>630
なるほど!
よくわかりました!
632nobodyさん:2010/10/21(木) 09:12:00 ID:???
echo '<bgsound src="',$src,'" hidden="true" loop="infinite" autostart="true">';

俺ならこう書く
JSでシングル使うならその部分だけダブルで
そして改行コードはPHP_EOLだな
633nobodyさん:2010/10/21(木) 09:24:58 ID:???
今はJavaよりもASP.net
634nobodyさん:2010/10/21(木) 10:06:42 ID:???
このスレ自己主張強い人間多いよな
635nobodyさん:2010/10/21(木) 10:11:41 ID:???
ネット限定だけどな
636nobodyさん:2010/10/21(木) 10:14:23 ID:???
>>632
> そして改行コードはPHP_EOLだな
echo '<p>test</p>'.PHP_EOL;
これでソース改行されたんですが、こんな書き方であってます?
637nobodyさん:2010/10/21(木) 10:34:34 ID:???
あってるよ
638nobodyさん:2010/10/21(木) 10:53:38 ID:???
>>637
ありがとうございます
639nobodyさん:2010/10/21(木) 10:59:22 ID:???
いいってことよ
640nobodyさん:2010/10/21(木) 11:03:46 ID:???
平和が一番だね
641nobodyさん:2010/10/21(木) 12:29:30 ID:???
さくらインターネットの共有サーバで独自ドメインに対して
共有SSLを設定するとセキュリティーに脆弱性があるとの事なのですが、
どうすれば独自ドメインで安全に https で操作出来るになりますか?
642nobodyさん:2010/10/21(木) 12:34:47 ID:???
それがPHPとなんの関係が?
643nobodyさん:2010/10/21(木) 12:39:04 ID:???
脆弱性があると言った人に聞くのが一番だろ、得意げに教えてくれるよ
鯖内部の設定まではわかりませーん
644nobodyさん:2010/10/21(木) 12:54:49 ID:???
>どうすれば独自ドメインで安全に https で操作出来るになりますか?
専用サーバ借りて証明書取得して下さい
645nobodyさん:2010/10/21(木) 13:18:28 ID:???
>>644
専用サーバだと金が高いです。
646nobodyさん:2010/10/21(木) 13:34:00 ID:???
じゃ無理
そもそも証明書は1つのIPにつき1つしか証明してくれない
647nobodyさん:2010/10/21(木) 14:07:54 ID:???
× IP
○ ドメイン
648 [―{}@{}@{}-] nobodyさん:2010/10/21(木) 14:08:13 ID:???
649nobodyさん:2010/10/21(木) 14:12:17 ID:???
IPだよ
650nobodyさん:2010/10/21(木) 14:28:34 ID:???
>>641
共有SSLは、セキュリティーに脆弱性があるのではなく、正しい会社かまでは保証してくれないってことでは?
フィッシング詐欺とかの可能性。
651nobodyさん:2010/10/21(木) 14:30:25 ID:???
>>646-647,649

スレチだが釣られる
マルチドメイン証明書やワイルドカードで検索しましょう。
652nobodyさん:2010/10/21(木) 14:51:06 ID:???
マルチドメイン証明書なんてパチモンじゃん・・・
653nobodyさん:2010/10/21(木) 14:52:21 ID:???
>>646 >>650 >>651
マルチ質問してみましたが

どこでもやはり専用サーバにしろ

とサクラの鯖管が営業してきてうざいのですが
どうやら無理の様なので専用サーバを考えます。

ただ、月額3000円程度で100G使えるサーバを提供してるところとか
ありませんか?

出来るだけ金を掛けたくないのです。
654nobodyさん:2010/10/21(木) 14:54:18 ID:???
マルチ質問してみましたがじゃねえよw
一般マナーとして禁止事項ってことぐらい覚えとけ
655nobodyさん:2010/10/21(木) 14:55:11 ID:???
だ・か・ら 板違いってことを気づけよ
656nobodyさん:2010/10/21(木) 15:13:51 ID:EvaxVDot
Pearを使用したログイン処理を作成しているのですが、
画面内にid/passを入力後、自画面(login.php)にPOSTする際に

次の様なエラーが表示されてしまいログインする事が出来ません。
$a->start();  を実行した場合になぜこの様なエラーが出てしまうのでしょうか?

【login.php】

<?php
header('Content-Type: text/html; charset=UTF-8');

if(isset($_GET['login']))
{
 $optional = true;
}
$a = new Auth("DB", $params, "loginFunction", $optional);
$a->setExpire(600) ;
$a->start();

/*
 ■$a->start(); を実行した時に出力されるエラー
  Cannot modify header information - headers already sent by
  (output started at C:\htdocs\hogehoge\login.php:96) in
  C:\php\PEAR\Auth.php on line 858

 ■96行目のコード
  print("<!DOCTYPE html PUBLIC \"-//W3C//Dtd Xhtml 1.0 Transitional//EN\"
    \"http://www.w3.org/tr/xhtml1/Dtd/xhtml1-transitional.dtd\">");
*/
?>
657nobodyさん:2010/10/21(木) 15:18:48 ID:???
>>656
エラーメッセージの通りで、login.phpの96行目でprintしてるけどそのタイミングでは早すぎる。

もっと後で出力するように直してください。
658nobodyさん:2010/10/21(木) 15:24:15 ID:EvaxVDot
>>657
ありがとうございます。エラーが出なくなりました。
659nobodyさん:2010/10/21(木) 19:06:45 ID:xUlWog0Z
言語設計者たちが考えること [大型本]
にPHPがない
660nobodyさん:2010/10/21(木) 19:13:49 ID:???
チェック処理は理想を言えば、

JavaScript + サーバ側

だと思うけど開発の工数を考えるとサーバ側だけで
やった方が無難だよね?

二度手間な気がする。
661nobodyさん:2010/10/21(木) 19:23:38 ID:???
そのへんはユーザビリティによる
662nobodyさん:2010/10/21(木) 19:25:54 ID:???
プログラムを書く側が二度手間になるだけでユーザーにとっては手間が省ける
663nobodyさん:2010/10/21(木) 19:36:17 ID:???
やっぱそうだなよな。
仕方が無いからJavaScript側にもチェックを入れるか。

それよりブラウザ毎の仕様を統一しやがれ。
664nobodyさん:2010/10/21(木) 19:43:12 ID:kMTwulle
sqlite_openでdbが読み込まれないんですけど、ありがちな原因を教えていただけないでしょうか?
パスの指定も間違ってはいないのですが...
665nobodyさん:2010/10/21(木) 19:50:12 ID:???
作ってる奴が馬鹿
666nobodyさん:2010/10/21(木) 20:24:13 ID:???
>>664
ありがちな原因というとsqlite_openが使えない環境で使おうとしてることかな?
667nobodyさん:2010/10/21(木) 21:10:08 ID:???
ありがちな原因:本人が間違っていないと思っているパスの指定が間違ってる
668nobodyさん:2010/10/21(木) 21:11:52 ID:???
>>663 >それよりブラウザ毎の仕様を統一しやがれ。
新しいバージョンが出ても新機能は追加できないということですね
669nobodyさん:2010/10/21(木) 21:12:13 ID:kMTwulle
>>666
レスありがとうございます。環境は良く分かってないんですが、
sqlitemanagerというツールを使ってdbの生成をサーバー上で出来たので問題ないかと思います。
コピペで申し訳ないですが
make.php
//エラーメッセージ --- エラーメッセージを格納する変数を指定する
$dbHandle = sqlite_open('SQLiteManager-1.2.0/testdb', 0666, $err);
↑これで読み込みません。やはり環境のせいなのでしょうか。
670nobodyさん:2010/10/21(木) 21:13:35 ID:kMTwulle
>>667
パスは何度も疑って同フォルダまでぶちこんで駄目だったんで多分大丈夫です
671nobodyさん:2010/10/21(木) 21:27:48 ID:JTkcfJp6
プログラミング初心者なんですが
下記のような辞書を作ろうと思っております。

・単語を入力すると、項目に飛ぶ
・検索条件(例:動詞・名詞・英語・ドイツ語など複数選択可)による絞り込み
・検索に一致する候補が複数ある場合は、それを一覧にして表示

これは個人が趣味レベルで作れる代物でしょうか
作れるとしたら最も適した言語は何でしょうか
672nobodyさん:2010/10/21(木) 21:29:03 ID:???
データが既にあるなら個人でもわかる奴が作れば1時間で作れるよ
言語は何でもいい
673nobodyさん:2010/10/21(木) 21:31:31 ID:hQgLU4cA
クラスのオブジェクトの結合って出来ないのでしょうか?

$obj = new Main();
$obj =& new Sub();
print_r($obj);

イメージ的にはこんな感じかと思っていたのですが、
上記のコードはSubしか取得出来ません。
674nobodyさん:2010/10/21(木) 21:35:16 ID:???
javascriptのプロトタイプでもやってろ
675nobodyさん:2010/10/21(木) 21:36:32 ID:JTkcfJp6
>>672
ありがとうございます。
676nobodyさん:2010/10/21(木) 21:48:28 ID:???
>>669
バージョンによっては使えなくなったんじゃなかったっけ?
sqlite_openとか使わずにPDOで書いたほうがいいよ
677nobodyさん:2010/10/21(木) 22:59:11 ID:???
>>673
実はこれを使えばできる
http://jp.php.net/manual/ja/book.runkit.php
678nobodyさん:2010/10/21(木) 23:06:44 ID:hQgLU4cA
>>677
情報ありがとうございます。
逆にこれを使わずに素のPHPでは出来ないんですね。

CakePHPが「this->モデル名->関数」のような指定方法で書いているので
複数のクラスを結合して一つにまとめていると思っていました。
(Cakeを見ても良くわかりませんが・・・
679nobodyさん:2010/10/21(木) 23:21:18 ID:lvmPzwix
セッション内容を破棄して終了する場合って
$_SESSION = array();
session_write_close();
session_destroy();
でいいの?
session_destroy();はいるのかね?
680nobodyさん:2010/10/21(木) 23:40:58 ID:???
>>678
それはOOPの所を読もう
681nobodyさん:2010/10/21(木) 23:43:35 ID:???
>>679
というよりsession_write_closeはいるのかね?
682nobodyさん:2010/10/21(木) 23:44:24 ID:xUlWog0Z
>>679
いる
683nobodyさん:2010/10/21(木) 23:48:29 ID:???
session_destroyの直前にsession_write_closeしてどうすんの
684nobodyさん:2010/10/22(金) 00:30:19 ID:???
>>671
「web api 辞書」 でググって利用すれば、簡単に作れるかも。
もしどこかのAPIを使わないのなら、辞書データを作成するのが一番のネックになる。フリーもあるけどね。
685nobodyさん:2010/10/22(金) 00:33:00 ID:???
>>679
session_destroyはいる
session_write_closeがいらねーんじゃね
686nobodyさん:2010/10/22(金) 00:40:38 ID:Quj7u5DL
先生!

#hoge = <<< HEY
oraora
oraora
oraora
oraora
HEY;

こんなコードがあったんですけどこれってどういう意味ですか??
phpのマニュアルが検索できないです><
687nobodyさん:2010/10/22(金) 00:51:33 ID:???
#hoge

$hoge

こうですた
688nobodyさん:2010/10/22(金) 00:57:09 ID:???
>>686
マニュアルの基礎から読め
689nobodyさん:2010/10/22(金) 00:57:29 ID:???
>>688
どこ?
690nobodyさん:2010/10/22(金) 01:01:03 ID:???
別スレで聞いたら10秒で答えてくれたわ
おまえらレベル低すぎ!
691nobodyさん:2010/10/22(金) 01:14:58 ID:???
Pear::Auth を使った認証を破棄(ログアウト)する場合に

logout();


を使っているのですがこれを行えばセッションも完全に破棄されるのでしょうか?

無駄にリソースを食ったりしやしないかちょっと心配です。
692nobodyさん:2010/10/22(金) 01:18:01 ID:???
セッションはテンポラリだから気にしないでいいよ
693nobodyさん:2010/10/22(金) 01:18:41 ID:???
694nobodyさん:2010/10/22(金) 01:26:38 ID:???
>>692
ありがとうございます

>>693
しにくされ
695nobodyさん:2010/10/22(金) 02:25:25 ID:???
死肉去れ?
696nobodyさん:2010/10/22(金) 04:41:40 ID:qwjMjkx8
画像ファイルの削除について質問です

/picture/ディレクトリの中に
key1_100.jpg, key1_103.jpg, key1_4562.jpg などの画像ファイルが入っています
ファイルの名前はkey1_という文字列が冒頭についているものとします

この条件で、 key1_〜で始まるファイルをまとめて削除したいんですがどうしたらいいですか?
ファイル名が拡張子まで含めてわかってたら
unlink("/picture/key1_100.jpg"); でいいのかなと思いますが
key1_以降がわからないので上記の形での削除はできません。
またkey2_〜というファイルもあるので、ディレクトリの中身を全部消すなども無理です。
ご意見よろしくお願いします
697nobodyさん:2010/10/22(金) 06:58:31 ID:???
>>696
http://jp2.php.net/manual/ja/function.unlink.php
一番下

function delfile($str)
{
foreach(glob($str) as $fn) {
unlink($fn);
}
}

delfile('/picture/key1_*');
698nobodyさん:2010/10/22(金) 10:32:39 ID:FczuqSIi
ログを表示したいんだけど、さくっと簡単に出来るライブラリとかない?
699nobodyさん:2010/10/22(金) 10:35:15 ID:???
お前のログなんてみたくない
700nobodyさん:2010/10/22(金) 10:35:24 ID:???
>>1
701nobodyさん:2010/10/22(金) 10:44:14 ID:a21HIBns
PHPでは通常POSTされたデータを name を指定する事により
取得しますが、これをIDを指定して受取る方法とかってあるのでしょうか?

<input id="id_simei" name="name_simei" type="text" />

$_POST["name_simei"]

$_POST["id_simei"] 的な取得は可能ですか?
702nobodyさん:2010/10/22(金) 10:56:03 ID:???
>>701
ありません。そもそもブラウザからidは送られてこない。

普通にPOSTするかわりにjavascriptで情報拾って鯖に投げるとか
いちいち書けば可能かもしれんがやめとけ。
703nobodyさん:2010/10/22(金) 10:56:32 ID:???
>>701
postメソッドで送られてるのはnameと値の一対だからidは送信されてないと思うよ
704nobodyさん:2010/10/22(金) 10:59:27 ID:9Z1FVvDn
[[foo|mailto:[email protected]]]
みたいな記述を
<a href="mailto:[email protected]">foo</a>
に書き換えて表示させたいんですが、

$comment = [[foo|mailto:[email protected]]];
$comment = preg_replace("/\[\[(.*?)\|(.*?)\]\]/","<a href=\"$2\">$1</a>",$comment);
とやっても置換できませんでした

[と|はエスケープ必須ですよね?

どこをどう修正したらうまくいきますでしょうか
お教えくださいますようお願いします
705nobodyさん:2010/10/22(金) 11:02:33 ID:a21HIBns
>>702 >>703
ありがとうございます。
仕方が無いのでやはり従来通り name で取得します。
706nobodyさん:2010/10/22(金) 11:04:18 ID:???
>>704
できてるけど?
707nobodyさん:2010/10/22(金) 11:06:40 ID:???
>>706
$comment = $line[comment];

$comment = [[foo|mailto:[email protected]]];
$comment = preg_replace("/\[\[(.*?)\|(.*?)\]\]/","<a href=\"$2\">$1</a>",$comment);

echo $line[comment];

ってやってました・・・
708nobodyさん:2010/10/22(金) 11:49:04 ID:CQ5MzjSC
mysqlで、元のレコードの値に関数をかけることってできませんか?

例えば
function _rk($_val){
if($_val >= 5){
$text = "good!";
}
return $text ;
}

こんな感じの関数を

update table1 set
point= point+ 1,
rank = _rk(point + 1)
where no = 1

こんな感じで(実際にはできませんが)適用したいのです。
selectで一度データをひっり出してから
rank 値を作成するのは効率が悪いので避けたいです。
分かりくくてすみません。
どなたかいい案があればお願いします。
709nobodyさん:2010/10/22(金) 12:01:00 ID:???
>>708
update文で、CASE使えばできる
「mysql update case」とでも検索してみてください
710nobodyさん:2010/10/22(金) 12:40:28 ID:???
SEO対策にスクリプトの拡張子を表示させない様にしたいです。
具体的には
http://hogehoge.com/test.php
というURLでアクセスされると
http://hogehoge.com/test
として表示させたいのですが
どの様な mode_rewrite を書けば良いでしょうか?


711nobodyさん:2010/10/22(金) 12:42:18 ID:???
まぁそんなことでSEO対策にはならんけどな
712nobodyさん:2010/10/22(金) 12:58:28 ID:???
なんでPHPと関係ない質問が多いのか
なんで他人様のドメインを勝手に直リンさせるのか
713nobodyさん:2010/10/22(金) 13:06:30 ID:qwjMjkx8
>>697
どうもありがとう!
714nobodyさん:2010/10/22(金) 13:51:06 ID:CQ5MzjSC
>>709
ありがとうございます!
715nobodyさん:2010/10/22(金) 15:39:17 ID:???
どういたました!
716nobodyさん:2010/10/22(金) 17:04:47 ID:???
コールバックっていう言葉の意味は
returnから帰ってくる値って意味でいいんですか?
717nobodyさん:2010/10/22(金) 17:10:07 ID:???
>>712
紛らわしいドメインを取ってる奴が悪い。
718nobodyさん:2010/10/22(金) 17:13:27 ID:???
>>4
> 2. このスレに書き込むときに自分のサイト名を晒したくない
> → http://example.com/が例文などのために予約されている。hogehoge.comは使っちゃダメ。
719nobodyさん:2010/10/22(金) 18:18:29 ID:???
>>716
携帯に着信履歴を残して、相手にかけさせること。
720nobodyさん:2010/10/22(金) 18:39:08 ID:???
>>717
example.com および example.net, example.org は、 RFC 2606 の 3 章で予約されているセカンドレベルドメイン名である。
これらはソフトウェアドキュメンテーションにおける例示のために使われるもので、実際に登録することはできない。
これらのドメインを予約するにあたって、 IANA はマニュアルやソフトウェアの設定のサンプルなどに使用できる
ドメイン名一覧を作成した。 それにより、もしもドキュメンテーション内で記述されているドメイン名が
そのまま使用されたとしても、 第三者に悪影響が及ばないことを保障することが出来る。
コピペ
721nobodyさん:2010/10/22(金) 19:01:13 ID:???
>>720
ほー
スレ独自のルールじゃないんだ
勉強になりました
722nobodyさん:2010/10/22(金) 19:08:48 ID:???
とあるライブラリからモジュールをぶっこぬいて使おうとしたのですが、
パスが通らないようです。
require_once()文を変更せずに、\PEAR下を見に行くようにするには、どうすればよいですか?

Warning: require_once(Net/UserAgent/Mobile/Error.php) [function.require-once]: failed to open stream: No such file or directory in D:\MyProject\ptrade\symfony\ptrade\lib\vender\PEAR\Net\UserAgent\Mobile.php on line 40

Fatal error: require_once() [function.require]: Failed opening required 'Net/UserAgent/Mobile/Error.php' (include_path='.;C:\xampp\php\PEAR') in D:\MyProject\ptrade\symfony\ptrade\lib\vender\PEAR\Net\UserAgent\Mobile.php on line 40

723nobodyさん:2010/10/22(金) 21:08:20 ID:???
>>722
./pear/を読ませたいなら
set_include_path(get_include_path() . PATH_SEPARATOR . realpath("./pear/"));
724nobodyさん:2010/10/22(金) 21:09:11 ID:???
>>718
お前が勝手にルールを決めるな
725nobodyさん:2010/10/22(金) 21:30:58 ID:???
globの読み方ってグロブ?グラブ?
pearをベアーって読むって最近知った
ピアーっていってた
726725:2010/10/22(金) 21:38:53 ID:8u5PyO3j
あ、idでてなかったごめん
727nobodyさん:2010/10/22(金) 22:01:13 ID:???
1. 発音記号を学ぶ
2. ネットで音声付きの辞書を引く
3. WindowsならSamかAnnaが住んでるから喋らせてみる
728nobodyさん:2010/10/22(金) 23:42:08 ID:???
729nobodyさん:2010/10/22(金) 23:46:27 ID:???
730nobodyさん:2010/10/23(土) 00:58:25 ID:???
別スレで聞いたら10秒で答えてくれたわ
おまえらレベル低すぎ!
731nobodyさん:2010/10/23(土) 01:14:40 ID:???
732nobodyさん:2010/10/23(土) 03:05:06 ID:???
>>725
ベアーとは読まんだろ
733nobodyさん:2010/10/23(土) 05:15:29 ID:???
>>727
3.kwsk
734nobodyさん:2010/10/23(土) 06:08:08 ID:???
>>733
text-to-speechのことだろ
735nobodyさん:2010/10/23(土) 07:30:31 ID:???
<?php
text_to_speech("pear", "Sam");
?>
736nobodyさん:2010/10/23(土) 08:29:41 ID:???
ベアーwwww
737nobodyさん:2010/10/23(土) 09:23:06 ID:???
ベアーと読もうが本人の勝手だろ
738nobodyさん:2010/10/23(土) 09:56:33 ID:???
そんなマジレス返されましても
739725:2010/10/23(土) 10:22:02 ID:???
あぁ、またまたごめん
iPhoneから打ったからタップが一回足らなかったw
ベアーじゃクマーだな

globは英単語だったんだね
グロブと読むらしい

cronみたいな造語だと思ってた
740nobodyさん:2010/10/23(土) 11:19:34 ID:???
日本語ならグロブでもいいんじゃないw
741nobodyさん:2010/10/23(土) 11:39:26 ID:???
>>740
グロブでもいいってグロブと読むって言ってんのに
742nobodyさん:2010/10/23(土) 11:43:55 ID:???
ブログ
743nobodyさん:2010/10/23(土) 12:03:21 ID:???
日本語ならブログでもいいんじゃないw
744nobodyさん:2010/10/23(土) 12:08:33 ID:???
ぐろっぶ
745nobodyさん:2010/10/23(土) 12:13:30 ID:???
読み方がわからない人ってのは口頭で話す機会のない人なんだろ?
発音しないんだから発音しらなくてもよくね?
口頭でやりとりする人なら人に聞きゃ済むわけだしな
746nobodyさん:2010/10/23(土) 14:18:13 ID:???
>>745
部署内みんな間違ってたって事はある。
747nobodyさん:2010/10/23(土) 15:14:46 ID:???
748nobodyさん:2010/10/23(土) 15:21:19 ID:???
>>747
面白い!うちのデザイナーはWidthとHeightを一位ので読んでて多少気になるw
749nobodyさん:2010/10/23(土) 16:04:47 ID:???
多少か!w
750nobodyさん:2010/10/23(土) 16:06:14 ID:???
ワイズとヘイト?ありえねーわ
751nobodyさん:2010/10/23(土) 16:43:47 ID:???
hrefをハーフと言ったりする人もいるよな
もぞもぞする
752nobodyさん:2010/10/23(土) 17:00:37 ID:???
エイチレフ
753nobodyさん:2010/10/23(土) 17:02:04 ID:???
俺は「ハイパリファレンス」って呼んでる
たいてい通じないから「エイチャーレフ」って言い直す
754nobodyさん:2010/10/23(土) 17:51:36 ID:???
俺はウィドゥスとヘイトだな綴りの都合上ヘイグヒトと覚えてるが
英語読みだとウィドゥ(スは消え入る音でほとんど聞こえない)とハイトみたいだね
755nobodyさん:2010/10/23(土) 18:43:54 ID:sKO4L/iz
mb_convert_encodingで文字コードを変換してechoで吐くと目的どおりの文字コードになって、
文字化けもしてないのに、DBにいれると???????になるんですが、これは原因はなんなんでしょうか?
shift-jis->euc-jpでDBテーブルはujis_japanese_ciです。
756nobodyさん:2010/10/23(土) 18:44:37 ID:???
set names ujis
757nobodyさん:2010/10/23(土) 18:46:09 ID:???
全部utf-8に統一しなよ・・わざわざ変える意味あるのか
758nobodyさん:2010/10/23(土) 18:48:42 ID:???
>>755
フィールドの照合順序もujisになってる?
759nobodyさん:2010/10/23(土) 19:19:28 ID:sKO4L/iz
>>756
これをやるとPhpmyadmin上はちゃんと表示されるようになりました・・・
Euc-jp表示なのに文字化けしてないのはなぜ・・・

>>757
本サイトがEucで携帯がShift-jisなもんで・・・

>>758
すいません、説明間違ってました。
DefaultCharsetがujisで照合順序がujis_japanese_ciでした。
760nobodyさん:2010/10/23(土) 19:20:18 ID:???
>>756
間違えたset names sjisでやるとphpmyAdmin上では文字化けしてませんでした。
761nobodyさん:2010/10/23(土) 21:13:08 ID:???
解決しました。
DBIniInsert時にset names sjisにして
表示時にshift-jisにしたら直りました。
762nobodyさん:2010/10/23(土) 21:42:17 ID:???
MySQLで SET NAMES を使ってはいけない
763nobodyさん:2010/10/24(日) 01:33:24 ID:???
なんで
764nobodyさん:2010/10/24(日) 01:35:09 ID:???
>>762の言うことは嘘だから気にするな。
SET NAMES は積極的に使うべき
765nobodyさん:2010/10/24(日) 01:40:50 ID:???
良い子のみんなは「MySQLで SET NAMES を使ってはいけない」でググってね
766nobodyさん:2010/10/24(日) 03:40:32 ID:f6QEzh36
大人なのでSET NAMESを使います
767nobodyさん:2010/10/24(日) 12:29:37 ID:YiuzekCl
fpmでforkしたphp間で共有されるものってある?
複数コネクションを同時にさばくとき、Railsみたくフレームワークのモデルさんが壊れないか気になるんだけど
768nobodyさん:2010/10/24(日) 20:07:38 ID:XupTldvh
while( 条件文1 && 条件文2 ){
・・・
}

こういう構文の時、条件1でfalseが返ってきたら条件文2はそもそも検証すらされずwhileループを抜けますか?

たとえば条件1で配列の上限を超えたかどうかを調べ、
超えていればそのままwhileループを抜け出し
条件2の検証で配列の要素数オーバーを防げるかどうかを知りたいです。
769nobodyさん:2010/10/24(日) 20:09:53 ID:???
エスパー出番よ
770nobodyさん:2010/10/24(日) 20:25:12 ID:???
>>768
条件2が検証されるかされないかなんて重要なことではなくね?
オーバーを防げるの意味がわからん
具体的な例文書いてみて
771nobodyさん:2010/10/24(日) 20:26:19 ID:???
>>768
条件1がfalseなら条件2は評価されないはず、でもソース無い。
後半の「配列の上限を超える」「要素数オーバーを防ぐ」が良く分からん。
772nobodyさん:2010/10/24(日) 20:27:13 ID:???
条件2で配列に追加を行うわけじゃないんだから条件2を検証しようがしまいがオーバーを防ぐように処置してりゃ防げるんでないの?
773nobodyさん:2010/10/24(日) 20:28:47 ID:8gi8mHZF
>>768
短絡評価でググると良いよ

>>779
短絡評価は結構重要なテクニック
774nobodyさん:2010/10/24(日) 20:30:24 ID:???
条件2が
$i+=1 < 100
みたいなのってことなのかな
775nobodyさん:2010/10/24(日) 20:34:41 ID:???
クラスとか二次元配列じゃない?
776nobodyさん:2010/10/24(日) 20:36:34 ID:???
>>779>>770のミス
コードの行数とステップ数を減らすぐらいしかメリットがないけど・・・
下の例ではHello!と表示される
<?php
function example1(){
return true;
}
function example2(){
echo "Hello!";
}
example1() && example2();
?>
777nobodyさん:2010/10/24(日) 20:42:12 ID:???
PHPマニュアルのここに詳しいな
ttp://www.php.net/manual/ja/language.operators.logical.php
778nobodyさん:2010/10/24(日) 21:24:52 ID:???
>>768
$arr = array('a', 'a', 'a');

$i = 0;
while (isset($arr[$i]) && $arr[$i] === 'a') {
var_dump($i);
$i++;
}

$i = 0;
while ($arr[$i] === 'a') {
var_dump($i);
$i++;
}

とかやってみればわかるじゃん。
779768:2010/10/24(日) 21:56:44 ID:XupTldvh
PHPは短絡評価をサポートされていたんですね。
ありがとうございましたm(_ _)m
780nobodyさん:2010/10/24(日) 22:23:05 ID:???
>>773がいろんな意味でエスパーすぎてマジびびったわ
781nobodyさん:2010/10/24(日) 22:39:03 ID:???
Javaの場合は、
if (obj != null && obj.test())
って書く場合がよくある。
obj が null の場合、
後ろの obj.test() でエラーになるが、実際には実行されないので・・・
782nobodyさん:2010/10/24(日) 23:00:25 ID:Etwa0dNn
http://d.hatena.ne.jp/shellcat/20090928/1254144157

ここの下の方にある $_GET のところで、

>また、同じキーで複数の値が送られる以下のような場合、
http://localhost/test.php?foo=bar&foo=bee
>キーに対応する値は配列となる。
>$_GET['foo'] = array('bar', 'bee');

このように書かれているのですが、試してみましたところ、
そのようにはなりませんでした。

php.ini等の設定がいるのでしょうか?
どうか教えてください。
783nobodyさん:2010/10/24(日) 23:04:41 ID:???
ならんですね
[]が必要
784nobodyさん:2010/10/24(日) 23:18:09 ID:???
785782:2010/10/24(日) 23:45:01 ID:Etwa0dNn
なるほど。
ありがとうございます。

とあるソーシャルアプリの開発を行っているのですが、
id=28456&id=28969
こんな感じでスクリプトがコールされるんですね。

簡単にそれぞれ取れるような方法はないものでしょうか。
QUERY_STRINGから分割して処理する関数書くしかないですかね。
786nobodyさん:2010/10/25(月) 00:07:03 ID:???
そのスクリプトは直らんのか?
787nobodyさん:2010/10/25(月) 00:52:51 ID:???
ユーザーが投稿したコンテンツにランダム文字列を付加して、識別できるようにしたいと考えております。
このランダム文字列をなるべく短く、かつ、絶対(あるいは無視できるほどの低確率)にぶつからないように付加したいのですが、
一般的にはどのような方法があるでしょうか?

ぶつからないようにするためには、DBに入れた値を毎回検索してダブりが無いか確認…
とやれば出来るのですが、さすがにパフォーマンス的に現実的ではない気がします。
788nobodyさん:2010/10/25(月) 00:55:36 ID:???
789787:2010/10/25(月) 01:02:33 ID:???
自己解決しました。お騒がせしました(^^;)
790nobodyさん:2010/10/25(月) 01:04:11 ID:???
>>785
こんな感じかな、あまりいい方法じゃないけど
http://ideone.com/otchQ
<?php
$str = "id=28456&id=28969";
$str = str_replace('=','[]=', $str);
$res = array();
parse_str($str,$res);
var_dump($res);
?>
791nobodyさん:2010/10/25(月) 01:07:03 ID:???
そもそもそのクエリってRFCに準拠してるのかね
rewriteして内部の整合性をとったほうが精神衛生上よろしいんじゃないの
792nobodyさん:2010/10/25(月) 01:18:58 ID:hJcPLAGl
test.php ( スクリプトファイルは、UTF-8で作成)内に
日本語入力項目を設けた上で、同画面にPOSTを行うと
なぜか文字化けしてしまいます。


<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />

header("Content-Type: text/html; charset=UTF-8");
print("<form method=\"post\" action=\"test.php\" accept-charset=\"utf-8\">");

なぜ文字化けしてしまうのでしょうか?

※Windows Vista
793nobodyさん:2010/10/25(月) 01:22:51 ID:???
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
普通こうでしょ
まったく
794nobodyさん:2010/10/25(月) 01:26:46 ID:???
>>792
mb_language("ja");
mb_internal_encoding("UTF-8");
mb_http_output("UTF-8");
795nobodyさん:2010/10/25(月) 09:35:07 ID:???
>>793 >>794
いずれの方法を行っても文字化けしてしまい

POSTされた値を

$test_value = mb_convert_encoding($test_value, "UTF-8", "auto");

としたところ文字化けせずに画面に表示されました。

しかし、毎回この様な文字コードの変換を行うのは面倒なのですが
根本的な原因は何なのでしょうか?
796nobodyさん:2010/10/25(月) 09:43:32 ID:???
>>795
あとはスクリプト自体の文字コードとwebサーバの文字コードの確認
apacheならAddDefaultCharsetとか。

あとPOSTされた値の文字コードは何?それで原因がわかるんじゃない?
797nobodyさん:2010/10/25(月) 10:02:30 ID:???
>>796
>>795で文字化けが回避出来たので恐らくsjisだと思います。
少々面倒くさいですが解決出来たので一先ず満足です。
798nobodyさん:2010/10/25(月) 10:07:38 ID:???
Pearでユーザ認証を行う場合に

user_id
user_name

をテーブルに保存する訳ですが、この時にuser_nameはハッシュ値で登録するので
未だ良いとは思いますが user_id は暗号化して保存しておいた方が無難でしょうか?
799nobodyさん:2010/10/25(月) 10:34:54 ID:???
パスワードはないのかよ
800nobodyさん:2010/10/25(月) 11:03:24 ID:???
文字コードのことになると頓珍漢なレスしかつかないという
801nobodyさん:2010/10/25(月) 11:08:32 ID:0LkbmEJw
インラインスケートで通学できる小学校なんてあるのかよ
802798:2010/10/25(月) 11:12:18 ID:???
>>799
間違えました。次の列構造を予定しています。

@ user_id
A user_pass      ← ハッシュで保存
B user_pass_own   ← 独自の暗号化した文字列で保存予定(複合化可能にする為)

@もBと同じく暗号化して保存した方がやはり良いでしょうか?

803nobodyさん:2010/10/25(月) 11:23:01 ID:DYebYvBq
APIで返されるXMLに含まれる日付データのフォーマットが
「2010-10-09T22:16:28+09:00」なのですが、
このフォーマットを変換してくれる関数とかってあるんですか?
今は単純に T と +09:00 を削除しています。
804nobodyさん:2010/10/25(月) 12:01:36 ID:???
>>803
strtotime() でUNIXタイム取得。あとはdate()なりなんなりで。
805nobodyさん:2010/10/25(月) 12:02:39 ID:???
>>802
それよりサイトとDBのセキュリティに気を使った方が良いよ。
806nobodyさん:2010/10/25(月) 12:18:43 ID:???
>>805
SQLインジェクション対策として
:hogehoge タイプを使用しています。

個人情報等も扱うので最悪流出しても
分からない様にほとんどを暗号化してDBに保存しようと思ってますが
これだとパフォーマンスが落ちますよね。。。

しかし、安全面を考えればその方が未だ良いかと思ってますが
如何でしょうか?
807nobodyさん:2010/10/25(月) 12:33:27 ID:IEJpRj+g
すいません。ID出し忘れたのでもう一度投稿します。

ユーザーが投稿したコンテンツにランダム文字列を付加して、識別できるようにしたいと考えております。
このランダム文字列をなるべく短く、かつ、絶対(あるいは無視できるほどの低確率)にぶつからないように付加したいのですが、
一般的にはどのような方法があるでしょうか?

ぶつからないようにするためには、DBに入れた値を毎回検索してダブりが無いか確認…
とやれば出来るのですが、さすがにパフォーマンス的に現実的ではない気がします。

よろしくお願いします。
808nobodyさん:2010/10/25(月) 12:36:42 ID:???
復号化可能にする意味が分からない
他人のパスワードみてニヤニヤするの?
まさかパスワードリマインダーで復号してメールで送ったりするの?
それとも、会員のパスワードを使ってログインしようとしたり・・・?
809nobodyさん:2010/10/25(月) 13:03:23 ID:???
>>806
パフォ落ちても(略 ということなら、それはそれでいいんじゃね?

>>807
低確率で衝突してもいいんだったら、適当なハッシュアルゴリズム使えばいいんじゃね?
810nobodyさん:2010/10/25(月) 13:09:56 ID:???
>>807
通し番号を付ければいいだけではないのか?
811nobodyさん:2010/10/25(月) 13:36:30 ID:YV3UDDUZ
>>807

どっちにしてもコンテンツを毎回DBにぶち込むんじゃ?
んなら 大して変わらないような気がするが・・・・
812nobodyさん:2010/10/25(月) 14:07:37 ID:???
ぶつからないだけなら通し番号でいいと思うな。

重複検出方式にしてもちゃんとインデックス用意しとけば
そんなに遅くはないと思いますがね。
813nobodyさん:2010/10/25(月) 14:15:59 ID:???
よく理解していない初心者ほど「パフォーマンスがー」とか言い出すよな
insertとインデックスに対するselectなんて後者のほうが圧倒的に早いしな、知らんけど。
814nobodyさん:2010/10/25(月) 14:18:01 ID:???
識別子なんてユーザ名でいいじゃん
815nobodyさん:2010/10/25(月) 14:24:10 ID:???
そもそもどういうものを想定しているのかわからないな
ユーザーの投稿というのは掲示板みたいなものをなんだろうか
投稿毎に識別番号を付けたいなら、>>814のようにユーザー名はダメだろう
そもそも会員制かどうかも分からないしね

通し番号だとダメな理由があるなら、重複検査してランダム文字列入れる
重複検査は(ユニークキーにするだろうし)別に重くない
816nobodyさん:2010/10/25(月) 14:31:09 ID:???
/userID/md5(UNIXTIME)
817807:2010/10/25(月) 14:55:37 ID:IEJpRj+g
たくさんのアドバイスありがとうございます。

具体的には、ユーザーを識別するのではなく、
投稿された画像や動画を一意に識別するためのランダム文字列を付加します。

通し番号が駄目な理由は
http://myservice/ランダム文字列
というシンプルなURLで各コンテンツにアクセスさせたいため、
連番が直にURLに出るのが気持ち悪いということらしいです。。
上からの指示なのでここは変えられません。

重複検索については完全に素人判断で重そうと判断していたので
避ける明確な根拠はありませんでした。
ハッシュで8桁程度の文字を作成し、重複検索を通す、という感じにしようかと思います。
ありがとうございました。
818nobodyさん:2010/10/25(月) 15:18:31 ID:???
id<-->文字列 の可逆の変換かければいいな。0<-->a 1<-->b とかでw
819nobodyさん:2010/10/25(月) 16:19:59 ID:dWG9M/Qu
PHP Version5.1.6
SQLite Library 3.3.6
↑これで
ttp://www.crystal-creation.com/web-appli/technical-information/database/sqlite/php.htm
↑これにあるようなプログラムで読み込まないんですけど、ver.のせいでしょうか?
一応PDOだと動きます。
820nobodyさん:2010/10/25(月) 16:23:42 ID:???
>>809
うーんパフォーマンスは二の次Dえやはり安全面を優先させます。
821nobodyさん:2010/10/25(月) 16:25:27 ID:???
Pear と Cake は、PHPのFWとしてどちらの方がより使われていますか?

また、Cakeは何と読めば良いのでしょうか?
822nobodyさん:2010/10/25(月) 16:25:30 ID:???
>>819
それsqlite2の記述だからね
PDO使ってね
823nobodyさん:2010/10/25(月) 16:28:17 ID:???
>>821
PEARってFWなの単なるライブラリじゃないの?
Cakeの読みはケイクって呼んでる人が多いよ、たまにケーキという人もいるけどね
824nobodyさん:2010/10/25(月) 16:30:44 ID:dWG9M/Qu
>>822さんありがとうございます。
825nobodyさん:2010/10/25(月) 16:54:33 ID:???
>>823
ありがとうございます。

PHPを勉強するに当たって Cake も使える様になっておいた方が良いでしょうか?

また、実務ではPHPの開発環境はやはりLinux上で行うパターンが多いのでしょうか?
826nobodyさん:2010/10/25(月) 17:24:39 ID:???
>>825
Cakeというよりmvcを理解しておいたほうがいい
まぁCakeに慣れていけば自然と身につくと思う

環境は、サーバがLinux(Apache)、開発(コーディング)はwindowsというのが一番多い
827nobodyさん:2010/10/25(月) 17:29:12 ID:???
変な癖が付かないうちに、フレームワーク行った方がいいかもね
828nobodyさん:2010/10/25(月) 18:38:16 ID:dWG9M/Qu
>>819です。早速PDOでやってみました。一覧の表示はできましたが、
データの追加が出来ません。ちなみにディレクトリは777 PHPは666です。
↓これでやっても「データの追加に失敗しました」と出てしまいます。
$dbh->query('SET NAMES utf8');


print('追加前のデータ一覧:<br>');

$sql = 'select nunber, name, note from tab1';
$stmt = $dbh->prepare($sql);
$stmt->execute();

while($result = $stmt->fetch(PDO::FETCH_ASSOC)){
print($result['nunber']);
print($result['name']);
print($result['note'].'<br>');
}


$sql = 'insert into tab1 (nunber, name, note) values (?, ?, ?)';
$stmt = $dbh->prepare($sql);
$flag = $stmt->execute(array('104', '成田','日本'));

if ($flag){
print('データの追加に成功しました<br>');
}else{
print('データの追加に失敗しました<br>');
}
829nobodyさん:2010/10/25(月) 18:43:32 ID:???
ホントにnunberなの?numberじゃなくて?
830nobodyさん:2010/10/25(月) 18:51:14 ID:???
一覧は取得できてるんだしnunberでいいのか。
831nobodyさん:2010/10/25(月) 20:48:50 ID:???
>>826
アドバイスをどうもありがとうございます。
PHPでMVCモデルで開発した事が無いので
cakeを通して勉強してゆきます。
832nobodyさん:2010/10/26(火) 02:01:53 ID:A7fd7S8U
FWって何が主流なの?cake?
他のFWと比べた特徴って何ですか?
833nobodyさん:2010/10/26(火) 02:32:34 ID:???
うみうみうみうみうみうみ〜
834nobodyさん:2010/10/26(火) 02:36:52 ID:???
そんなくらいググれカス
日本語で一番HITしたものが主流だ
コードにわからないところがあったり
エラーが何を示してるのかわからなかったら来て下さい
835nobodyさん:2010/10/26(火) 02:40:21 ID:???
ほえ〜
836nobodyさん:2010/10/26(火) 02:41:05 ID:???
>>834
意地悪なのか親切なのかはっきりしてくださいカス
837nobodyさん:2010/10/26(火) 02:41:10 ID:???
>>834
「うみうみうみうみうみうみ〜」 約 13,400 件 (0.20 秒)
検索トップ「妄想中だよ、すくっとみうみうさん! すくぅうみうぎ」
よくわかりません
838nobodyさん:2010/10/26(火) 02:42:33 ID:???
>>836
ググる能力のないカスはプログラムとかやらないほうがいいよ

http://www.google.com/trends?q=Symfony+PHP%2CCakePHP+PHP%2CZend+FrameWork+PHP%2CMojavi+PHP&ctab=0&geo=all&date=all&sort=0

Cake>Symfony>Zend>Mojavi
839nobodyさん:2010/10/26(火) 02:49:59 ID:???
欧州はSymfony
アジアはCakePHP
旧ソ連諸国はZend FW
Mojaviの認知は日本のみ
アメリカ人はPHPなにそれおいしいの?
840nobodyさん:2010/10/26(火) 02:56:46 ID:???
統合開発環境でリファレンスが含まれてると検索数が減ったりするんだろうね
841nobodyさん:2010/10/26(火) 03:27:47 ID:???
>>838
今更だけど Pear ってFWかと思ってた。
違ってたのか。。。つーかFW無しで PHP + Pear のサイトってセキュリティー的に危険なのかな?
842nobodyさん:2010/10/26(火) 04:03:58 ID:???
なぜそうなる
そんなサイト一杯ある
843nobodyさん:2010/10/26(火) 05:14:00 ID:???
>>837
ヒント>>835
844nobodyさん:2010/10/26(火) 05:16:09 ID:???
日本ではethnaでしょ
845nobodyさん:2010/10/26(火) 05:56:16 ID:???
実績で言えばGREEのサイトがEthnaで作られてるから
有るといえばあるけど
利用数で言えば微妙じゃない?

まぁ一番多いのは独自FWだろうけど
846nobodyさん:2010/10/26(火) 05:56:32 ID:???
FWってFireworksのことだろ?
サバーサイドスリクプトのPHPと何の関係があんだよ
アホかおめーら
847nobodyさん:2010/10/26(火) 06:27:26 ID:???
Fontworksにきまってんだろアホか
848nobodyさん:2010/10/26(火) 06:50:48 ID:???
はぁ?だからPHPと何の関係があんだよ
クライアントスリクプトとPHPの違いもわかんねぇのかよ
849nobodyさん:2010/10/26(火) 09:44:21 ID:???
すべりすぎだな
850nobodyさん:2010/10/26(火) 09:50:42 ID:???
>>828
エラーになる理由なんてたくさんあるんだから、失敗しましただけじゃなくて
$stmt->errorInfo()を表示しろよ。
851nobodyさん:2010/10/26(火) 10:07:43 ID:???
この中のFWを一通り使った事のある方に質問です。
今後のFWの拡張性等を加味して一番お勧めな
FWはどれでしょうか?

PHP + Pear でしか開発をしてませんでしたので
チャレンジしてみたいと思います。

Cake
Symfony
Zend
Mojavi
Ethna
852nobodyさん:2010/10/26(火) 10:15:55 ID:???
未来が予測できるエスパーさん、出番ですぜ。
853nobodyさん:2010/10/26(火) 10:18:50 ID:???
未来が見える!!>>851は来年もPearを使っているでしょう!
854nobodyさん:2010/10/26(火) 10:19:03 ID:???
MVCをしっかり理解しよう!
なんとなく使っているお前のMVCの知識は間違っている!達人はこう書く!
みたいな内容のおすすめの本やサイトがあったら教えてください。英語でも可。言語はPHPで。
855nobodyさん:2010/10/26(火) 10:40:59 ID:DOrgamz8
>>850さん レスありがとうです。
856nobodyさん:2010/10/26(火) 10:44:04 ID:???
>>851
Lithium
857nobodyさん:2010/10/26(火) 10:50:27 ID:???
>>853
Pearは便利なので使い続けます。

追加でFWを導入しようと思ってるんです。
ただ、俺ライブラリが充実しているので正直あまり導入のメリットは
感じられないのが現状ではありますが。

以下はアンケートです。
あなたのお勧めするFWは何!?

Lithium   1票   ○
Cake     
Symfony
Zend
Mojavi
Ethna
858nobodyさん:2010/10/26(火) 11:01:07 ID:???
>>857
世界最軽量のPHP用MVCフレームワークである「ちいたん」
859nobodyさん:2010/10/26(火) 11:21:26 ID:???
>>858
Lithium   2票   ○
Cake     
Symfony
Zend
Mojavi
Ethna
860nobodyさん:2010/10/26(火) 13:17:22 ID:nRcBppSS
PHPのよさげな勉強の仕方教えてくれ
半端な知識でわかんないけどなんか作っちゃおう!なノリじゃヤバイものができそうですよね
おまえらどんなふうに覚えていった?
861nobodyさん:2010/10/26(火) 13:20:58 ID:???
Pearと俺ライブラリが競合することがあっても
俺ライブラリとFWが競合することはない
FWは作るべきファイルを作成したら
勝手にDBと連携したプログラムを作成してくれる土台
実際の実装でファイルの中身にスクリプトを書くとき
Pearを使うことはある
862nobodyさん:2010/10/26(火) 13:33:31 ID:???
なんか作っちゃおうじゃ完成はムリ
明確にこれを作りたいってのが決まって、そのためにはどうするかもがいた方が覚える
863nobodyさん:2010/10/26(火) 13:36:42 ID:???
FWの数が多いね。
PHPのFWのよくわからんけど、対象とする用途と規模って、それぞれ違うんでしょ?
864nobodyさん:2010/10/26(火) 13:49:13 ID:???
セフレが旦那バレしたんだが
どうしたらいいもんだろうか・・・
865nobodyさん:2010/10/26(火) 13:52:26 ID:???
>>864
その旦那に、体だけの付き合いであるということを明確に伝える
866ちい:2010/10/26(火) 13:53:07 ID:???
>>859
ひどいお
867nobodyさん:2010/10/26(火) 13:55:04 ID:???
フレームワークは重くなりがちだからな
業務用でなければわざわざ好んで使うほどでもない
一人開発で規模がでかくなるのなら開発速度あげるために使うのもいいかもしれないが
868nobodyさん:2010/10/26(火) 14:09:03 ID:???
下手するとPHP触ってる時間よりも、SQLとかJavascript弄ってる時間の方が長いかも
869nobodyさん:2010/10/26(火) 15:32:30 ID:???
おもいっきりスレ違いかと思いますので
該当スレがあれば誘導をお願いします。

iPhoneでちょっとしたゲームを作成しようと思っています。
そこでゲーム内のスコアをサーバに反映させたいのですが

この様な場合、iPhone(Objective-C)側でスコアを
サーバに向けて投げると思うのですが、

@スコアを受け取ったサーバ側ではどの様に
 iPhoneからの送信データを受け取りDBに反映させれば
 良いのでしょうか?

 DBについては、MySQLで良いとは思うのですが
 CGI側のソースには何を使用するのが一般的なのでしょうか?
 (PHP / Perl / C)
 スコアは、Objective-C側でhttp://test_server/iphone.php?score=1500
 的なアクセスをして行うのでしょうか?

スレ違いなレスですが宜しくお願い致します。
870nobodyさん:2010/10/26(火) 15:35:33 ID:???
>>1
871nobodyさん:2010/10/26(火) 15:45:36 ID:???
872nobodyさん:2010/10/26(火) 15:46:52 ID:???
すでに書いてた
マジはええっす
873nobodyさん:2010/10/26(火) 15:59:10 ID:???
874nobodyさん:2010/10/26(火) 16:00:39 ID:???
>>871
1日おせーよ
875nobodyさん:2010/10/26(火) 16:04:06 ID:???
>>873
超関係あるだろ

>>874
はい、、、すみません
876nobodyさん:2010/10/26(火) 16:22:12 ID:???
>>875
かんたんログインってだけで毎回このスレに貼るつもりか?
php自体の脆弱性でないのに?

クロネコがphp使ってやらかしたとかならまだわかるが、Javaだしな
877nobodyさん:2010/10/26(火) 16:24:05 ID:???
だめだこりゃ
WebProgで一番重要で難しいのはセキュリティ問題なのに
PHPで同じようなアプリケーション作成してる人だっているでしょうに
まぁせいぜい穴だらけのアプリケーション制作に勤しんでくださいね
878nobodyさん:2010/10/26(火) 16:31:37 ID:???
>>877
>PHPで同じようなアプリケーション作成してる人だっているでしょうに

これを意識してあなたが書き込んだのは>>875のレスから想像できてるよ
ただ、毎回あげていったらキリが無いよ?って言いたいだけだよ。

それに、ここは質問スレだよね?
雑談スレも兼ねてると前に書き込みもあったから、それでみなが良いと思ってるならいいよ
879nobodyさん:2010/10/26(火) 16:36:00 ID:???
このスレでは雑談スレでOKです。
880nobodyさん:2010/10/26(火) 16:44:33 ID:???
立派なテンプレが泣いてるぞ
881nobodyさん:2010/10/26(火) 16:48:37 ID:nRcBppSS
>>862
ありがとう
形になってきた
882nobodyさん:2010/10/26(火) 16:48:45 ID:???
唐突にコードだして共有とかいってるオナニー日記と違って
こういうのは必要じゃね
セキュリティー意識高めないとこの分野は他人に迷惑かけるからな
883:2010/10/26(火) 16:52:05 ID:???
今後は、 >>879 に従って下さい。IDをいちいち出す必要はありません。
884nobodyさん:2010/10/26(火) 17:06:36 ID:???
質問時にID出すスレだろうが
8851:2010/10/26(火) 17:09:33 ID:???
>>883は自己解決しました^^
886nobodyさん:2010/10/26(火) 17:11:44 ID:???
略して自決しました
8871:2010/10/26(火) 17:20:18 ID:???
このスレはもうIDを出さなくて結構です(^^;)
フレキシブルなスレにする事を目標にしています(^^;)
888nobodyさん:2010/10/26(火) 17:23:15 ID:???
欠陥アプリしか作れないからって顔真っ赤になるなよ
8891:2010/10/26(火) 17:25:12 ID:???
>>888
能書き垂れるな
糞野郎(^^;)
890nobodyさん:2010/10/26(火) 17:35:09 ID:???
雑談OKはテンプレに明記しとけよ
ペチパーは他スレに迷惑かけてるんだからこのスレからでてくるなよ
891nobodyさん:2010/10/26(火) 17:40:33 ID:???
ここはPHP板です
892nobodyさん:2010/10/26(火) 17:51:53 ID:???
ここは有名PHPerのe-mobileさんにまとめてもらうしかないな
893nobodyさん:2010/10/26(火) 18:04:41 ID:nRcBppSS
echo "<a href=\"item.php?id={$line[0]}\">詳細を見る</a>";

こうして書いたとき、リンクがうまく機能しません
どうしたらいいですか?
894nobodyさん:2010/10/26(火) 18:08:59 ID:???
>>893
記述の仕方自体は問題無いと思うけど
ブラウザのソースで見たときにどうなってる?
895nobodyさん:2010/10/26(火) 18:09:38 ID:???
どううまくいかないか書いたらどうだ
リンク先が違うのかlineの内容が出力されないのか等

どうでも良いが俺ならこうk(ry
echo '<a href="item.php?id=',$line[0],'">詳細を見る</a>';
896nobodyさん:2010/10/26(火) 18:13:50 ID:???
どうでもよいが俺ならこうk(ry

<a href="item.php?id=<?php echo $line[0]: ?>">詳細を見る</a>
897nobodyさん:2010/10/26(火) 18:15:10 ID:???
どうでもいいが「詳細を見る」みたいなアンカーを用意するならtitle属性でリンク先の説明があった方がよいね
898nobodyさん:2010/10/26(火) 18:21:55 ID:???
>>896
コロンですか
899nobodyさん:2010/10/26(火) 18:27:21 ID:???
>>898
リンクがうまく機能しません、まで含めて書いたんじゃね
900nobodyさん:2010/10/26(火) 18:31:34 ID:nRcBppSS
>>894
問題はないんですね
Opera使ってるんですけど、リンクにはならず「 ">詳細を見る」とだけ表示されます

>>895-896
ほかにも書き方があるんですね
研究してみます
とっても勉強になりました

>>897
最近というか今日この頃はじめったばっかりで、今簡単なサンプル作ってるんです

レスありがとうございました
とりあえずまた明日やってみます!
901nobodyさん:2010/10/26(火) 18:36:33 ID:???
>>900
"が飛び出してるってことは、>>893ではったとおりには書いてないってことだ
9021:2010/10/26(火) 18:40:28 ID:???
echo "<a href='item.php?id={$line[0]}'>詳細を見る</a>";
903nobodyさん:2010/10/26(火) 18:44:28 ID:???
>>902
やっぱ欠陥アプリ量産は低レベルだな
なぜJavaScriptのソースの多くがシングルクオートで書かれているか考えたことはあるかね?
904nobodyさん:2010/10/26(火) 18:46:49 ID:???
>>903
ないから説明して〜
905nobodyさん:2010/10/26(火) 18:47:01 ID:???
>>902
シングルクォートきもいです
さすが1だな
906nobodyさん:2010/10/26(火) 18:47:38 ID:???
こうだろ!常識的に考えて!
echo <<<EOF
<a href="item.php?id={$line[0]}">詳細を見る</a>
EOF;
907nobodyさん:2010/10/26(火) 18:49:08 ID:???
ネタはもうおなかいっぱい
そもそも>>893自体>>900みたいな出力しないんだからなにを説明しても無駄っぽ
908nobodyさん:2010/10/26(火) 18:49:58 ID:???
PHPでHTMLソース吐くのは初心者のうちはよくやるけど
慣れてくると>>896みたいにテンプレート作って組み込んだほうがいい
909nobodyさん:2010/10/26(火) 18:51:16 ID:kj01px6z
正規表現で
$test = '今日は1回目のアクセスです';

の、1を置換して2に変える場合、どうすればいいのでしょうか?
予め数字が決まっているのではなく、不確定の数字だとします。
910nobodyさん:2010/10/26(火) 18:52:58 ID:???
>>909
不確定の数字を入れたいってことなら

$test = '今日は'.$foo.'回目のアクセスです';

$fooはクッキーで保存すりゃいいと思う
911nobodyさん:2010/10/26(火) 18:53:00 ID:???
>>903
なんでいちいち煽る必要があるのさ、間違ってるなら説明してあげればいいでしょ。
君みたいなのが一番の荒らしだって自覚してる?
912nobodyさん:2010/10/26(火) 18:53:02 ID:???
>>909
それおかしいだろ
$test = "今日は".$count."回目のアクセスです";
ならわかるけど
1を2に置き換えするってだけならいいとして
2から3にするときは?とかになるわけで・・・
913nobodyさん:2010/10/26(火) 18:55:46 ID:???
>>912
数字が切り替わる仕組み自体そもそも理解できてない初心者の質問なんだって気づいてやれよw
914nobodyさん:2010/10/26(火) 18:59:43 ID:???
なんで正規表現なんだろうな

$test= preg_replace("/(.*?)[0-9](.*?)/","$1$count$2",$test);

試してないからわからんけど
915nobodyさん:2010/10/26(火) 19:00:28 ID:???
・初心者でわかってない
・正規表現君を釣るため
・宿題
916nobodyさん:2010/10/26(火) 19:07:49 ID:???
914ためしたら$1$countが消えるな
$countの前後に半角スペースだの入れればちゃんと表示されるんだけど
917nobodyさん:2010/10/26(火) 19:21:40 ID:???
>>915
2番目だろ
そんな基礎的なことがわからない初心者が
そもそも正規表現という言葉を知ってるはずがない

なのにお前らときたら・・・
親切にもほどがあるだろ
918nobodyさん:2010/10/26(火) 19:24:50 ID:???
///
919nobodyさん:2010/10/26(火) 19:27:11 ID:???
>>917
変数に入れてるのに数字を変数にしてないとかいろいろおかしな点は確かにあるな
920nobodyさん:2010/10/26(火) 20:24:55 ID:???
$countで変数を保持していないのは、
ログファイルに保存した数字を置換で変更したいからです。

つまり、ファイルを開いて中身を取得して正規表現で置換して
再度書き込むという処理をしたかったのです。

が、正規表現使わない方法が分かりました。どうもありがとうございました。
921nobodyさん:2010/10/26(火) 20:28:13 ID:???
ログファイルに1だけ書き込んでインクリメントすりゃいいじゃないかwww
922nobodyさん:2010/10/26(火) 21:43:59 ID:???
はにゃ〜ん
923nobodyさん:2010/10/26(火) 21:56:15 ID:???
はんにゃー!
924nobodyさん:2010/10/26(火) 22:15:39 ID:DOrgamz8
>>850さん
errorinfoやってみましたが、syntax errorが出ただけでした。
そこを改善しても書き込まれません。
何が原因なんだろう。。。
925nobodyさん:2010/10/26(火) 22:16:41 ID:???
syntax errorが出ますだけじゃわからんわ
全部貼れ
926nobodyさん:2010/10/26(火) 22:21:45 ID:???
典型的だなー
927nobodyさん:2010/10/26(火) 22:23:59 ID:DOrgamz8
すいません。
Array ( [0] => [1] => 1 [2] => near "SET": syntax error )です
928nobodyさん:2010/10/26(火) 22:38:35 ID:Y5jQHIQ+
http://www.adminweb.jp/apache/
http://www.phpbook.jp/install/

を見てアパッチの設定してるんですが、上のアドレスの>PHP利用のための設定>PHPの動作確認ができません
phpファイルを保存しますか?開きますか?みたいなのがでます
同 PHP利用のための設定ででてるトピックはすべて確認しました。
ほかの項目は設定というかここにこういうファイルがあるよくらいで特別に変更はいらないようでした
(php.ini-developを元のファイル残して、新しいファイル作ってとかくらい)

どういう間違いが考えられますか?パスの設定はc:\phpとかみたいに簡単なのにしたから間違ってないはずです
phpの勉強したくての設定なんでここでお願いします・・・
929nobodyさん:2010/10/26(火) 22:45:16 ID:???
>>928
ありがちだけどapacheの再起動はした?
930nobodyさん:2010/10/26(火) 22:57:40 ID:???
>>927
$dbh->query('SET NAMES utf8');
は$stmt使ってないと思うけど$stmt->errorInfo()でエラー表示されるの?
931nobodyさん:2010/10/26(火) 23:00:54 ID:DOrgamz8
>>930
$sql = 'insert into tab1 (nunber, name, note) values (?, ?, ?)';
$stmt = $dbh->prepare($sql);
print_r($stmt->errorInfo());←これで表示させました。
$flag = $stmt->execute(array('104', '成田','日本'));
932nobodyさん:2010/10/26(火) 23:04:08 ID:???
933nobodyさん:2010/10/26(火) 23:07:24 ID:???
>>931
こっちの方が大事だ
http://php.net/manual/ja/pdo.query.php
934nobodyさん:2010/10/26(火) 23:24:57 ID:DOrgamz8
>>932>>933ありがとうです。
ですが、すいません、良く分かりませんでした。。。
935nobodyさん:2010/10/26(火) 23:32:49 ID:???
>>934
よく読もうぜ。
関数やクラスを使うときにリファレンスを読むのは基本中の基本だよ。
936nobodyさん:2010/10/26(火) 23:56:02 ID:Y5jQHIQ+
>>929
マジすみません><そのとおりでした 
937nobodyさん:2010/10/26(火) 23:58:29 ID:DOrgamz8
>>935
単純に何が原因なのでしょうか?構文自体に問題はないように見えますが
938nobodyさん:2010/10/27(水) 01:28:02 ID:???
エラー文にはnear "SET"って書かれてるんだから
そこの部分をだしなさいよ
SETって書いてるとこあるんだろ?
939nobodyさん:2010/10/27(水) 01:37:54 ID:2BwSQxVQ
>>938
>>828の構文の一行目のことだと思うんですが。。。違ったらスイマセn...
940nobodyさん:2010/10/27(水) 01:53:54 ID:???
$stmt = $dbh->query("SET NAMES utf8;");
941nobodyさん:2010/10/27(水) 02:06:36 ID:2BwSQxVQ
>>940さんありがとうございます! ですが今度は新しいエラー
Array ( [0] => HY000 [1] => 1 [2] => SQL logic error or missing database )
が出てきました。
942nobodyさん:2010/10/27(水) 02:11:36 ID:???
PDOをインスタンス化してる部分を重要な情報外して書いてみ
new PDOの部分ね
943nobodyさん:2010/10/27(水) 02:13:00 ID:???
MySQLじゃなくてSQLiteなんでしょ
944nobodyさん:2010/10/27(水) 02:16:35 ID:2BwSQxVQ
>>942>>943
レスありがとうございます。SQLiteでやっております。
945nobodyさん:2010/10/27(水) 02:19:04 ID:???
つまりset namesの構文は使えない
946nobodyさん:2010/10/27(水) 02:20:12 ID:???
なんつうオチだ
947nobodyさん:2010/10/27(水) 02:23:08 ID:???
PRAGMA encoding = "UTF-8";
ただしテーブル単位であることに注意
948nobodyさん:2010/10/27(水) 02:25:30 ID:2BwSQxVQ
>>945>>946レスありがとうございます。
set namesは使えなかったんですね...

>>941のエラーの対処はどうしたら良いのでしょうか?
調べたらディレクトリの権限に関する情報が出てきたんですが、
パーミッションはディレクトリ777と各ファイル666以上にしてあるのですが

949nobodyさん:2010/10/27(水) 07:13:20 ID:???
>>948
はい?>>945が読めないのか?
950nobodyさん:2010/10/27(水) 08:05:53 ID:???
読めますが何か
951nobodyさん:2010/10/27(水) 08:35:39 ID:???
ダメだよ空気や前後の流れも読めなきゃ
952nobodyさん:2010/10/27(水) 09:02:57 ID:???
それも読めますが何か
953nobodyさん:2010/10/27(水) 09:55:40 ID:???
まず貼ってある部分以外でエラーが出てる可能性があるので、
PDOを呼び出してるところでエラーを返すものは全部チェック。
エラーを返すかどうかはちゃんと関数リファレンスで調べる。
エラーが出た直後でerrorInfoで詳細を表示っていうのが基本。
最初から一歩ずつ足元を固めていかないと何をやってるのか
わからなくなるよ。
954nobodyさん:2010/10/27(水) 10:47:37 ID:???
マニュアルはわからなくなったときに読む物。
955nobodyさん:2010/10/27(水) 11:11:21 ID:???
PHP5系で、最初にマッチした文字列のみを置換するには
substr_replaceとstrposの組み合わせ以外で何かスマートな方法はありますか?
956nobodyさん:2010/10/27(水) 11:17:13 ID:???
スーパーエンジニアにやってもらう
957nobodyさん:2010/10/27(水) 11:26:42 ID:???
preg_replacet使うと回数指定が出来るので楽じゃない?
正規表現なので処理がもったいないのとエスケープ
が必要かもしれないというのが弱点だけどな。
958nobodyさん:2010/10/27(水) 11:52:27 ID:???
>>956
市ね
959nobodyさん:2010/10/27(水) 12:21:33 ID:PYQNlHNo
日本語と英数字が混在している文字列を全角10文字ごとに
「<br />」タグを挿入したいと思います。
wordwrap関数では半角英数字の場合は↓でうまくいくのですが、
wordwrap($text,20,"<br />",true);

日本語と英数字が混在すると文字化けを起こしてしまいます。

例えば↓のような日本語英数字が混在する場合、

僕の家は埼玉県hogehoge市2-1-2です。(うそ)よろしく

関数か何かで↓のように変換するにはどうしたらよいでしょうか?

僕の家は埼玉県hogeho<br />ge市2-1-2です。(うそ<br />)よろしく
960nobodyさん:2010/10/27(水) 12:44:45 ID:???
>>959
解決とは違うがなんでそんなことがしたいの?HTMLの書き方的に凄く気持ち悪い
10文字ごとの幅で折り返したいだけならそれの親要素の幅を指定してやる方がスマートだし正しい
すとりくたん的に受け付けないわ
961nobodyさん:2010/10/27(水) 12:51:55 ID:???
firefoxのバージョンによっては半角がwordwrapされないから
962nobodyさん:2010/10/27(水) 12:59:02 ID:???
>>959
本当にその例「僕の家は埼玉県hogehoge市2-1-2です。(うそ)よろしく」で文字化けするのなら
文字コードの指定の問題。スクリプトの文字コードやmb_*の値を確認して。

次に、「1234567890123456789あい」という文字列の場合
20で区切ると「あ」が分割されるから文字化けするのは仕方がない。

ということで、mb_strlenとmb_substrなどを組み合わせるのが良いと思うが
全角半角区別なく「10文字」ならmb_strlenで簡単だけど
「全角10文字」と「20バイト」は意味が違うから面倒かもね
963nobodyさん:2010/10/27(水) 13:01:28 ID:???
>>961
半角が改行されないのは禁則処理である意味当たり前だからな
そういう理由なら半角数字を全角にするとかの方がまともな対策だと思うが
964nobodyさん:2010/10/27(水) 13:39:47 ID:???
>>959
SJIS限定

$len = 20;
$str = "僕の家は埼玉県hogehoge市2-1-2です。(うそ)よろしく";
mb_internal_encoding("sjis");
$result = array();
for ($i = 0; $i <strlen($str); $i += $len) {
$result[] = mb_strcut($str, $i, $len);
}
echo implode("<br />", $result)."\n";

僕の家は埼玉県hogeho<br />ge市2-1-2です。(うそ<br />)よろしく
965nobodyさん:2010/10/27(水) 16:02:45 ID:???
ID出さないでageる方法
966nobodyさん:2010/10/27(水) 16:07:06 ID:HdTEvBrp
classのインスタンスを別の変数から取得できないかと思い、
↓のようなコードを書いたのですが、何も出力されません。
newする以外に取得する方法はないのでしょうか?

class Test{
var $text = 1;
function getInstance(){
return $this;
}
}
$obj = Test::getInstance();
echo $obj->text;
967nobodyさん:2010/10/27(水) 16:21:36 ID:dVXlaE2k
おすすめCMS教えてください
条件はフリーであること

968nobodyさん:2010/10/27(水) 16:23:11 ID:???
969nobodyさん:2010/10/27(水) 16:24:15 ID:???
>>965
メル欄にsage以外の何か書けばID出さずに上がるだろアホ
970nobodyさん:2010/10/27(水) 16:28:00 ID:???
>>969
>>965は質問じゃなくてそれをやってんだろ
まあアホなことにはかわりはないが
971nobodyさん:2010/10/27(水) 16:30:20 ID:???
>>966
<?php
class SimpleClass
{
public static $var = 'a default value';

public static function displayVar() {
return self::$var;
}
}

echo SimpleClass::displayVar();
972nobodyさん:2010/10/27(水) 16:31:02 ID:???
>>966
スタティックなクラスはインスタンスを作らなくていいのがメリットじゃないの?

class Test{
static private $text = 1;
static public function getText() {
return self::$text;
}
}
echo Test::getText();

メンバ変数$textをpublicにすれば
echo Test::$text; も可能。
973nobodyさん:2010/10/27(水) 16:33:04 ID:???
>>969-970さん質問に答えましょう
974nobodyさん:2010/10/27(水) 16:35:02 ID:???
>>973
まずテメーが答えろあほ
俺はいろいろ回答してる
975nobodyさん:2010/10/27(水) 16:40:23 ID:???
976nobodyさん:2010/10/27(水) 16:53:38 ID:???
>>973
そんなこというなら>>965に「質問しましょう」って指摘しろよww
977966:2010/10/27(水) 16:54:30 ID:HdTEvBrp
みなさんありがとうございます。勉強します
978nobodyさん:2010/10/27(水) 17:26:07 ID:2BwSQxVQ
>>953
レスありがとうございます。コマンドでやるときは問題ないんですが...
一覧を表示することはできるのですが、insertがうまくいかないんですよね。
↓全文です。sqliteは3.3.6です
try {

$dbh = new PDO('sqlite:test.db');
$res = $dbh->query( 'SELECT * FROM tab1');

$sql = 'insert into tab1 (number, name, note) values (?, ?, ?)';
$stmt = $dbh->prepare($sql);
$flag = $stmt->execute(array('104', '成田','日本'));
print_r($flag);

if ($flag){
print('データの追加に成功しました<br>');
}else{
print('データの追加に失敗しました');
}
}
catch( PDOException $e ) {
echo 'Connection failed: ' . $e->getMessage();
}
?>
979nobodyさん:2010/10/27(水) 17:31:22 ID:???
成田と日本をnaritaとjapanにして上手く行くかどうか見たら?
980nobodyさん:2010/10/27(水) 17:38:49 ID:2BwSQxVQ
>>979
レスありがとうございます。駄目でした。
981nobodyさん:2010/10/27(水) 18:19:27 ID:???
成田と日本を仁川と韓国にして上手く行くかどうか見たら?
982nobodyさん:2010/10/27(水) 18:25:25 ID:???
きっとnumberじゃなくてnunberじゃない?テーブルの方がnunberになってるとか
983nobodyさん:2010/10/27(水) 18:29:32 ID:???
>>980
エラーはでてないの?
あとスレ建て出来る?
984nobodyさん:2010/10/27(水) 18:29:43 ID:???
パソコンの電源が入っているのかまずそこから
985nobodyさん:2010/10/27(水) 18:35:04 ID:2BwSQxVQ
レスありがとうございます。
>>981さん。駄目でした...
>>982さん。前に指摘してもらったスペルミスを修正しましたwお恥ずかしい限りです。
>>983さん。エラーは>>941にある通りです。スレッドは立てさせていただきました。
>>984さん。お借りしているサーバーでやってるのですが、今は動いてます。
986nobodyさん:2010/10/27(水) 18:36:38 ID:???
誘導リンクも貼ろうな
http://hibari.2ch.net/test/read.cgi/php/1288168893/
ついに100か・・・
987nobodyさん:2010/10/27(水) 18:40:22 ID:2BwSQxVQ
>>986
忘れてましたw誘導ありです。
988nobodyさん:2010/10/27(水) 18:54:38 ID:???
きっとnumberじゃなくてnumbarじゃない?テーブルの方がnumbarになってるとか
989nobodyさん:2010/10/27(水) 18:56:33 ID:???
>>988さん。パソコンの電源は切りました。
990nobodyさん:2010/10/27(水) 18:59:47 ID:???
>>978
デフォじゃコンストラクタ以外で例外吐いてくれないぞ

$dbh = new PDO('sqlite:test.db');
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
991nobodyさん:2010/10/27(水) 19:22:41 ID:2BwSQxVQ
>>990さん。レスありがとうございます。
Connection failed: SQLSTATE[HY000]: General error: 1 SQL logic error or missing database
と出ました。
これはフォルダに書き込み権限与えてない為表示されるエラーなんでしょうか?
ちなみにフォルダの属性は777です
992nobodyさん:2010/10/27(水) 19:26:29 ID:???
いい加減にネタレスでスレを無駄にするな
993nobodyさん:2010/10/27(水) 19:48:56 ID:???
>>991
どこのフォルダの属性なの?777ってのは
994nobodyさん:2010/10/27(水) 19:54:59 ID:2BwSQxVQ
>>993さん
test/sqltest.php
↑ここです
995nobodyさん:2010/10/27(水) 20:01:05 ID:???
羽田じゃダメなの?
996nobodyさん:2010/10/27(水) 20:13:20 ID:???
>>994
sqltest.phpってのはこのスレで今初めて出てきたわけだけど、test.dbもsqltest.phpと同じ場所にあるんだよね?
>$res = $dbh->query( 'SELECT * FROM tab1');
↑のなしで実行してみてよ
PDOは全部fetchしないうちに次のクエリ発行したらダメだったと思う。

ttp://php.net/manual/ja/pdo.query.php
>PDO::query() を次にコールする前に 結果セット内の全てのデータを取得しない場合、そのコールは失敗します。
>PDOStatement::closeCursor() をコールし、 次に PDO::query() をコールする前にPDOStatement オブジェクトに関連付けられたリソースを解放してください。
997nobodyさん:2010/10/27(水) 20:24:08 ID:2BwSQxVQ
>>996さん 丁寧にありがとうございます。

>sqltest.phpってのはこのスレで今初めて出てきたわけだけど、test.dbもsqltest.phpと同じ場所にあるんだよね?
そうです。

>>$res = $dbh->query( 'SELECT * FROM tab1');
>↑のなしで実行してみてよ
>PDOは全部fetchしないうちに次のクエリ発行したらダメだったと思う。
外したら出来ました。fetchしてから使わないと駄目だったんですね...
後は自力でなんとかできそうです。

長々とすいませんでした。レスしてくれた方ありがとうです。

998nobodyさん:2010/10/27(水) 20:49:18 ID:???
>>992が無駄なレスな件について
999nobodyさん:2010/10/27(水) 22:39:18 ID:dVXlaE2k
>>998
>>992のレスのおかげで無駄なレスが減ったとすれば>>992は無駄なレスではないだろう
1000nobodyさん:2010/10/27(水) 22:46:48 ID:???
>>992によって>>998-1000が生まれたのなら一概に無駄レス削減に貢献したとも言えないな
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。