【PHP】下らねぇ質問はID出して書き込みやがれ 99
質問者はまず
>>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等)・フレームワークは各該当スレへ
【簡易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プログラムとして実行された結果になる。
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に保存?
→ 好きにしてください
>1.文字コードは何を使えばいいの? > →1.UTF-8 2.EUC-JP のどちらか。迷うようなやつはShift_JISは使っちゃダメ。 もうUTF-8択一でいいじゃん
うかつにUTF-8使うと〜が文字化けするからなぁ。
それPHPの問題じゃなくてエディタの問題
EUCは転送量が少ないからサイトによっては利点になるんだけどね
乙
UTF-16まだ?
1.文字コードは何を使えばいいの? →.基本的にUTF-8。次点でEUC-JP。文字コードで迷うようなやつはShift_JISは使っちゃダメ。 テンプレ変更するとこんな感じ? PHP5.3からの非推奨関数について書いてもしょうがないしな。
5.3と5.xの違いは欲しいね 5.3から名前空間とか無名関数とかいろいろ新機能追加きてるから
14 :
nobodyさん :2010/10/13(水) 15:14:39 ID:mluMwUel
無料でPHPが使える良いサーバーを教えてください。
land.to
17 :
nobodyさん :2010/10/13(水) 15:45:57 ID:mluMwUel
19 :
nobodyさん :2010/10/13(水) 15:49:03 ID:mluMwUel
>>18 そこも候補に入れときます。ありがとうございます。
>>14 素のPHPだけ使えればいいの?
SQLとか不要?
21 :
nobodyさん :2010/10/13(水) 16:05:02 ID:mluMwUel
>>20 SQLも使いたいですが、掲示板を作るのが目的です。
掲示板作るにはSQLは必須ですか?
2ちゃんねるはSQL使ってない
23 :
nobodyさん :2010/10/13(水) 16:07:55 ID:mluMwUel
すいません。 今日かなりの量の質問をしますが、許してください。
早く下らねぇ質問しろや!
DB使ったほうが管理は楽だが必須ではない。 普通ステップとしては、SQL覚えなきゃいけないDBへの読み書きよりも先に、 テキストへの読み込み書き込みをやるはずなので、 自然と最初はそっちで作ることになるんじゃない?
レンタルサーバを使う前に自分のPCに開発環境を構築して PHPを学んだ方が良いのではないでしょうか。
27 :
nobodyさん :2010/10/13(水) 16:19:23 ID:mluMwUel
皆さんありがとうございます。 とりあえず自分の環境ではPHPを動くように設定しました。 SQLを使わないでもできるってことは、 データはテキストファイルに書き出して保存するってことでしょうか?
28 :
nobodyさん :2010/10/13(水) 16:22:11 ID:mluMwUel
\nでも改行されませんでした。 <br>でしか改行できないのでしょうか?
>>27 そうっすね
>>28 htmlの改行はbrだからね
\nってやってもソースが改行されてるに過ぎない
30 :
nobodyさん :2010/10/13(水) 16:33:29 ID:mluMwUel
>>29 ありがとうございます。
さっき上の方で文字コードの話が出ててUTF-8を使えっていうことになってましたが、
UTF-8でソース書いてブラウザで表示しようとしたら文字化けしました。
euc-jpも文字化けしました。
shift-jisだけ正常に表示されました。
一体どれを使えばいいのでしょうか?
ブラウザのエンコードをそれぞれの文字コードに設定すれば、正常に表示されはしましたが、
もし、UTF-8でソースを書いた場合、閲覧してもらう人にはいちいちブラウザのエンコード設定を
UTF-8にしてもらわないと駄目なのでしょうか?
PHPじゃなく、HTMLを勉強した方がいいぞ
>>30 htmlのヘッダに文字コードの指定をいれればいい
33 :
nobodyさん :2010/10/13(水) 16:38:48 ID:mluMwUel
言い忘れましたが、HTMLとCSSはある程度使えます。 文字コードにはあまり詳しくはありませんが。
>>33 ヘッダも書けないくせになにがある程度使えますだよ
35 :
nobodyさん :2010/10/13(水) 16:39:45 ID:mluMwUel
>>31 、32
ありがとうございます。
ヘッダに指定すれば、その文字コードで自動的にエンコードされるってことですか?
>>35 自動的にというか、ブラウザにこれで表示しろって指定するってことな
この内容はphpの質問じゃないからhtmlのスレいけ
37 :
nobodyさん :2010/10/13(水) 16:42:01 ID:mluMwUel
すいません。 ヘッダ部分はいつもコピペしてたので、あまり理解していませんでした。 基本的なタグなどは使えるんですけどね。 なので、「ほとんど使えない」ですね。失礼しました。
38 :
nobodyさん :2010/10/13(水) 16:43:10 ID:mluMwUel
>>36 やはりブラウザ側でヘッダで指定した文字コードで表示してくれるってことですね。
ありがとうございました。
>>27 掲示板作ったことある?
今までどうやって書き込みログを保存してきたんだ
俺の場合はDB使えるとこならDBで、無理なとこならdatファイル
直接開いたりするならsjisにしてcsv
40 :
nobodyさん :2010/10/13(水) 16:49:17 ID:mluMwUel
>>39 掲示板は作ったことないです。
datファイルってことはバイナリファイルで保存しとくってことでしょうか?
C言語ならある程度扱えます。
csvと違ってdatファイルという一般的に知られたファイルがあるわけじゃないぞ ただのプレーンテキストのログファイルなんだからテキストファイルというべきだ
>>40 またある程度使える発言か
掲示板は要はデータを読み出して表示、書き込まれた内容を保存、って出来りゃいいわけだから
データ自体はどんな形でもいいわけ
ファイルオープンについて勉強すりゃいいよ
拡張子datは慣習みたいなもんだな
44 :
nobodyさん :2010/10/13(水) 16:53:54 ID:mluMwUel
>>41-42 ありがとうございます。
ある程度発言は申し訳ないです。でもC言語だけはある程度っていえるぐらいのスキルはあります。
ファイルオープンについて勉強します。
本当にありがとうございます。
ある程度自力で書いてみてわからなくなってからこいよ 掲示板の作り方を最初から最後まで教えろって話になるぞこれ
C言語もfopenして書き込むよね、PHPもfopenして書き込むんだよ
SQLを何だと思って使いたいと言ったんだろう
SQLはある程度扱えます
49 :
nobodyさん :2010/10/13(水) 17:02:01 ID:mluMwUel
>>45 そうですね。自重します
>>46 同じなんですね。助かりますね。
>>47 イメージ的に管理が楽かなと思いまして。。
文法的にも似通った他の言語を経験してても すぐにPHPが使えるかというとそうでもないよ 言語云々よりサーバサイドWebアプリケーションの開発経験があるかどうか もしあるなら仕組みが分かってるぶんすんなり入れるはず 逆にPHPしか経験したことがない場合 JavaでのサーバサイドWebアプリケーション開発が結構すんなりできても それ以外のアプリケーションの開発はそうもいかないはずだ
余計なこと書くなよ
はい51番さん自重ね
53 :
nobodyさん :2010/10/13(水) 17:23:11 ID:mluMwUel
変数名の前後に半角スペースいるんですね。 めんどくさいです。
55 :
nobodyさん :2010/10/13(水) 17:28:29 ID:mluMwUel
改行は<br>でするのにわざわざ\nが付いてるコードがあるんですが、 \nは必ず要るんですか?
自治厨気取りの荒らしさんこんちわーっす^^
>>53 変数名の後ろにスペースやらいれなかったらどこまでが変数かわからなくね?
前には別にいらんよ
後ろに入れたくないならそこでいったん区切ればいい
あまりにひど過ぎる おそらく釣りだコレ
>>55 ソースの可読性のためにね
たとえば
"<li>$a</li>"みたいなのでずらっと出力したら
ソースみたとき一行ででちゃう
"<li>$a</li>\n"ってやっておくと一個ずつ改行されて見やすくなるでしょ?
60 :
nobodyさん :2010/10/13(水) 17:33:07 ID:mluMwUel
>>57 前にはいらなかったんですね。
ありがとうございます。
ほかの皆さんすみません。質問だけにします。
文字定数に変数を入れないほうがいいかも "<li>",$a,"</li>\n"
>>57 何をいってんだ
$hogehoge=1;
とかできるだろ
>>62 あーそういう意味か
echoとかで吐くときの話だと思いこんでた
echo$a; これも空白入りませんが
66 :
nobodyさん :2010/10/13(水) 17:38:14 ID:mluMwUel
>>61 その書き方でやってもエラーがでて出来ませんでした。
本当にできますか?
67 :
nobodyさん :2010/10/13(水) 17:39:08 ID:mluMwUel
>>59 ソースの可読性のためだったんですね。
なるほど、なるほど。ありがとうございます。
あー違うわ そうじゃなくて ringoha$aKoarimasu みたいなのを言ったんだよ まあどうでもいいわ
>>66 echoだったら.で切らないとダメじゃない?
70 :
nobodyさん :2010/10/13(水) 17:44:44 ID:mluMwUel
>>69 ドットでいけました!ありがとうございます。
前後にスペースって結局なにを言ってたんだろうな 例文なんかにあるif( $foo <= 10 )みたいな書き方でもみたのかな もしこういうものを指してるなら可読性じゃない?自分の
72 :
nobodyさん :2010/10/13(水) 17:53:11 ID:mluMwUel
>>71 printで表現してるサンプルがあって
print("abc $test です");
と変数名の前に半角スペースが空いてたんです。
なので、前後に半角スペースが必要なのかと誤認したわけです。
$testdeath
>>69 , が使えないのはprint
質問者はprintだったからエラーになっただけ
>>72 print "abc".$test."です";
これでいくね?
78 :
nobodyさん :2010/10/13(水) 18:03:01 ID:mluMwUel
printはやめましょう echoを使いましょう
>>79 この手のやつには理由も書かないとなぜですかって粘着されんぞ
81 :
nobodyさん :2010/10/13(水) 18:13:34 ID:mluMwUel
>>79-80 調べました。
printは結果を返すが、echoは結果を返さない分若干速度が速いんですね。
あとechoは括弧をつけずに使った場合、カンマ区切りもできるということですね。
echoを使います。ありがとうございました。
何も調べずにすぐ聞くようなバカじゃありませんのである程度はご安心ください。
82 :
nobodyさん :2010/10/13(水) 18:15:03 ID:mluMwUel
またある程度使っちゃいました。逝ってきます。
ある程度って言葉をこんなに使いまくる人はじめてみたよ
ある程度はある程度扱います
なんで変数入れるなと言いつつ二重引用符
86 :
nobodyさん :2010/10/13(水) 18:50:48 ID:dLoh96KB
$hoge;とだけ宣言されてるのはどういう意味がありますか? var_dumpしてみるとNULLと返ってきますが $hoge = null;と等価ということでしょうか?
アルテイダ
スレが異様に伸びてると思ったら ある程度さんが荒らしていったのかよ
PHPスレの新キャラ ある程度さん
92 :
nobodyさん :2010/10/13(水) 21:59:42 ID:4AAPZVZR
xdebugをコンソールから使う方法を教えてください
コマンドプロンプトじゃない?
95 :
nobodyさん :2010/10/13(水) 23:28:49 ID:mluMwUel
PHPって大文字と小文字区別しますよね? クラス内の変数ではなぜvarがいるのでしょうか? こんなコードがありました。 print($lectur[$a]). "?\n"; この$#160ってなにを表してるんですか?
96 :
nobodyさん :2010/10/13(水) 23:29:56 ID:mluMwUel
?ですね。間違えました。
97 :
nobodyさん :2010/10/13(水) 23:31:26 ID:mluMwUel
あれ?はてなマークになりました。 はてなマークを表した記号だったんですか。 2ちゃんありがとうございます。
ワロタ
ミス
>>95 varを使うのはやめましょう
publicを使いましょう
php4だったらどうすんだよ
104 :
nobodyさん :2010/10/13(水) 23:42:41 ID:mluMwUel
>>101 ありがとうございます。
C++みたいにprivate protected publicの指定ができるんですね。
ということは継承もできるってことか。
varってpublicあつかいになるんですね。
勉強になりました。
>>102 ありがとうございます。三項演算子でググリます。
う〜ん。なぜかヤフーで検索できないですね。
グーグルいきます。
public は書かなくてもいいけどな。 なぜ書く必要があるかって聞かれたら、アクセス権を明確にするためじゃない?
ID:mluMwUelさんは、PHPの参考書一冊くらい読み終えてから質問したほうがいいと思う。
PHPでまともにOOPやってる人なんていないから別に無くてもおk
108 :
nobodyさん :2010/10/13(水) 23:44:56 ID:mluMwUel
109 :
nobodyさん :2010/10/13(水) 23:47:34 ID:mluMwUel
アパッチのせいでヤフーが見れなくなることってありますか?
111 :
nobodyさん :2010/10/13(水) 23:52:41 ID:mluMwUel
三項演算子って int a=0; (abc) ? a=1:a=2; ってやつですよね? これのどこが関係してるんですか?
なんだ嘘つきか
" ? \n" はただの文字列 " ? \n" はただの文字列 " ? \n" はただの文字列 " ? \n" はただの文字列 " ? \n" はただの文字列
>>109 yahooのDNSトラブルみたい。
google使うよろし。
三項演算子関係ないのに 102 がややこしくしたなw
たまに全く理解してないのにレクチャー始めるアホっているよな
>>117 はいつもの煽り厨でゴミ野郎だが
>>116 は質問者のオナニー質問に付き合ってやる必要はないよと
親切に言ってやってるだけだ
>>116 は質問者が回答者を小馬鹿にしてる風を装って、回答がもらえないようにしようと画策してるようにもみえるな
三項演算子でググレwwwwwww
顔真っ赤なのは三項演算子とか言ってたヤツだろ
まーたチンピラか
マジレスするとデバッグツールはスレ違いだね
ザコはすぐムキになって書き込むから面白いねw
ザコとか言っちゃうのマジカッケーっすwwww
もはやどれが誰だかわからんな 感嘆符つけるのはある程度さんっぽい
ここは雑談も兼ねてるからしょうがない
ここはある程度雑談も扱えるんですか?
低年齢層が多いからこうなるのは仕方のないこと
php叩きが便乗して沸いてきたなw
総合雑談スレがPHPの話題ばっかでうざい ↓ PHP雑談用のスレが無いから作ろう ↓ PHPのスレ多すぎだから雑談だけで1スレ作るな ↓ くだ質が雑談も兼ねる
WebPeog初心者スレいけばいいのにな あっち過疎ってるしPHPの話題ばっかだし
138 :
92 :2010/10/14(木) 13:09:15 ID:qNii33ON
自己解決しました
>>137 ウェブペオグ?ウェブペヤングって読むのかな?
マジレスすると、僕はある程度○○言語が扱える(コピペだけど)みたいなやつらは自分を初心者だと思っていないから初心者スレにはいかない
ここタイトルに初心者こそついてないが初心者向けなスレなわけだが
タイトル的に何言っても平気だろとは思われるだろうな 元々隔離スレだからしょうがないが
俺がこのスレで電卓作ってますなんて質問してからもう5年以上経つのか あのときはみんな親切に教えてくれたな
ゆとり世代の人口が日増しに増えていくから来年はもっと荒れるぞ
>>140 わけだがとか言われても、質問者が理解できてない限り自分は初心者じゃないと思ってる初心者がこっちにくるのはしゃーない
初心者スレとわかってて回答者風情で居座ってるだけだろ初心者が
>>136 それは違うぞ
くだ質も総合スレも内容がさほど変わらないのと
総合スレはすぐ廃れて消えるからだ
>>145 がなに言ってるか誰かエンコードしてくれ
まったく意味がわからん
初心者を刺激するとすぐ
>>147 みたいなのが枠
このスレでは無理に回答しようとする初心者回答者には絡まない事
くだ質なんだし、回答が間違ってたら他の回答者が正してあげれば良かろう
自分に都合の悪いレスは全て本人乙とかおめでたいね
何か敵が見えてる人がいるみたいだなw
アンカーなしで初心者がどうのと書いてるやつどーせ同じやつだろ 書き方が高慢であほっぽいからすぐわかる
こいつすべて本人乙って誰に言われたんだ?w 脳内敵がいる人は大変だな
過疎板で勢い100超えとかちょっと落ち着け
勢い出すなら今しかねえ
158 :
nobodyさん :2010/10/14(木) 15:30:54 ID:dCVCx140
今日の夜中ぐらいからまた質問させていただきます。 よろしくお願いします。
過疎板だから荒れてもたかが知れてるw
>>158 ブログ作るか新スレ立てててそっちでやってくれんかね
1人のために100レス以上もリソース割くのは無理
perlはパーミッションがうざいがphpはセーフモードがうざいな
パーミッションにperlもPHPも関係無いと思うが?
cgiと察してくれ
CGIにperlもPHPも関係無いと思うが?
perlのcgiだよ 俺はphpはcgiとして動かしたくないからね だからセーフモードがうざいって言ってるんだ
園児か?ツッコミが餓鬼臭い
園児がphpできたら褒めるとこだろ
>>166 良かったら、cgiでphpを動かしたくない理由と
セーフモードがうざいと思う理由を教えてくれないか?
俺はSuExec使えないとダメだからcgiでないとダメだった
今はsuPHP使ってる
170 :
nobodyさん :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;
>>170 何をどうしたいのか誰が読んでも分かるように書いて
>>1 が読めないならpukiwikiのソースでも見ればいいんじゃね
pukiwikiをパクろうとしてたのか
>>169 cgiで動かしたくないのは設定が面倒ってだけ
セーフモードはファイルの所有権あたりがうざい
>>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);
176 :
nobodyさん :2010/10/14(木) 17:28:39 ID:OBF/v79J
>>171-173 はてな記法を真似しようとしてました。
pukiwikiにも同じ処理があるってこと忘れてました。
ソース読んだら見事に解決しました。
どうもありがとうございました。
178 :
nobodyさん :2010/10/14(木) 17:29:21 ID:OBF/v79J
>>175 よく読んで勉強します。
どうもありがとうございます。
179 :
nobodyさん :2010/10/14(木) 21:11:40 ID:eYKuA3uM
本番環境(詳細不明)では動いているPHPプログラムが、 自分が作ったテスト環境(IIS7,PHP5)で、特定のあるページだけが正常に動作しません。 ライブラリをincludeしているところがうまく動いていないようで、 「〜〜<BR>〜〜」というコメント箇所の 「>」の次の文字からブラウザに文字列として表示されてしまいます。 なにかヒントをちょうだいできれば助かります。
>>179 なんかタグ排除みたいな処理がどっかに挟まれてんじゃね?
PHPロジックが終了したと判断されてるんじゃね
182 :
nobodyさん :2010/10/14(木) 22:41:26 ID:bKgolB3+
POSTで同じキーのデータが送信された場合、$_POSTや$_REQUESTで 受け取るデータは、どのようになるのでしょうか。 多重配列等になるのでしょうか。それとも一つのデータしか受け取れない のでしょうか。 後者の場合、同じキーのデータの受け取り方をご教示いただけますと 幸いです。 よろしくお願いいたします。
そこまで想像する力があるなら試せばいいじゃない
185 :
nobodyさん :2010/10/14(木) 23:03:10 ID:qQp8Fcw+
成功時にtrue 失敗時にfalseを返す関数があります 失敗時にとわざわざ書かれてるということは失敗するというのを想定するべきなのでしょうか? 例やユーザノートを見てもif-else文で失敗したときの処理は書かずに 成功のみを想定した(if-else文がない)コードが書かれている関数が見受けられます
187 :
nobodyさん :2010/10/14(木) 23:15:15 ID:bKgolB3+
>>183 ありがとうございます。
HTML側の変更がかけられないのですが、PHP側でどうにか
することは不可能でしょうか?
度重なる質問ですみません。
188 :
nobodyさん :2010/10/14(木) 23:16:13 ID:0C27ra7d
PHPでgoto文が使えるようになって大変喜んでおります。 これでcontinueやらbrakeやらわけのわからない単語を使わなくてすみます。 関数なんて使わなくても全部gotoで処理してgotoで元の位置に戻るようにすればいいですよね?
goto では関数を再現できないよ なぜなら戻る位置を指定できないからだ!!!!!!
以下のようなロジックを組んでいます。 GETで値に"02"というデータを送信しています。 ただ2行目で表示される値は"02"なのに対し 3行目で表示されるのは"2"となってしまいます。 変数にセットした値も"02"という文字列として受け取りたいです。 何が原因でこのような動作をしているのでしょうか? $region = (string) $_GET['region']; echo $_GET['region']; echo $region 以上回答いただけますでしょうか?
変なキャストするから GETとかREQUESTとかPOSTとかそこらへんに入るのは全部文字列だぞ 入ってるかどうか解らないっていうのがあるなら 先にセットされてるか確認すべきだ
キャストしなくても頭の0が取れてしまうのですよね・・・。
195 :
nobodyさん :2010/10/15(金) 00:50:08 ID:Ypm82kqs
>>191 APIから受け取るものが、a=1&a=2&a=3 といったものなんです。
これがpostで送られると連絡受けまして質問させていただきました。
$region = ""; としておく
>>195 それどこのAPI?
素人が作った物なら窓から投げ捨てろ
$region = sprintf('%02d', $_GET['region']); ではダメなのかぃ?
↑文字列だっつうの
↑?
わざわざ(string)でキャストしなくても元から文字列か配列だけど php.iniの設定で勝手にキャストする項目あったかな
$region = ""; これで初期化しとけば
204 :
nobodyさん :2010/10/15(金) 03:19:25 ID:0dyZ6dAO
借りているサーバーのPHPバージョンが5.1で、json_decodeが使えないため Services_JSONを使おうとしているのですが、json_decodeなら第二引数にTRUEを指定して連想配列にできるのですが Services_JSONではできないようです。 パースしたものををechoで表示させたいのですが、どのようにすればできますか?
質問に質問で聞きかえすなら答えるなよ 見ててイラッとするな
>>192 です
返事が遅くなりまして申し訳ありませんでした
頂いた回答を確認させて頂きます
有難うございました
>>204 JSONはそんなに複雑じゃないから自分の好みに合ったパーサを
書けばいいんじゃない?
208 :
nobodyさん :2010/10/15(金) 09:36:14 ID:3S26wDlW
よくパスワードをmd5やsha1など不可逆で圧縮しなさいと 解説サイトに記載があります。 不可逆なら他人が見ても解らないから安全だという説明ですが、 復元可能な暗号でもファイルが流出したりハッキングされない限りは 特に問題ないのではないでしょうか? 逆に、そういう事態なら不可逆にしていても問題出てくると思いますし・・・
例えば会員のパスワードとか、 不可逆にすれば、システム管理者側でも会員のパスワードがわからなくなるので、 内部犯行が減るからとか。
【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"] があるので、他に方法が無ければそれで判断するしか無いかなと思ってます。
ハッキングよりも内部の犯行の方が遥かに多い気がする、もちろん私の主観ですがね。
212 :
210 :2010/10/15(金) 11:25:04 ID:N7BOKkib
すみませんID出し忘れました
>>210 解答じゃないけど昔その課題にトライしたけど無理だった気がするな
だからあなたの言うとおり
httpとhttpsでアクセスしたときの$_SERVER $_ENVの違いを見て判断しようとしたけど
ブラウザごとに結果が異なってきてどうもうまくいかなかったので
結局よく見るSSLでログインするボタンみたいな感じのを設置して
ユーザに選択してもらうっていう結論に至った
俺もズバリな解決方法あるなら知りたいな
214 :
nobodyさん :2010/10/15(金) 11:33:12 ID:60tWkVej
IIS使ったこと無いけど それ本当にhttpsで通信してる???
215 :
nobodyさん :2010/10/15(金) 11:43:20 ID:N7BOKkib
たぶん間にSSLをほどく箱が入ってるパターンだな。ロードバランサとか 使ってると良くある。そういう構成ならSSLかどうかの判定方法とかは レンサバのマニュアルに書いてあるんじゃねーの? 書いてなかったら 問い合わせていいレベルだと思うが。
>>210 URLが違うなら、htaccessでリダイレクトは?
218 :
nobodyさん :2010/10/15(金) 12:58:50 ID:N7BOKkib
>>216 「プログラムの記述についてはお答えできません」との事です。
>>217 IISなうえにレンタルサーバなので、BASIC認証はできるんですが、それ以外は無理そうです
一応$_SERVER["HTTP_X_FORWARDED_SERVER"]でなんとかなりそうなので
テストを重ねて平気そうならこれでいきたいと思います
みなさんありがとうございました。
これからPHP勉強するんですが 時代遅れですか?
はい、時代おくれです lispをやりましょう
phpのGDライブラリを使ったことがある方に質問です。 Ubuntu10.04LTSにphp5-gdをapt-getでインストールしたのですが phpinfoには反映されてないのか出てきません。 apache2の再起動のほかに設定することあるんでしょうか? PHPのバージョンは5.3.2-1ubuntu4.5です。
そういやPerlが流行った2000年代前半 後半に流行ったPHP 2010年代PHPの次世代はなんだね? 考えたこともなかったがなんか話題にあがってるのあるっけ?
223 :
221 :2010/10/15(金) 15:04:34 ID:???
Ubuntu再起動したら、有効になったorz スレ汚しスマソ
PHP6
GoogleのGoっていうのにすこーし注目してるが Python同様どうみてもライトユーザ向きではないな しばらくはPHPで安泰ですね
良い無料サーバ教えてください。
227 :
nobodyさん :2010/10/15(金) 22:04:04 ID:e2zhTAp1
すいません質問お願いします(*_ _) 友達の美容院のサイト頼まれて、 「管理画面からシフト登録して、スタッフシフトがお客さんから確認できるようにしたい」 との事なんですが、どんなようなシステムを考えたら良いのでしょうか。。 やりたい事はこんな感じです。 1. スタッフ山田さんは毎週月/水/金が出勤だからそのように登録(管理画面から)出来る = 以後ずーっと山田さんは月/水/金になると出勤スタッフ一覧に表示。 2. 10/20の水曜日は山田さんがお休みしたいとの事なので、その日のみ表示しないようにする。 3. 10/20に休んだ代わりに10/24出勤になったので、反映させたい。 (1)はDBにスタッフ用のテーブルを作って、どっかのフィールドに出勤曜日を入れとけばいいのかな? と思ったのですが、すると(2)や(3)の時にどーすんだろ?と・・・。 通常こういったシフト管理システムとかって、どんなようなロジックで構成されるモノなのでしょうか? ヒントだけでもいただけると死ぬほどありがたいです('A`)
1 スタッフテーブルに週フィールド作る 1,2,4,8といったフラグ具合でね 2 休日フィールド作る カンマ区切りなんかで適当に 3 1と2を調べて翌日休むかどうか決める はいおわり
229 :
227 :2010/10/15(金) 22:46:20 ID:e2zhTAp1
>>228 レスありがとうございます!
休む日の日付を取得して、それを「休日フィールド」に突っ込んどく、というカンジです?
なんかイレギュラーな出勤や休日が多いととりとめもなくなっちゃう(その都度「休日フィールド」やら「この日は特別に出勤!フィールド」やらに日付を追加、だんだん増えてく)ような気がするんですが、「DBはそんなにヤワなモノではない!」って事なんでしょうか。
なにぶんpgは初心者なんでおかしなこと言ってたらホントごめんなさい(*_ _)
気になるならcronで毎月消せばいいじゃん
給与システム連動とかいろいろあんなら 月次更新でスタッフテーブルのフィールドを基に 翌月のシフトデータを専用テーブルに吐き出す 当月の急な休みとか出勤はその都度書き換えれば良いだけ はいおわり 相談料6000円になります
>>227 1 → 出勤曜日テーブル(A)を作る
2,3 → 不定出勤日/休日テーブル(B)を作る
テーブルBに対象日のデータがあればそれを優先する。
なければテーブルAのデータを使う。
233 :
nobodyさん :2010/10/15(金) 23:17:46 ID:e2zhTAp1
>>230 さん、
>>231 さん、
>>232 さん
ありがとうございます!
いろいろ方法はあるんですね・・・。
教えていただいた3通り、調べながら色々試してみます!
ちょっと希望が見えてきたカンジです、ありがとうございました!!
234 :
nobodyさん :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を自動的に取得できるようにしたいのですが
○○○の部分にはどう記入すればいいのでしょうか?
jsで強引に突っ込めばいい
>>227-233 一つのテーブルに詰め込む人がよくいるけど、
複数のテーブルにしたほうがいいと思う。
? どれもが別テーブルにしてるぞ
239 :
nobodyさん :2010/10/16(土) 00:18:07 ID:YK7HI7ry
だからjsでつっこめって どうしても$_POSTがいいのか? ならこうすれば?wwwww echo <from action="$_POST['abcde']"> そしておまえはxssの餌食になるのであった
<php? $url = $_POST['abcde']; ?> <form action="<?php print ($url); ?> " method="post">
あ・・・<?
243 :
nobodyさん :2010/10/16(土) 00:45:46 ID:YK7HI7ry
ありがとうございます! やっと完成しました。
244 :
nobodyさん :2010/10/16(土) 01:08:54 ID:gWKvdlCe
1〜10文字の、ひらがな、漢字、全角カタカナ、全角英数字 という チェックをかけるため、下記の正規表現をぐぐりながら書いてみた のですが、どうも正常に動作しません。 if(!(preg_match('/[ぁ-んァ-ヴーa-zA-Z0-9]{1,10}/u', $_REQUEST['text']))){ errot(); } 恐れ入りますが、ご教示いただけますと、幸いです。 もし他に何か方法があればそちらを教えていただけますと幸いです。
utf-8
> errot(); 何だかエロいなw
247 :
244 :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でしたね。。
>>247 「正常に動作しません」とは具体的に何がうまくいかないのかな。
うまくいく文字列、うまくいかない文字列があれば例示すべし。
ちなみに
>>244 のままだと文字列の一部に全角文字が含まれてれば通過するんじゃないかな。
「全角」をTRUEとするなら !preg_match('/[a-zA-Z0-9]{1,10}/u', じゃ、ダメなん?
>>238 >>228 は同じテーブルっぽくない?
>>243 >>241 の書き方はXSSという攻撃の対象になり得るので、下の用にしましょう。
<php?
$url = htmlspecialchars($_POST['abcde'], ENT_QUOTES);
?>
<form action="<?php echo $url; ?> " method="post">
<php?
>>249 それだと{1,10}が意味をなさねぇだろ
?>
>>250 htmlspecialchars使えば万事OKではない
htmlspecialcharsのデフォルトの文字コードはISO-8859-1、php.iniの文字コードとスクリプトの文字コードが食い違うとXSS可能
なのでちゃんと第三引数まで指定すること
あと、
>>234 の場合だと2バイト文字を含まないのでctype_printで先にチェックしておく
2バイト文字を含むならmb_check_encodingでチェック、これもちゃんと第二引数まで指定する
つーか、それ以前に$_POST['abcde']で得たURLを 直接<from action="〜">に再投入することが問題。
そういう場合もあるだろうさ そのときにどうセキュリティ対策するかという話
であればセキュリティ対策のしようがない。
htmlspecialchars掛けたって偽装URLは排除しようがない。
>>234 のようにあらかじめURLの選択肢が決まっているのであれば
そのURLを直接送信せずに選択肢番号のみを送信し、受け取った 2.php 内で
その番号に応じたURLを埋め込むような仕様にすべき。
POSTなら問題にはならない 他人にはURLとして誘導できないからな
ならhtmlspecialcharsだって意味が無い。 クリックした本人にしか影響がないわけだからな。 XSSを考慮するなら、偽のindex.phpを用意して本物の 2.php にPOSTするような 攻撃方法も考慮すべき。
間違えた。 前半2行は無視してくれ。
>>260 POSTもGETも関係ない、htmlが置けるスペースがあればPOSTで任意のデータを他人に送らせれる
「ら」抜き言葉は止めろ
265 :
nobodyさん :2010/10/16(土) 07:22:06 ID:YK7HI7ry
度々すみません。 攻撃されるって誰からですか?
え?影響あるのは自分だけでは?他人に送らせるってどういうこと?
268 :
nobodyさん :2010/10/16(土) 13:41:34 ID:I74M7hiK
POSTは外部から送ることもできるだろ
送って、それはどこに表示されるの?
え?
259 nobodyさん sage 2010/10/16(土) 03:21:54 ID:???
>>234 のようにあらかじめURLの選択肢が決まっているのであれば
そのURLを直接送信せずに選択肢番号のみを送信し、受け取った 2.php 内で
その番号に応じたURLを埋め込むような仕様にすべき。
これに興味あり。なんで?
>>271 HTMLなんか書き換えられるんだから、変なURL突っ込むことも可能だろ
あらかじめ数字か何かで決めておけば、変なのが来ても弾ける
2.phpで個人情報等を入力させるっていう前提?
2.php の目的によってはURLをそのままPOSTしても問題はあまりないかも
でも一般的なプログラミングとしては
>>259 のようにしたほうがいい
もちろん 2.php 内でPOSTされた数値の正当性もチェックする
276 :
nobodyさん :2010/10/16(土) 20:03:39 ID:avUbsZ6o
ファイルの文字コードを取得したいと思い、 $text = file_get_contents('text.csv'); echo mb_detect_encoding($text); としたのですが、文字コードが取得できません。 どうすればいいのでしょうか?
コードにおかしいところはないと思う。 どんなエラーメッセージが表示される?
>>276 $textの内容をechoして確認せよ
279 :
nobodyさん :2010/10/16(土) 20:44:46 ID:avUbsZ6o
280 :
nobodyさん :2010/10/16(土) 20:45:51 ID:avUbsZ6o
あ、$textをechoしたら普通にファイルの中身が表示されます。
echo mb_detect_encoding($text); の結果がFALSEだとしたら検出に失敗している ちなみにmb_detect_encodingは必ずしも検出できるとは限らない(対象文字列による)し、 文字列によっては誤検出する場合もある。
282 :
nobodyさん :2010/10/16(土) 21:15:41 ID:avUbsZ6o
それでは検出する方法はないのでしょうか? 検出したいのはファイルの文字コードで ファイルの文字コードがUTF-8以外の場合は、 mb_convert_encondigでUTF-8に変更するというのが目的です。 その為に、ファイルの文字コードを知る必要があると思いました。
日本語の文字コード認識を完全に自動で行うのは困難。 mb_convert_encodingの第3引数を"auto"にして自動変換する場合も同様。 "mb_convert_encoding UTF-8" あたりでググるとよい
>>255 受け取ったURIを使うような方法はもちろん自分ではやらないよ。
>>255 の質問の意図は何?
>>284 >>250 で「下の用にしましょう」として「受け取ったURIを使うような方法」を示してんじゃん。
> ○○○の部分ににindex.phpの三択で指定したURLを自動的に取得できるようにしたいのですが これに対する回答だからじゃないの?
287 :
nobodyさん :2010/10/17(日) 02:40:23 ID:N98scqjc
皆さんはphp.iniで error_reporting = E_ALL & ~E_NOTICE の設定にして、全てのエラーや警告が出ないように作ってますか? そこまでする必要はあるのでしょうか? お仕事でPHPを使っている人は、やっぱりそのへん厳密にやってるんでしょうか…。
厳密っていうかでないのが当たり前っていう思考だからなんとも 正しい書き方を身につければそんなこと考えもしないよ
291 :
nobodyさん :2010/10/17(日) 11:00:19 ID:GEOHnAz9
mdb2のwhereのことなんですが、 たとえば、dataのカラムにabcを含む場合、だったら where `data` like '%abc%' となりますが、どのカラムでもいいのでとにかくどこかにabcが含まれている場合、だったらどうなりますか? where `*` like '%abc%' と書いたら、undefined method ってエラーがでました
>>291 それPHPの質問じゃないけどちゃんとageてるので答えると
テーブルごとにやるしかないよ
>>287 それだとNOTICEでないよね?
うちはNOTICEは全てでないようにしないと品質保証部のの許可が下りない
品質保証部って運用テストのバイトの人?
>>292 回答ありがとうございます
テーブルごとにやるとしても、カラムもカラムごとでしょうか?
WebでもQAエンジニア雇うところはあるよ
全部連結して、比較は1つ、でもいいけどね。 まあ連結するとき間にセパレーター置かないと誤判定するか
どこから考えるのかわからんけど、そもそも複数カラムに対して同じものを比較する時点で 設計に問題があるかも
>>290 そうなんですか。
undefined indexっていうwarningが出ないようにしていくのが
とても大変で・・。
>>300 簡単にいうとモンスターリストがありまして、
抽出で、生息地や全長などで絞り込めるんですが、
「フリーワード抽出」の項目を設けて、「○○の文字をどこかに含むもの」でも絞れるようにしたいのです
現状だと、カラムすべてに対して書いてるんですが、簡略化できるんではないかと思い立ちましてお尋ねした次第です
>>302 全カラムを取得してループでクエリを組みたてれば「記述するのは」楽になる。
実行速度的(スケーラビリティ的)には仮に*が使えたとしても列挙したのと大して変わらない。
カラムが100項目もあるとかいうなら考える余地はあるけど、そこに拘ってもあまり得はない。気持ちの問題。
業務システムじゃむしろ列挙しなきゃだめなんじゃないかね。
あとageてね・・・。
>>303 そうですね
楽しようというのが主旨でしたが、これくらいちゃんと書けって話ですね
目が覚めましたありがとうございます
305 :
287 :2010/10/17(日) 21:34:04 ID:???
オープンソースのものを自分の環境で動かしてみたら、Warningは一つも出ませんでした。
やっぱり熟練者は正しい書き方ができてるんですね。
>>293 NOTICEは出さないようにしてます。
そこまでするべきでしょうか?
>>305 出さないようにできてるならそれでいいのでは?
307 :
nobodyさん :2010/10/17(日) 22:56:51 ID:5JoLPq4l
readfileとクッキーについてお聞かせください。 ヘッダ、フッタなどサイト上の多くのページで同一のHTMLがある場合これを別のファイルにして 各ページからreadfileで読み込むようにしています。 readfile("inc/header.inc");//ヘッダを読み込む といった具合です。 同時にこのページでクッキーも利用したいと考えているのですが、 readfileはクッキーを無効にしてしまうようで正常に動作してくれませんでした。 各所でreadfileの説明を読んでみても無効にする、といった説明はないのですが常識的なことなのでしょうか。 またこの場合includeなどを用いるべきなのでしょうか。 御指南よろしくお願いいたします。
>>306 必死に出ないように書いてるんです。
>>290 さんの言われているように、慣れれば当たり前のように正しい書き方ができるのかもしれませんが、
今はすぐに警告や注意が出るのでとても疲れます。
>>308 仕事じゃないんでしょ?
自分でテストして問題無いと思えば無視すれば?
仕事なら規約次第だけど、小さいとこだとNOTICE無視は結構ある
ようはテストして動けば良いという考え
310 :
307 :2010/10/17(日) 23:06:35 ID:5JoLPq4l
readfileをする前に、というよりHTTPヘッダを送信する前にクッキー操作を行うようにしたらうまくいきました… HTTPヘッダ送信以前にクッキー操作をするのは常識でしたね… お恥ずかしい限りです… スレ汚し申し訳ありませんでした…
>>309 そうですね。割り切ることにします。
あと、変数の前に@を付けると回避できることがわかったので、使ってみます。
ありがとうございました。
ちょw
314 :
nobodyさん :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で入れた数字の大きさでソートさせるようにするにはどうしたらいいでしょうか
>>314 $list[] = sprintf("%02d",$foo).' :'.$bar;
>>315 ありがとうございます
3桁になると上位二桁のみで判定されるのでだめでした
>>316 ありがとうございます
これ使います
318 :
nobodyさん :2010/10/18(月) 08:14:10 ID:GNgSoasg
決してCGIユーザーの煽り目的とかではないのですが、質問です phpで調べてみると脆弱性とか修正できない問題が結構多いのですがphpの将来性ってどうなんでしょうか? なんだか致命的な欠点が多いのでその内自分の学んでるphpの知識が無駄になってしまうのでは?と思ったりしてるのですが
>>318 無駄になる可能性のない言語なんてあるの?
>>319 ブルーレイと東芝のDVDみたいなモンだろ。どっちのレコーダー買えばいいかみたいな
そりゃ欠陥ばっかりのモノより将来性のある方選んだほうがいい
俺はまだphpは未成熟で可能性としては未知数と思ってる
perlと比べると長ったらしくなるコードがphpだと物凄い短くなるし
>phpで調べてみると脆弱性とか修正できない問題が結構多いのですが PHPが深刻な脆弱性を多々抱えてるわけではない ではなぜそういうことが言われてるかというと プログラムする人のコーディングミスによるセキュリティーホールが PHPだと発生しやすいからだ PHPに脆弱性があるんじゃなくて 作成したWebアプリケーションに脆弱性を発生させ易いのがPHPということ ここらへんがPHPは初心者向けであって初心者向けでないと言われる所以 PHPが本当は内部処理で適切にコーディング内容を処理すればいいんだけど ユーザ任せになってるところが問題なだけ 熟練者にもミスはつきものだが熟練者にとってはラピッド開発できる優秀な言語でもある
まずPHP自体が結構多く持つ脆弱性とか修正できない問題を知りたいのだが
323 :
nobodyさん :2010/10/18(月) 09:49:25 ID:fqdWguE4
現在、借りている鯖のPHPバージョンが5.1Xで、5.2を使いたいのですが シェルログインに対応していません。 FTP等から、PHPのバージョンアップをしたりすることは可能でしょうか?
root権限じゃないと無理でしょ 鯖管にメールしてバージョン上げられるか交渉してみなよ そこのレン鯖の新しいサーバで5.2に対応してるならそっちに引越しさせてもらうとか
PHPの脆弱性? また小飼弾ちゃんが大騒ぎしてんのか?
そこはIPAだろ
自分の知識が足りないから起こるミスを言語のせいにしてるような情報は信じたらアカンよ
328 :
nobodyさん :2010/10/18(月) 12:54:13 ID:GNgSoasg
どうやら調べた結果内容を教えてくれる気はなさそうだね
結構 php 脆弱性 でググると出てくるよ 個人のブログが多いけど
php 脆弱性でググった中から、 「これはユーザー(プログラマ)側ではどうしようもできねー、PHPという言語自体の問題だ」 というのを上げて欲しいですね。
良い意味でも悪い意味でも セキュリティ意識を高めて学ぶならPHPは最適ってことか
>>332 言語自体の脆弱性に分類されるようなものはこのリストに無いな・・全部使う側の問題
335 :
nobodyさん :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
337 :
nobodyさん :2010/10/18(月) 17:27:49 ID:d6HCmNn9
>>336 phpよりホスト等を取得するからです。
>>335 PCつかうとUserAgentはFirefoxとかIEになるけど
UserAgentやヘッダ(端末ID等)なんてPC使えばいくらでも偽造できる(成りすまし)からあまり当てにしないほうがいい
>>335 >下記の様に通常のdocomo携帯からのアクセスと
>同じ様になるのでしょうか?
結論からいうと、なりません。
一部のdocomoの携帯(スマートフォン)をPCに繋いでネットすることはできるけど、
その場合はmoperaに契約して繋ぐことになるのでホストはmoperaになります。
>>338 docomoIDの事を知りたかったのです。
>>339 どうもありがとうございます。
疑問が解けました。
>>340 ???という事は、PCを使用して携帯電話を操作する事が可能なのですね。
>>341 PCで、携帯を装ってアクセスできるってことでしょ
>>342 やりたい事は、例えばPCからdocomo携帯を装って
完全にdocomoIDが付与された状態で
特定WEBサイトにアクセスがしたいのですがこの様な事はやはり不可能なのでしょか?
>>343 やりたいと言われてもな
スレタイを音読するといいよ
自鯖なら適当にヘッダ付与して適当テストかませばいいじゃん 他鯖?まともなサービスならipとuidチェックでとおらねぇよ
どう考えてもろくなことをするつもりじゃないだろ
高木のサイトを誰か出すと思ったw
>>347 そこに質問をした覚えはありません。
何とかPCから完全に携帯を装ってアクセスしたいのです。
イメージとしてはPCブラウザから
したらば掲示板等のに書込みを行った場合に完全に携帯を装いたいです。
>>349 したいならすりゃいいって
誰も止めてないぞ
ここは質問できるスレであって、したいことをできるように初心者がちやほやしてもらえるスレではないからな
自演するので携帯でアクセスしてるように見せかけたいんです!みたいな動機っぽいな… つーか高木ちゃんのページに書いてあるのに何で気づかないのやら… 結局は質問者のレベルが追っついてないだけ
>>349 の傲慢そうな雰囲気からして自分擁護レスとかやりたいんだろうなって感じがするなw
>>349 横レス(おいらPHPはよくわからんけど)。
んー、SOCKET使えばできるかも?
でも、高木先生の記事を読んだ限り、
キャリアのプロキシとしたらばの実装次第かな。
というか、phpのスレで聞くような話じゃない気も。
ある程度巨大なWEBシステムになる事が予想されるんですが、 開発言語として ASP.net or PHP どちらかにしようと思っています。 実際の運用フェーズに入ったらPHPの方がコストが大分安いのですが、 メンテナンス制を考慮するとASP.netだと思いますが どちらの方が良いでしょうか?
>>355 スレの質問ルールも守れないようなやつがなにを作れるってんだよ
猫大好きスレで猫と犬どっち飼いましょうかって聞くくらい不毛な質問
このスレってPHP大好きスレだったんだ PHP質問スレだと思ってた
>>362 猫スレじゃない(猫がたとえ)ってことが理解できて
大好きスレじゃない(大好きがたとえ)ってことが理解できない理由がわからん
>>364 それは文脈に起因します。
「どちらの方が良いでしょうか?」という質問に対して「大好き」という回答は
関連が強過ぎるため直接表現と捉えられても仕方がありません。
比喩表現としては十中八九失敗するでしょう。
現にここでは失敗しています。
ネット社会では 比喩表現1行レス == 荒らし
>>363 いつもはLinux/Apacheなんだけど、今回windows/IISでコンソールも提供されない状況での開発してて
IISのログはFTPで持ってくる方法しか提示されてなかったので
>>361 の奴を探してきて、自分用に改良した。
作業用マシンがwindowsでサーバがLinuxの場合でも、sshで接続してtailでログ見るより
ブラウザ上で見られた方がteratermなどを起動させなくていいので余計なソフトが一つ減るのと
Linuxが苦手な若手が操作ミスするリスクを減らせて良いかなと
余談だけど
>>361 の奴はfirefoxのサイドバーに表示させてる。
>>365 ぶつぶつ不満いってんのはおまえさんだけみたいだが
今更なんですが DB(MySQL)がutf-8の場合、 phpスクリプトファイル自体もutf-8文字コードで作成しないといけないですよね? 私の使っているIDEが新規スクリプトファイルを追加すると 自動でsjisになってしまう為ご質問させて頂きました。
いいえ
特に理由がなければ同じ文字コードにした方が楽。 どうしても別の文字コードになる場合 (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"> らへんを適宜使う
>>371 どうもありがとうございました。文字コードをそろえます。
※以前に作ったサイトの文字コード選定で sjis を選択してしまい
激しく後悔したので今度からはutf-8に統一したいと思います。
htmlファイルをすべてutf-8に直すプログラム作れば簡単っすよ
sageてるやつにえらく親切だな
375 :
nobodyさん :2010/10/19(火) 13:56:16 ID:5WEhDG4j
>>349 無理じゃね?
PC使って携帯ブラウザが利用するIPアドレス帯通してアクセスする方法あるんか?
377 :
nobodyさん :2010/10/19(火) 14:03:12 ID:Uiw+alOC
名前の投稿について質問なのですが $name = htmlspecialchars($_POST['name']); if (!$name) $name = "名前がありません"; とあるのですが、!$nameの所がちょっとよくわかりません 'name'に何も書き込まれて無かったら名前がありませんになるという事はカンでわかるのですが なぜ否定の!と$nameの変数を続けただけでそうなるのでしょうか? !$nameじゃ$nameじゃないっていうよくわからないモノになってしまう気がしまいます
isset使え
びっぐいしゅー
>>375 ただ単に不正にいろいろやりたいことがあるんだろ
たとえばランキング荒らしとか、IP制限されてるサイトのソースをみたりとか
>>380 脆弱性をボランティアで検査してあげたいだけだよ
384 :
nobodyさん :2010/10/19(火) 14:30:04 ID:Uiw+alOC
>>381 あ、すみません確認なんですけどソレって
if($bool)[ 処理1 ]
だとtrueのときに処理1が実行されて
if(!$bool)[ 処理2 ]
だとfalseのときに処理2が実行されるという事でいいんですよね?
>>383 で名前欄出さなくてすんません
>>384 そう
if ($name)は
if ((boolean)$name == true)と同じ
if (!$name)は
if ((boolean)$name == false)と同じ
386 :
nobodyさん :2010/10/19(火) 14:36:57 ID:Uiw+alOC
>>385 丁寧にありがとうございます!超助かりました!
>>384 if($foo)って書き方は
とにかくサブミットされたなら、ってときとかによく使う書き方だから覚えてて損はないよ
>>387 混乱するだけだから変な説明すんなや
$fooが何かによるでしょうに
if ($_POST)ならまだわかるけど
empty使うんじゃないのか
その変は挙動を把握できるならどれでもいいと思うよ issetでもis_xxxでも
>>388 こんなことで混乱するとか耐性なさすぎじゃまいか
>とにかくサブミットされたなら、ってときとかによく使う ここが変 サブミットされた値って書けば通じるけど
>>393 はなにを言ってるんだ?
$typeがsendなら、とかじゃなくてとにかくフォームから送信されたデータがあったらこの処理をする、ってことだろ?
なんもおかしくないじゃん
== != しか知らないと、($hoge)とか(!$hoge)とか見慣れなくて不自然なんだろうな TRUEなら(FALSEなら)ってのは使い出すと勝手はよいのに
>>394 >フォームから送信されたデータがあったら
こういうことを言ってるんですが
サブミットされたという表現だと
actionをうけたらという意味になるからおかしいと言ってるの
実際に値がなくてもね
<form method="post" action="foo.php">
<input type="submit">
</form>
== === に見慣れてるせいで MDB2のwhereの`foo` = 'bar'は何度書いても違和感があるわ
今時MDB2なんて使ってるやつはいねえですよ
>>396 そこまで屁理屈をこねる人が選択する言語じゃないと思ってたけど()笑
どこが屁理屈なんだ・・・ サブミットって単なるトリガーなんですが 勝手に単語作ってオナニーしないでもらえるかな 正しく意味が通じるように言えないなら黙っときなよ
PECL: PDO
>>400 ブラウザとじて深呼吸してこい
いらいらすんのは体によくねえぞ
>>403 イライラしてないし
反論できなくなるとそらすんだね
某氏が提唱するようなフォームって実際作る意味あるんかな サブミットするってsubmitボタンを押すって意味で解釈するなら値が空もありえる(理論的にありえても現実的にありえない?)としても、submitって言葉の意味なら「値を渡すこと」と解釈するのが妥当だと思うんだけどな こんなこといったら噛みつかれちゃうかなw
>>387 は「サブミットされたら」って言ってて、「inputのtypesubmitをクリックしたら」って言ってなくねい?
屁理屈言ってないと正気を保てない人ってまれにいるよな
サブミットされたらだと
>>396 のコードや
>>405 の指摘通り
なんもない場合も考えられる
それを屁理屈というかいわないか
という話ですね
>>407 言い返せないと屁理屈の一点か
誤解をうむ言い方をするなという指摘を素直に受けれないわけ?
値がどうとかは関係なしに、
>>396 の指摘はあながち間違ってないと思う。
値を受けた処理だけじゃなく、actionを受けた時点での処理も存在するからね。
例えば同一ページに2つフォームがあって、同じ場所にactionする場合とか。
2つのフォームのメソッドはそれぞれPOSTとGETになっていて、
どちらかで処理を分けたい時なんかは、
if ($_POST)
if ($_GET)
で分けたりもするから。
設計を変えろだのそういう話は置いといて、そういう書き方してる人がいるのも事実。
>>367 詳細ありがとう
エラーをログに吐かせて確認する時とか便利そうだね
今度デバッグの時に使ってみよう
>>405 ラジオボタンで未チェックなら値は渡ってこないから
値が空は普通にあるよ
その場合、isset等を使わず $_POST['radio'] (←ラジオボタンだとして)をそのまま使えばNOTICEがでる
普通にMDB2を使ってるが。
ラジオボタンだとするとname属性の値がradioなのかw
イミフなツッコミ
そりゃ分かってたら書かないもんな
typeの値がradioに決まっとろう nameをradioしたのは説明上の理由にきまっとろう
PHPは入力フォームの種類まで受け取れるのか、の方が良かったか
419 :
nobodyさん :2010/10/20(水) 00:42:00 ID:goWML+Iz
悲しみのradio
みんな if ($hoge) とかやってんの? E_NOTICEでエラー出ちゃうじゃん。
値が入ってたら出ないのでは?
isset と empty の動作が嫌なので、 isEmpty() みたいなメソッドを独自実装してるのって俺だけ?
うぇ勘弁してくれ
どんな挙動?
425 :
nobodyさん :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ファイルにまとめたいのですが
>>425 1.各optionに$_POST['晩御飯']の値で条件分岐してselected="selected"をつける
2.submitの値で処理を分ける
つまりif文という奴を使ってください
427 :
nobodyさん :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も勉強足りなくて本当にすみません
428 :
nobodyさん :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> 書き方はいろいろあるとおもう
ニヤニヤ
>>422 おれも知りたい
言語構造の代わりをメソッドの独自実装でどうやってできるかを
結局中身でissetやempty使ってるってオチだろ
PHP拡張でという意味じゃないの? cができれば簡単にできるよ PHP Extentionで検索すればいっぱいでてくる
root権限のある専用サーバや自宅サーバならともかく ここにいる人ってだいたい共用サーバでしょ? PHPのソース拡張しても実運用じゃ使えなきゃ意味ないしな
たとえ実運用で使えても使いたくありません
selected="selected"って書くんだ・・・ 今までselectedしか書いてなかったよ
HTML4とかは属性名と属性値が同じなら省略できたからselectedだけでいいけど、 XHTMLとかは属性値が必須だからselected="selected"って書かないと駄目
437 :
422 :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; }
>>421 値が確実に入ってるならいいけど、それでない場合もあることを考えるとif ($hoge)は不安
439 :
nobodyさん :2010/10/20(水) 13:19:06 ID:3XsRLFfk
>>428 できました!ありがとうございます!
質問の一つが解決しました
普通に考えてif ($hoge)はユーザからの入力値だから 何も送られてこなくても空文字になるだけでnullにはならない 問題なのは最初に開いて未送信の状態だとnullであることだね nullと空文字を同列に扱ってもいい場合はそういう書き方でも問題ない
nullとか空文字ならまだいいが、関数じゃ未定義の変数渡せないじゃん
> 普通に考えてif ($hoge)はユーザからの入力値だから そうとも限らないじゃないかな
>>440 はじめからtextarea等とわかったうえでならいいのかもしれないが
radioやcheckboxは未checkだと空文字ではなく値が渡ってこないから
わかってないとはまりそうじゃない?
taintが無いのは慣れたけど、phpの流儀はよくわからんな
未定義の可能性があるものをそのまま渡すのがphpの普通なの?
NOTICEを無視するのも普通?
$checkbox = $_POST['checkbox'] ? true : false; とかにするよな?
if (isset($hoge)) ; // 言語構造に未定義変数渡してチェックできる
if (empty($hoge)) ; // 同じく言語構造に渡してチェックできる
if ($hoge) ; // 未定義だから警告出る
if (isEmpty($hoge)) ; // 未定義だから警告出る
>>443 こういうことでしょ
把握
>>446 ん?
if ($hoge)の前に$hoge定義するでしょ?
やべえ俺は異端者なのか
$_POST['hoge']がtextareaの場合 $hoge = $_POST['hoge'] ? $_POST['hoge'] : ""; if ($hoge) or if (isset($_POST['hoge']))
結局@で警告抑止するのが一番楽という結論になったな俺はw 若干遅くなるって話も聞くけどループでぶん回すとこじゃなけりゃ 気にしない。
鯖代をけちって第三者に貸し出すシステムを スタンダードとかやばいなかw? さくらってすぐに鯖落ちするからなぁー
一度変数に入れてあとで使う場合なんかは $hoge = $_POST['hoge'] ? $_POST['hoge'] : null; or $hoge = null; if (isset($_POST['hoge'])) { $hoge = $_POST['hoge']; } とかか
いや・・・ 三項演算子はif-else文と対応するだけであんまり関係ないよ コードがスッキリするか否かの差じゃないかな (三項演算子嫌いな人もいるからスッキリするかは人それぞれだけど) もしやるなら $hoge = isset($_POST['hoge']) ? $_POST['hoge'] : null; だね 結局isset使えでいいんじゃないの
どうしても@使わなきゃいけない局面ってあるの?
@使う場面は ちょっとした自分で使うような適当なスクリプトだけじゃない バッチ処理だったりそういうのを含めて エラーとか細かい処理は必要がないそんな適当なものだけ 使わなきゃいけないって場面はないんじゃない 使わなかった場合チェック用のロジックが必要になってコード増えるだけだし
457 :
422 :2010/10/20(水) 15:03:45 ID:???
>>453 $hoge = c($_POST['hoge']) ? $_POST['hoge'] : null;
$hoge = $_POST['hoge'];
とは意味違うの?
ちなみに、検索条件の入力有無の判定とかで isset って使う?
入力値を trim することを考えると、isset と empty だけだと、なんかややこしい。
他人のソースを見ると、isset を使ってるのが多いから、
理由がわかれば、オレもそっちを使いたいんだけど。
c()って何
459 :
nobodyさん :2010/10/20(水) 15:49:38 ID:6gJYBDD6
自作関数じゃね?
自作関数が何か分からないと答えようがないな
461 :
nobodyさん :2010/10/20(水) 16:07:38 ID:xwi4oiJN
session_idに携帯のIdをmd5+サイトで設定した文字列 とか使うとまずい?
>>461 ほっとけばランダムにつけてくれるのになんでわざわざそんな
危ない橋を渡りたいんだ?
未定義云々言ってるやつは多分extract使ってるんだろ
464 :
nobodyさん :2010/10/20(水) 16:16:56 ID:xwi4oiJN
>>462 cookie使えない携帯あるから・・・・
>>461 md5 + サイトで設定した文字列
ではなく
md5(サイトで設定した文字列 + ユニークな文字列)
にするといいぉ
466 :
nobodyさん :2010/10/20(水) 16:26:57 ID:xwi4oiJN
>>465 ユニークにするとセッション続かなくない?
467 :
465 :2010/10/20(水) 16:27:04 ID:???
あっ、あまり読まずに書き込んでた。 無視してね。
書くの忘れてたけど、一応IPで携帯以外はフィルタしてる。
>>464 クッキー使えるかどうかとセッションIDをどう決めるかに何の関係があるんだ?
クッキー云々は決めたセッションIDをどうやって端末とやりとりするかの問題だろ。
クッキー関係ないんじゃ
ごめん。なんか説明まずかったみたい。 携帯でセッション使う方法として、クッキーが使えないからPHPSESSIDの代わりに携帯のID使えないかなってこと。 クッキーがないとセッションって使えないよね?後はuse_trans_sidを1にしてリンクにPHPSESSIDを使うくらいしか・・・ なんか間違ってる?
>>472 つまりセッションIDをURLに付加したり、hiddenで持たしたりはしたくないって事ね。
474 :
422 :2010/10/20(水) 17:12:43 ID:???
>>458 isset の部分をコピーした時に、ミスって c になってた。。。
もうこの話は忘れてくれ。
まあ普通はURLに付加してSESSION使うけどな、携帯では
isset使ってチェックしてるから$_POST['hoge']がなくてもNOTICEエラーが出ない @$hoge = $_POST['hoge']; にすれば動作上は同じになるんでない?意味は違うけど
477 :
422 :2010/10/20(水) 17:26:32 ID:???
>>476 なるほど。本当はエラーが出るのか。
ローカル環境でもレンタルサーバでも出たことないから、今まで気にしてなかった。
ここってなんでこんな親切な人が多いんだろ? 大抵専門スレで基本中の基本の質問してもググレカスって言われるのに 以前' 'と" "の違いも教えてくれたし本当に助かる
今日はたまたま 長くROMってればこのスレの低レベルさがわかる そのうちギャーギャー喧嘩はじめるぜ
長くROMってればこのスレの低レベルさがわかるって? 今も十分酷いレベルだろ issetがどうとか@エラー制御がどうとか・・・
481 :
479 :2010/10/20(水) 17:46:51 ID:???
PHPのレベルの話じゃない
基本的なことのほうが議論になりやすいだけだし
そういう話題は普通だと思うが
問題は煽ったりそれに乗ったやつが言い合いをはじめることだな
>>479-480 も心当たりあるやつには煽りになってるから俺らも低レベルなのは認めざるを得ない
issetより@やオレオレ関数が良いなんてもう何と言えば良いのやらww
何この流れ・・・
馬鹿が馬鹿を馬鹿と言い合うスレ
@ってNOTICEを出さない最終手段みたいなものだよね?
いつものくだ質スレらしくなってきたじゃないですか、誰かの発言からw
>>482 みたいな、煽りの書き込みだけする人が一番質が悪いよ
低レベルと煽る人は、否定はしても訂正はしてくれない
低レベルと言う位だから、何が問題なのかわかっているのに
それをあえて教えず、ただ煽ってニヤニヤしているだけ。
ちゃんと説明してあげるか、それが嫌なら書き込まずに黙ってればいいのに
__isset()
逆にPHPの高レベルってどんな話題だろ。
くだ質で高レベル期待するとかないわ
phpを型に厳密な言語に変更したいんですけどどなたかやってる人いませんか? こんなの
それ質問じゃないじゃん
>>491 ふむ、たしかに高レベルだなw
まぁググって出ない物は高レベルって事かもね。
>>491 いますよとかいませんよとか答えてそれで高度だなぁって悦に入るのかwきめえしばかくせえw
くだ質で低レベルを理由に煽るとかKY過ぎるだろ テンプレ守ってないとかならまだわかるが
phpでドライバを作る為にコンパイラ作成をしているのですが以下のパース部分が上手くいきません><
くだ質の日常業務(全板共通) 1. 人力検索エンジン 2. エスパー 3. 煽り合い
そういうネタはいいからw
>>478 の親切な人が多いんだろ?発言から、一気にここまで来るのか。
とりあえず
>>478 にはあやまってもらおうか。
親切な人って言われると恥ずかしいから逆に振ってるだけなんですよね
>>496 自分で読み返してもそれが質問になってると思えるの?
あいつさっきからなんで質問云々が気になって仕方がないんだ? 空気読めないボッチかなんかか?
>>502 の日本語が難解すぎます>_<
あいつとか言い出したしなんか脳内に敵でもいるんだろうなw
食いついてきたぞあいつw
レスみて一瞬毒雑かと思ったwwww
質問スレで質問を待つのは自然だろ
人は自分が他人に指摘されて嫌だと思うことを他人も嫌がると思う性質があるらしいからおそらく
>>501 はボッチと言われることに異常に恐れを抱いている
俺には全然今回は荒れてるように見えないなら 煽りってほどの煽りでもなく単なる馴れ合い状態 だいたい23時あたりからHOTだからぜひ見てみてくれ
なにこの気持ち悪いながれ
煽りあいになるとどこからとも無くおまえらはワラワラ集まるよなw
おおかた質問したのに罵られてこのスレを逆恨みしてるあほかなんかが煽りにきてるだけだろ
そりゃ罵ったやつが悪いから逆恨みではないな
今日は賑やかですね。
これからはおまえらの頭に@をつけてくれ。
レスする時はRT:付けてね♪
>>436 同じなら属性値を省略できるんじゃなくって
省略できる場合に属性名を省略できる
どこの仕様書だよw
どこの仕様書だよw
ソースが仕様だ(キリッ
こういう〜で正解っていうレスさ 100%自演だから萎えるよね…
残念ながら今回は自演ではないので100%ではない。
あらあら…
うふふ
>>523 がどういう突っ込み待ちなのか本気でわからない
530 :
523 :2010/10/20(水) 22:31:08 ID:???
すみません、正しく文脈を理解していませんでした。 しばらく回答を控えたいと思います。 ご迷惑をおかけして申し訳ございませんでした。
そもそもhtmlの話題はweb制作板池って流しとけばよかったのに
もういい
本気で言ってんの? 釣りなの?
仕様書3.3.4読んでこいよw
536 :
nobodyさん :2010/10/20(水) 23:49:48 ID:10Yheo4O
〜ストレージの選択〜 PHP + MySQLをつかってWebアプリを作っています [やりたい事] 文章から日本語形態素解析を利用してその文章を特徴付ける 単語を抽出し、特徴ベクトルとして類似した文章などを探す場合 この特徴ベクトルなんかを保存するストレージとして 相性が良いのは何になるんでしょうか?
>>535 >HTMLでは、論理型属性は 最小化書式で現れてよい。すなわち、属性の 値 が要素の開始タグに単独で現れてよい。したがって、 selected 属性は次の記述で【「真」に】設定され得る。
>
><OPTION selected>
>
>上が最小化書式で、下が完全書式である。
>
><OPTION selected="selected">
>>516 も
>>516 を正解と書いてた子らも無知は罪じゃないから心配するな
ただ無知なくせにえらそうにするのは恥ずかしいこと
はいはい釣り乙
やっぱこの時間帯はHOTだなwww いいぞもっとやれ
>>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">
>すなわち、属性の 値 が要素の開始タグに単独で現れてよい。 これが当該箇所な
なんだこの流れw <OPTION selected="selected"> → <OPTION selected> 省略されてるのは属性値じゃなくて属性名の方だぞ。 さらに <P align="center"> → <P center> という省略も可能。SGML SHORTTAGの仕様。 ちなみPのalignはDeprecatedだからTransitionalまでだぞ。
属性値を省略できるといってるのは
>>516 だけだな
指摘が間違ってるうえにかわりに提唱した内容まで間違ってるとw
548 :
517 :2010/10/21(木) 00:18:39 ID:???
話がそれていってるが、
>>517 は
>>516 が否定してる
>>436 の
>HTML4とかは属性名と属性値が同じなら省略できた
は間違いではないぞってことがいいたいだけだからな
>>547 いや誤読してたみたい
よく読んだら誰も属性値を省略できるとは言ってない
>>517 が
>>436 がそう言ったかのように書いてたから勘違いした
2行目はスルーかよw わかんねぇよw
551 :
550 :2010/10/21(木) 00:21:49 ID:???
>>550 あほなの?
最小化書式の仕様を否定しといて「略せるときは略せる(キリッ」とかないわw
>>550 その肝心な2行目
>省略できる場合
が
>属性名と属性値が同じ
なんだよ
仕様書読んでもまだ認めないやつまでいたしなw
556 :
516 :2010/10/21(木) 00:34:18 ID:Xi+aDhf4
なんか荒れちゃったみたいですまんこ >HTML4とかは属性名と属性値が同じなら省略できたからselectedだけでいいけど、 「属性名と属性値が同じなら省略できた」のではなく「属性値が択一式なら省略できた」 >XHTMLとかは属性値が必須だからselected="selected"って書かないと駄目 「属性値が必須」ではなく「属性名が必須」 って言いたかっただけです。紛らわしい言い方をしてしまってごめんなさい
>>436 はどう好意的に読んでも違和感ありまくり。
> HTML4とかは属性名と属性値が同じなら省略できたからselectedだけでいいけど、
属性名と属性値が同じだから省略できるとは限らない。
例: <a href="href">を<a href>とは省略できない。
逆に属性名と属性値が異なっても省略できる場合がある。
例: <P align="center">を<P center>と省略できる。
> XHTMLとかは属性値が必須だからselected="selected"って書かないと駄目
「HTMLは属性値が必須でないから」の意味に取れるが、省略されるのは属性値ではなくて属性名の方である。
何このスレ違いな流れ
おかげでHTML知識のヤバい奴がいっぱい発掘できましたね
もう挑発しあうのやめようぜ
まぁhtmlなんてUI部品に過ぎないしどうでもいいな htmlをプログラムと思い込んでるやつには validじゃないのだの言われるかもしれないが
xhtmlて何?ってレベルの奴がPHP使うから評判下がるんだ、迷惑な限りだな
どうでもいいならそんな挑発せずにスルーしておくれ
挑発ってこのスレにhtmlをプログラムと思い込んでるやつはいないだろ・・・ web制作板でなら挑発になるかもしれんがな
htmlをプログラムと思い込んでる人なんて居ないよ でも見苦しいのでちゃんと勉強してね
そういうことを言わないと自尊心が満たされないのか(w
もういいからまじで
>>557 ><P align="center">を<P center>と省略できる。
これってマジなの?
<center>が<div align=center>の省略って話ではなくて?
「属性名と属性値が同じだから最小化書式が可能」という解釈は誤り。 あくまで「論理型属性の場合は最小化書式が可能」が正しい。
>>568 決まった属性値(例えば、right|left|center)から一つを選ぶ様な場合は、属性名="属性値" の代わりに 属性値 を書くだけでもいい
ちなみに center 要素と、 div 要素は別物
これ以上は HTML関係のスレでやった方がいい
>>568 それがマジかは知らんが
div align="center"の省略がcenterなわけないわ
centerタグはデザインをスタイルシートでするという概念がなかった10年前に
中央寄せにデザインするために作られたものでしょ
ブロック要素のalign属性はその発展形ではあっても省略したものではない
今はブロック要素の中央寄せもalign使わないでスタイルシートでやるけどね
>>568 HTMLの仕様では直接触れてないけど、
>>545 にあるようにSGMLの仕様
SGML SHORTTAG
とかでググれば出てくる
スレ違いだしAGEてないのに回答感謝
>>571 >div align="center"の省略がcenterなわけないわ
仕様書には
>CENTER shorthand for DIV align=center
とあるよ
<input submit>だけでボタンができるってことか なんか凄いな
大規模サイトなくせに運営してるのが貧乏人なら転送量へらすにはいいかもね
改行コード消すだけでも 結構転送量減るからな・・・
つgzip
gzipってブラウザ側で勝手に展開して表示してくれるの?
580 :
nobodyさん :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でどうにかならないでしょうか?
javascript
582 :
nobodyさん :2010/10/21(木) 03:16:19 ID:oSCiHxPQ
javascriptでしたか・・・。
583 :
nobodyさん :2010/10/21(木) 03:30:24 ID:oSCiHxPQ
皆さんJavaScriptとか勉強してるんですか? HTML、CSS、PHPで大抵の事は何でもできると思ってたのですがやっぱりJavaも重要なんでしょうか? スレチでしたらすみません
スレチです
javascriptは深すぎてそこまでやってないけど とりあえずさわり程度はやってる 重要かどうかって聞かれたらphpより重要 求人募集で言ったらC#やPerlやphpより圧倒的に需要高い
>>583 目的の為なら何だってやる
javascriptもjavaもflashもsilverlightもなにもかもね
websocketやりたいならnode.js使って組むし逆にやらない理由なんて無いでしょ
覚えるだけで後は楽できるなら10でも20でも言語なりなんなり覚えますがな
そりゃしてますよ JavaScriptでできてPHPでできないこともあるからね
588 :
nobodyさん :2010/10/21(木) 03:45:06 ID:oSCiHxPQ
>>586 php覚えるだけでヒィヒィ言ってた自分が愚かでした
10でも20でもがんばってみます
ちなみに
>>580 のはPHPでも可能だが
いちいち画面遷移を伴なうし操作性が最悪
そういうのはJavaScriptが向いている
HTML、CSS、Javascriptの3者は切り離せない。クライアントサイドだし。 PHPはサーバーサイドだから位置づけが異なる。 PHP内でHTMLを記述するようにPHP内でJavascriptを記述することもよくある。
>>589 javascriptがOFFになっているときの手当てとして画面遷移させるのアリかと
まぁPHPとJavaScript使えるようになったら本当になんでも出来る様になるけどね
この二つとSQLとC言語辺りができりゃ困る事は何もなくなると思う
phpでサーバーサイド、JavaScriptでクライアントサイドで守りは完璧って感じ
>>580 をphpでやったら一々送ったり面倒臭い事になる
わざわざ「こんなもん送るほどでもねーか」というのをJavaScriptで処理すれば作業効率もずっとよくなる
>>589 画面がかわるってことはその都度submitを押させるのかな?
>>583 深い意味はないだろうが
javascriptとjavaは別物
ちなみにjavaという語句自体はジャワカレー、ジャワ原人などのジャワ
>>593 JavaScriptと組み合わせてフォームが変わった時に送信とかそういう感じでしょ
そこまでするなら全部JavaScriptで組めって感じだが
初心者は技術力がないからそのへんのサイトで
option-select値が変わったらサーバにsubmitするみたいなサンプル引っ張ってきて
そこだけ実装するんだよ
>>595 なるほどPHPだけで可能って意味にとらえてたわ
さんくす
でもselectさせてGOというラベルつけたsubmitボタンをおさせてサーバで処理するなんてのは割とよくあるよな サンプル集とか名乗ってるサイトによくあるwww
>>597 >>580 みたいな内容でその仕組みってよくあるか?
それなら最初から1banから3banまでのプルダウン表示させとけって感じだよね
わざわざサーバーで処理させると負荷もかかるし、わざわざページ更新するわけだからあんまり良いとは言えないな 素直にjavascriptを使ったほうが良い javascriptはHTMLとセットで覚えたほうが良いって位重要だし
重要は言い過ぎな気が
確かに言い過ぎたな俺
JSはおしゃれとかクールとかちょいと便利で、あるといいけどないならないで別にかまわないって印象だな 俺のJSの使い方がそうなだけかも知れんけど
HTMLとCSSを拡張するって感じだね 鍛えられたHTMLの更なる延長ってトコかな? それにphpが加われば怖いものは無いと言っても過言ではないと思う
>>602 まぁあってるんじゃね
ユーザインターフェースやユーザビリティ改善ってのがJavaScriptの得意分野だし
別に画面にエフェクトかけたり好きな場所にブロック動かせたりとかしなければ基本いらんよな
ajaxも別に使わなくてもサーバに読み書きできて情報自体使ったからといって変わるわけでもないし
いつだかGoogleがパックマン作ってたが
あれもターン制にして次に進む方角だけ入力して毎回submitおしてもらえばPHPでもできるしな
それはさすがに無理があるかwwww
俺としてはsubmitは多用しないのが理想なんだけどな サーバーの負荷やクライアント側で1秒ほど時間かかったり美しくない クライアント側でできるのはなるべくクライアント側でやるのが好きなんだよなぁー
なんというTAS
JavaScript無しに現代のWebアプリケーションは語れないだろう サーバサイド言語でHTML吐き出すなんて10年前の流行だぞ
えっ? サーバサイドから吐き出したHTML もしくはサーバサイドから送出したXMLやJSONを使って クライアントでデータいじって表示するとかならわかるけど >サーバサイド言語でHTML吐き出すなんて 今もこれからもこれは変わりませーん
きっと
>>607 はHTTPを超越した未来からきた未来人なんだよ
今は印刷屋とか看板屋がwebデザ気取って FlashやDWで安価で作るのが主流 そういうところに頼んじまった会社なり法人はSEO対策とかできるのかと たまにかわいそうに思う
>>610 ネットに疎いからそういうとこに頼む=ネットに疎いからアクセスされてないことに気付かない
だから問題ない
DWって単なるウェブオーサリングツールじゃないの? なんか新しいクライアント技術?
613 :
612 :2010/10/21(木) 04:51:15 ID:???
と書いてから思ったけど DWが吐くソースが糞ってことかな?
>>607 は1行目と2行目が全く関連性がないからワケが分からない
1行目は大いに同意できるんだけどな
サーバサイド言語でHTML吐き出す以外に
同じことができる流行りの別の技術があるなら是非教えていただきたい
>>613 最近のDWはそれなりにきれいなソース吐くみたいだけど
そういうところが作った場合
製作側が素人過ぎてコピペとかペイント感覚で作るもんだから
スクリプトの意味を理解してない場合が多い
修正請け負ったとき、80%近く書き直した
もう寝てもいいかい?
620 :
nobodyさん :2010/10/21(木) 07:39:15 ID:2AZCD3Ve
>>620 本当にRSS2.0のせいで読み込めないの?
622 :
nobodyさん :2010/10/21(木) 07:53:03 ID:2AZCD3Ve
623 :
nobodyさん :2010/10/21(木) 07:55:27 ID:2AZCD3Ve
自己解決しました。 構造が違うのか・
phpって凄いな echo "<bgsound src="mrpg.mid" hidden="true" loop="infinite" autostart="true">" でechoで表示されるのが"こんにちは"とか文字だけじゃなくHTMLの構文までできるとは もしかしてこの""の中にJavaScriptとか入れても平気なんですか? だとしたら物凄い色々な事出来ると思うんだけど
>>613 FWとかで画像にレイア指定して
画像からHTMLに変換できるのがあって
多分それの事じゃないのかなと
>>624 単に、直接書くかPHPに書かせるかの違いで、クライアントに届くHTMLは同じものだからね
>>624 それだとエラーでない?
"で括ってる文字列に含まれる"には\をつけないと
echo 'value="100"' 実際にはこんな感じでやってます 更に""で括ったら\\でやったらいいんですかね? 以前"value="100""とやったらエラーでましたのでこうしてるのですが
>>629 まずIDだせな
えと、
value="100"を出力したいのなら''で括ってよい
value="$value"みたいな変数を含む場合は""で括らないと変数が展開しない
細かいことをいえば、''だと\nでソースを改行しようとしても\nがそのまま出力される
631 :
nobodyさん :2010/10/21(木) 09:07:22 ID:09ClhB8v
echo '<bgsound src="',$src,'" hidden="true" loop="infinite" autostart="true">'; 俺ならこう書く JSでシングル使うならその部分だけダブルで そして改行コードはPHP_EOLだな
今はJavaよりもASP.net
このスレ自己主張強い人間多いよな
ネット限定だけどな
>>632 > そして改行コードはPHP_EOLだな
echo '<p>test</p>'.PHP_EOL;
これでソース改行されたんですが、こんな書き方であってます?
あってるよ
いいってことよ
平和が一番だね
さくらインターネットの共有サーバで独自ドメインに対して 共有SSLを設定するとセキュリティーに脆弱性があるとの事なのですが、 どうすれば独自ドメインで安全に https で操作出来るになりますか?
それがPHPとなんの関係が?
脆弱性があると言った人に聞くのが一番だろ、得意げに教えてくれるよ 鯖内部の設定まではわかりませーん
>どうすれば独自ドメインで安全に https で操作出来るになりますか? 専用サーバ借りて証明書取得して下さい
じゃ無理 そもそも証明書は1つのIPにつき1つしか証明してくれない
× IP ○ ドメイン
IPだよ
>>641 共有SSLは、セキュリティーに脆弱性があるのではなく、正しい会社かまでは保証してくれないってことでは?
フィッシング詐欺とかの可能性。
>>646-647 ,649
スレチだが釣られる
マルチドメイン証明書やワイルドカードで検索しましょう。
マルチドメイン証明書なんてパチモンじゃん・・・
>>646 >>650 >>651 マルチ質問してみましたが
どこでもやはり専用サーバにしろ
とサクラの鯖管が営業してきてうざいのですが
どうやら無理の様なので専用サーバを考えます。
ただ、月額3000円程度で100G使えるサーバを提供してるところとか
ありませんか?
出来るだけ金を掛けたくないのです。
マルチ質問してみましたがじゃねえよw 一般マナーとして禁止事項ってことぐらい覚えとけ
だ・か・ら 板違いってことを気づけよ
656 :
nobodyさん :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\ ">");
*/
?>
>>656 エラーメッセージの通りで、login.phpの96行目でprintしてるけどそのタイミングでは早すぎる。
もっと後で出力するように直してください。
658 :
nobodyさん :2010/10/21(木) 15:24:15 ID:EvaxVDot
>>657 ありがとうございます。エラーが出なくなりました。
659 :
nobodyさん :2010/10/21(木) 19:06:45 ID:xUlWog0Z
言語設計者たちが考えること [大型本] にPHPがない
チェック処理は理想を言えば、 JavaScript + サーバ側 だと思うけど開発の工数を考えるとサーバ側だけで やった方が無難だよね? 二度手間な気がする。
そのへんはユーザビリティによる
プログラムを書く側が二度手間になるだけでユーザーにとっては手間が省ける
やっぱそうだなよな。 仕方が無いからJavaScript側にもチェックを入れるか。 それよりブラウザ毎の仕様を統一しやがれ。
664 :
nobodyさん :2010/10/21(木) 19:43:12 ID:kMTwulle
sqlite_openでdbが読み込まれないんですけど、ありがちな原因を教えていただけないでしょうか? パスの指定も間違ってはいないのですが...
作ってる奴が馬鹿
>>664 ありがちな原因というとsqlite_openが使えない環境で使おうとしてることかな?
ありがちな原因:本人が間違っていないと思っているパスの指定が間違ってる
>>663 >それよりブラウザ毎の仕様を統一しやがれ。
新しいバージョンが出ても新機能は追加できないということですね
669 :
nobodyさん :2010/10/21(木) 21:12:13 ID:kMTwulle
>>666 レスありがとうございます。環境は良く分かってないんですが、
sqlitemanagerというツールを使ってdbの生成をサーバー上で出来たので問題ないかと思います。
コピペで申し訳ないですが
make.php
//エラーメッセージ --- エラーメッセージを格納する変数を指定する
$dbHandle = sqlite_open('SQLiteManager-1.2.0/testdb', 0666, $err);
↑これで読み込みません。やはり環境のせいなのでしょうか。
670 :
nobodyさん :2010/10/21(木) 21:13:35 ID:kMTwulle
>>667 パスは何度も疑って同フォルダまでぶちこんで駄目だったんで多分大丈夫です
671 :
nobodyさん :2010/10/21(木) 21:27:48 ID:JTkcfJp6
プログラミング初心者なんですが 下記のような辞書を作ろうと思っております。 ・単語を入力すると、項目に飛ぶ ・検索条件(例:動詞・名詞・英語・ドイツ語など複数選択可)による絞り込み ・検索に一致する候補が複数ある場合は、それを一覧にして表示 これは個人が趣味レベルで作れる代物でしょうか 作れるとしたら最も適した言語は何でしょうか
データが既にあるなら個人でもわかる奴が作れば1時間で作れるよ 言語は何でもいい
673 :
nobodyさん :2010/10/21(木) 21:31:31 ID:hQgLU4cA
クラスのオブジェクトの結合って出来ないのでしょうか? $obj = new Main(); $obj =& new Sub(); print_r($obj); イメージ的にはこんな感じかと思っていたのですが、 上記のコードはSubしか取得出来ません。
javascriptのプロトタイプでもやってろ
675 :
nobodyさん :2010/10/21(木) 21:36:32 ID:JTkcfJp6
>>669 バージョンによっては使えなくなったんじゃなかったっけ?
sqlite_openとか使わずにPDOで書いたほうがいいよ
678 :
nobodyさん :2010/10/21(木) 23:06:44 ID:hQgLU4cA
>>677 情報ありがとうございます。
逆にこれを使わずに素のPHPでは出来ないんですね。
CakePHPが「this->モデル名->関数」のような指定方法で書いているので
複数のクラスを結合して一つにまとめていると思っていました。
(Cakeを見ても良くわかりませんが・・・
679 :
nobodyさん :2010/10/21(木) 23:21:18 ID:lvmPzwix
セッション内容を破棄して終了する場合って $_SESSION = array(); session_write_close(); session_destroy(); でいいの? session_destroy();はいるのかね?
>>679 というよりsession_write_closeはいるのかね?
682 :
nobodyさん :2010/10/21(木) 23:44:24 ID:xUlWog0Z
session_destroyの直前にsession_write_closeしてどうすんの
>>671 「web api 辞書」 でググって利用すれば、簡単に作れるかも。
もしどこかのAPIを使わないのなら、辞書データを作成するのが一番のネックになる。フリーもあるけどね。
>>679 session_destroyはいる
session_write_closeがいらねーんじゃね
686 :
nobodyさん :2010/10/22(金) 00:40:38 ID:Quj7u5DL
先生! #hoge = <<< HEY oraora oraora oraora oraora HEY; こんなコードがあったんですけどこれってどういう意味ですか?? phpのマニュアルが検索できないです><
#hoge ↓ $hoge こうですた
別スレで聞いたら10秒で答えてくれたわ おまえらレベル低すぎ!
Pear::Auth を使った認証を破棄(ログアウト)する場合に logout(); を使っているのですがこれを行えばセッションも完全に破棄されるのでしょうか? 無駄にリソースを食ったりしやしないかちょっと心配です。
セッションはテンポラリだから気にしないでいいよ
死肉去れ?
696 :
nobodyさん :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_〜というファイルもあるので、ディレクトリの中身を全部消すなども無理です。 ご意見よろしくお願いします
698 :
nobodyさん :2010/10/22(金) 10:32:39 ID:FczuqSIi
ログを表示したいんだけど、さくっと簡単に出来るライブラリとかない?
お前のログなんてみたくない
701 :
nobodyさん :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"] 的な取得は可能ですか?
>>701 ありません。そもそもブラウザからidは送られてこない。
普通にPOSTするかわりにjavascriptで情報拾って鯖に投げるとか
いちいち書けば可能かもしれんがやめとけ。
>>701 postメソッドで送られてるのはnameと値の一対だからidは送信されてないと思うよ
704 :
nobodyさん :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);
とやっても置換できませんでした
[と|はエスケープ必須ですよね?
どこをどう修正したらうまくいきますでしょうか
お教えくださいますようお願いします
705 :
nobodyさん :2010/10/22(金) 11:02:33 ID:a21HIBns
>>702 >>703 ありがとうございます。
仕方が無いのでやはり従来通り name で取得します。
>>706 $comment = $line[comment];
$comment = [[foo|mailto:
[email protected] ]];
$comment = preg_replace("/\[\[(.*?)\|(.*?)\]\]/","<a href=\"$2\">$1</a>",$comment);
echo $line[comment];
ってやってました・・・
708 :
nobodyさん :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 値を作成するのは効率が悪いので避けたいです。 分かりくくてすみません。 どなたかいい案があればお願いします。
>>708 update文で、CASE使えばできる
「mysql update case」とでも検索してみてください
まぁそんなことでSEO対策にはならんけどな
なんでPHPと関係ない質問が多いのか なんで他人様のドメインを勝手に直リンさせるのか
713 :
nobodyさん :2010/10/22(金) 13:06:30 ID:qwjMjkx8
714 :
nobodyさん :2010/10/22(金) 13:51:06 ID:CQ5MzjSC
どういたました!
コールバックっていう言葉の意味は returnから帰ってくる値って意味でいいんですか?
>>712 紛らわしいドメインを取ってる奴が悪い。
>>716 携帯に着信履歴を残して、相手にかけさせること。
>>717 example.com および example.net, example.org は、 RFC 2606 の 3 章で予約されているセカンドレベルドメイン名である。
これらはソフトウェアドキュメンテーションにおける例示のために使われるもので、実際に登録することはできない。
これらのドメインを予約するにあたって、 IANA はマニュアルやソフトウェアの設定のサンプルなどに使用できる
ドメイン名一覧を作成した。 それにより、もしもドキュメンテーション内で記述されているドメイン名が
そのまま使用されたとしても、 第三者に悪影響が及ばないことを保障することが出来る。
コピペ
>>720 ほー
スレ独自のルールじゃないんだ
勉強になりました
とあるライブラリからモジュールをぶっこぬいて使おうとしたのですが、 パスが通らないようです。 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
>>722 ./pear/を読ませたいなら
set_include_path(get_include_path() . PATH_SEPARATOR . realpath("./pear/"));
globの読み方ってグロブ?グラブ? pearをベアーって読むって最近知った ピアーっていってた
726 :
725 :2010/10/22(金) 21:38:53 ID:8u5PyO3j
あ、idでてなかったごめん
1. 発音記号を学ぶ 2. ネットで音声付きの辞書を引く 3. WindowsならSamかAnnaが住んでるから喋らせてみる
別スレで聞いたら10秒で答えてくれたわ おまえらレベル低すぎ!
>>733 text-to-speechのことだろ
<?php text_to_speech("pear", "Sam"); ?>
ベアーwwww
ベアーと読もうが本人の勝手だろ
そんなマジレス返されましても
739 :
725 :2010/10/23(土) 10:22:02 ID:???
あぁ、またまたごめん iPhoneから打ったからタップが一回足らなかったw ベアーじゃクマーだな globは英単語だったんだね グロブと読むらしい cronみたいな造語だと思ってた
日本語ならグロブでもいいんじゃないw
>>740 グロブでもいいってグロブと読むって言ってんのに
ブログ
日本語ならブログでもいいんじゃないw
ぐろっぶ
読み方がわからない人ってのは口頭で話す機会のない人なんだろ? 発音しないんだから発音しらなくてもよくね? 口頭でやりとりする人なら人に聞きゃ済むわけだしな
>>747 面白い!うちのデザイナーはWidthとHeightを一位ので読んでて多少気になるw
多少か!w
ワイズとヘイト?ありえねーわ
hrefをハーフと言ったりする人もいるよな もぞもぞする
エイチレフ
俺は「ハイパリファレンス」って呼んでる たいてい通じないから「エイチャーレフ」って言い直す
俺はウィドゥスとヘイトだな綴りの都合上ヘイグヒトと覚えてるが 英語読みだとウィドゥ(スは消え入る音でほとんど聞こえない)とハイトみたいだね
755 :
nobodyさん :2010/10/23(土) 18:43:54 ID:sKO4L/iz
mb_convert_encodingで文字コードを変換してechoで吐くと目的どおりの文字コードになって、 文字化けもしてないのに、DBにいれると???????になるんですが、これは原因はなんなんでしょうか? shift-jis->euc-jpでDBテーブルはujis_japanese_ciです。
set names ujis
全部utf-8に統一しなよ・・わざわざ変える意味あるのか
>>755 フィールドの照合順序もujisになってる?
759 :
nobodyさん :2010/10/23(土) 19:19:28 ID:sKO4L/iz
>>756 これをやるとPhpmyadmin上はちゃんと表示されるようになりました・・・
Euc-jp表示なのに文字化けしてないのはなぜ・・・
>>757 本サイトがEucで携帯がShift-jisなもんで・・・
>>758 すいません、説明間違ってました。
DefaultCharsetがujisで照合順序がujis_japanese_ciでした。
>>756 間違えたset names sjisでやるとphpmyAdmin上では文字化けしてませんでした。
解決しました。 DBIniInsert時にset names sjisにして 表示時にshift-jisにしたら直りました。
MySQLで SET NAMES を使ってはいけない
なんで
>>762 の言うことは嘘だから気にするな。
SET NAMES は積極的に使うべき
良い子のみんなは「MySQLで SET NAMES を使ってはいけない」でググってね
766 :
nobodyさん :2010/10/24(日) 03:40:32 ID:f6QEzh36
大人なのでSET NAMESを使います
767 :
nobodyさん :2010/10/24(日) 12:29:37 ID:YiuzekCl
fpmでforkしたphp間で共有されるものってある? 複数コネクションを同時にさばくとき、Railsみたくフレームワークのモデルさんが壊れないか気になるんだけど
768 :
nobodyさん :2010/10/24(日) 20:07:38 ID:XupTldvh
while( 条件文1 && 条件文2 ){ ・・・ } こういう構文の時、条件1でfalseが返ってきたら条件文2はそもそも検証すらされずwhileループを抜けますか? たとえば条件1で配列の上限を超えたかどうかを調べ、 超えていればそのままwhileループを抜け出し 条件2の検証で配列の要素数オーバーを防げるかどうかを知りたいです。
エスパー出番よ
>>768 条件2が検証されるかされないかなんて重要なことではなくね?
オーバーを防げるの意味がわからん
具体的な例文書いてみて
>>768 条件1がfalseなら条件2は評価されないはず、でもソース無い。
後半の「配列の上限を超える」「要素数オーバーを防ぐ」が良く分からん。
条件2で配列に追加を行うわけじゃないんだから条件2を検証しようがしまいがオーバーを防ぐように処置してりゃ防げるんでないの?
773 :
nobodyさん :2010/10/24(日) 20:28:47 ID:8gi8mHZF
条件2が $i+=1 < 100 みたいなのってことなのかな
クラスとか二次元配列じゃない?
>>779 は
>>770 のミス
コードの行数とステップ数を減らすぐらいしかメリットがないけど・・・
下の例ではHello!と表示される
<?php
function example1(){
return true;
}
function example2(){
echo "Hello!";
}
example1() && example2();
?>
>>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++;
}
とかやってみればわかるじゃん。
779 :
768 :2010/10/24(日) 21:56:44 ID:XupTldvh
PHPは短絡評価をサポートされていたんですね。 ありがとうございましたm(_ _)m
>>773 がいろんな意味でエスパーすぎてマジびびったわ
Javaの場合は、 if (obj != null && obj.test()) って書く場合がよくある。 obj が null の場合、 後ろの obj.test() でエラーになるが、実際には実行されないので・・・
782 :
nobodyさん :2010/10/24(日) 23:00:25 ID:Etwa0dNn
ならんですね []が必要
785 :
782 :2010/10/24(日) 23:45:01 ID:Etwa0dNn
なるほど。 ありがとうございます。 とあるソーシャルアプリの開発を行っているのですが、 id=28456&id=28969 こんな感じでスクリプトがコールされるんですね。 簡単にそれぞれ取れるような方法はないものでしょうか。 QUERY_STRINGから分割して処理する関数書くしかないですかね。
そのスクリプトは直らんのか?
ユーザーが投稿したコンテンツにランダム文字列を付加して、識別できるようにしたいと考えております。 このランダム文字列をなるべく短く、かつ、絶対(あるいは無視できるほどの低確率)にぶつからないように付加したいのですが、 一般的にはどのような方法があるでしょうか? ぶつからないようにするためには、DBに入れた値を毎回検索してダブりが無いか確認… とやれば出来るのですが、さすがにパフォーマンス的に現実的ではない気がします。
789 :
787 :2010/10/25(月) 01:02:33 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);
?>
そもそもそのクエリってRFCに準拠してるのかね rewriteして内部の整合性をとったほうが精神衛生上よろしいんじゃないの
792 :
nobodyさん :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
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 普通こうでしょ まったく
>>792 mb_language("ja");
mb_internal_encoding("UTF-8");
mb_http_output("UTF-8");
>>793 >>794 いずれの方法を行っても文字化けしてしまい
POSTされた値を
$test_value = mb_convert_encoding($test_value, "UTF-8", "auto");
としたところ文字化けせずに画面に表示されました。
しかし、毎回この様な文字コードの変換を行うのは面倒なのですが
根本的な原因は何なのでしょうか?
>>795 あとはスクリプト自体の文字コードとwebサーバの文字コードの確認
apacheならAddDefaultCharsetとか。
あとPOSTされた値の文字コードは何?それで原因がわかるんじゃない?
>>796 >>795 で文字化けが回避出来たので恐らくsjisだと思います。
少々面倒くさいですが解決出来たので一先ず満足です。
Pearでユーザ認証を行う場合に user_id user_name をテーブルに保存する訳ですが、この時にuser_nameはハッシュ値で登録するので 未だ良いとは思いますが user_id は暗号化して保存しておいた方が無難でしょうか?
パスワードはないのかよ
文字コードのことになると頓珍漢なレスしかつかないという
801 :
nobodyさん :2010/10/25(月) 11:08:32 ID:0LkbmEJw
インラインスケートで通学できる小学校なんてあるのかよ
802 :
798 :2010/10/25(月) 11:12:18 ID:???
>>799 間違えました。次の列構造を予定しています。
@ user_id
A user_pass ← ハッシュで保存
B user_pass_own ← 独自の暗号化した文字列で保存予定(複合化可能にする為)
@もBと同じく暗号化して保存した方がやはり良いでしょうか?
803 :
nobodyさん :2010/10/25(月) 11:23:01 ID:DYebYvBq
APIで返されるXMLに含まれる日付データのフォーマットが 「2010-10-09T22:16:28+09:00」なのですが、 このフォーマットを変換してくれる関数とかってあるんですか? 今は単純に T と +09:00 を削除しています。
>>803 strtotime() でUNIXタイム取得。あとはdate()なりなんなりで。
>>802 それよりサイトとDBのセキュリティに気を使った方が良いよ。
>>805 SQLインジェクション対策として
:hogehoge タイプを使用しています。
個人情報等も扱うので最悪流出しても
分からない様にほとんどを暗号化してDBに保存しようと思ってますが
これだとパフォーマンスが落ちますよね。。。
しかし、安全面を考えればその方が未だ良いかと思ってますが
如何でしょうか?
807 :
nobodyさん :2010/10/25(月) 12:33:27 ID:IEJpRj+g
すいません。ID出し忘れたのでもう一度投稿します。 ユーザーが投稿したコンテンツにランダム文字列を付加して、識別できるようにしたいと考えております。 このランダム文字列をなるべく短く、かつ、絶対(あるいは無視できるほどの低確率)にぶつからないように付加したいのですが、 一般的にはどのような方法があるでしょうか? ぶつからないようにするためには、DBに入れた値を毎回検索してダブりが無いか確認… とやれば出来るのですが、さすがにパフォーマンス的に現実的ではない気がします。 よろしくお願いします。
復号化可能にする意味が分からない 他人のパスワードみてニヤニヤするの? まさかパスワードリマインダーで復号してメールで送ったりするの? それとも、会員のパスワードを使ってログインしようとしたり・・・?
>>806 パフォ落ちても(略 ということなら、それはそれでいいんじゃね?
>>807 低確率で衝突してもいいんだったら、適当なハッシュアルゴリズム使えばいいんじゃね?
>>807 通し番号を付ければいいだけではないのか?
811 :
nobodyさん :2010/10/25(月) 13:36:30 ID:YV3UDDUZ
>>807 どっちにしてもコンテンツを毎回DBにぶち込むんじゃ?
んなら 大して変わらないような気がするが・・・・
ぶつからないだけなら通し番号でいいと思うな。 重複検出方式にしてもちゃんとインデックス用意しとけば そんなに遅くはないと思いますがね。
よく理解していない初心者ほど「パフォーマンスがー」とか言い出すよな insertとインデックスに対するselectなんて後者のほうが圧倒的に早いしな、知らんけど。
識別子なんてユーザ名でいいじゃん
そもそもどういうものを想定しているのかわからないな
ユーザーの投稿というのは掲示板みたいなものをなんだろうか
投稿毎に識別番号を付けたいなら、
>>814 のようにユーザー名はダメだろう
そもそも会員制かどうかも分からないしね
通し番号だとダメな理由があるなら、重複検査してランダム文字列入れる
重複検査は(ユニークキーにするだろうし)別に重くない
/userID/md5(UNIXTIME)
817 :
807 :2010/10/25(月) 14:55:37 ID:IEJpRj+g
たくさんのアドバイスありがとうございます。
具体的には、ユーザーを識別するのではなく、
投稿された画像や動画を一意に識別するためのランダム文字列を付加します。
通し番号が駄目な理由は
http://myservice/ランダム文字列 というシンプルなURLで各コンテンツにアクセスさせたいため、
連番が直にURLに出るのが気持ち悪いということらしいです。。
上からの指示なのでここは変えられません。
重複検索については完全に素人判断で重そうと判断していたので
避ける明確な根拠はありませんでした。
ハッシュで8桁程度の文字を作成し、重複検索を通す、という感じにしようかと思います。
ありがとうございました。
id<-->文字列 の可逆の変換かければいいな。0<-->a 1<-->b とかでw
819 :
nobodyさん :2010/10/25(月) 16:19:59 ID:dWG9M/Qu
>>809 うーんパフォーマンスは二の次Dえやはり安全面を優先させます。
Pear と Cake は、PHPのFWとしてどちらの方がより使われていますか? また、Cakeは何と読めば良いのでしょうか?
>>819 それsqlite2の記述だからね
PDO使ってね
>>821 PEARってFWなの単なるライブラリじゃないの?
Cakeの読みはケイクって呼んでる人が多いよ、たまにケーキという人もいるけどね
824 :
nobodyさん :2010/10/25(月) 16:30:44 ID:dWG9M/Qu
>>823 ありがとうございます。
PHPを勉強するに当たって Cake も使える様になっておいた方が良いでしょうか?
また、実務ではPHPの開発環境はやはりLinux上で行うパターンが多いのでしょうか?
>>825 Cakeというよりmvcを理解しておいたほうがいい
まぁCakeに慣れていけば自然と身につくと思う
環境は、サーバがLinux(Apache)、開発(コーディング)はwindowsというのが一番多い
変な癖が付かないうちに、フレームワーク行った方がいいかもね
828 :
nobodyさん :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>');
}
ホントにnunberなの?numberじゃなくて?
一覧は取得できてるんだしnunberでいいのか。
>>826 アドバイスをどうもありがとうございます。
PHPでMVCモデルで開発した事が無いので
cakeを通して勉強してゆきます。
832 :
nobodyさん :2010/10/26(火) 02:01:53 ID:A7fd7S8U
FWって何が主流なの?cake? 他のFWと比べた特徴って何ですか?
うみうみうみうみうみうみ〜
そんなくらいググれカス 日本語で一番HITしたものが主流だ コードにわからないところがあったり エラーが何を示してるのかわからなかったら来て下さい
ほえ〜
>>834 意地悪なのか親切なのかはっきりしてくださいカス
>>834 「うみうみうみうみうみうみ〜」 約 13,400 件 (0.20 秒)
検索トップ「妄想中だよ、すくっとみうみうさん! すくぅうみうぎ」
よくわかりません
欧州はSymfony アジアはCakePHP 旧ソ連諸国はZend FW Mojaviの認知は日本のみ アメリカ人はPHPなにそれおいしいの?
統合開発環境でリファレンスが含まれてると検索数が減ったりするんだろうね
>>838 今更だけど Pear ってFWかと思ってた。
違ってたのか。。。つーかFW無しで PHP + Pear のサイトってセキュリティー的に危険なのかな?
なぜそうなる そんなサイト一杯ある
日本ではethnaでしょ
実績で言えばGREEのサイトがEthnaで作られてるから 有るといえばあるけど 利用数で言えば微妙じゃない? まぁ一番多いのは独自FWだろうけど
FWってFireworksのことだろ? サバーサイドスリクプトのPHPと何の関係があんだよ アホかおめーら
Fontworksにきまってんだろアホか
はぁ?だからPHPと何の関係があんだよ クライアントスリクプトとPHPの違いもわかんねぇのかよ
すべりすぎだな
>>828 エラーになる理由なんてたくさんあるんだから、失敗しましただけじゃなくて
$stmt->errorInfo()を表示しろよ。
この中のFWを一通り使った事のある方に質問です。 今後のFWの拡張性等を加味して一番お勧めな FWはどれでしょうか? PHP + Pear でしか開発をしてませんでしたので チャレンジしてみたいと思います。 Cake Symfony Zend Mojavi Ethna
未来が予測できるエスパーさん、出番ですぜ。
未来が見える!!
>>851 は来年もPearを使っているでしょう!
MVCをしっかり理解しよう! なんとなく使っているお前のMVCの知識は間違っている!達人はこう書く! みたいな内容のおすすめの本やサイトがあったら教えてください。英語でも可。言語はPHPで。
855 :
nobodyさん :2010/10/26(火) 10:40:59 ID:DOrgamz8
>>853 Pearは便利なので使い続けます。
追加でFWを導入しようと思ってるんです。
ただ、俺ライブラリが充実しているので正直あまり導入のメリットは
感じられないのが現状ではありますが。
以下はアンケートです。
あなたのお勧めするFWは何!?
Lithium 1票 ○
Cake
Symfony
Zend
Mojavi
Ethna
>>857 世界最軽量のPHP用MVCフレームワークである「ちいたん」
>>858 Lithium 2票 ○
Cake
Symfony
Zend
Mojavi
Ethna
860 :
nobodyさん :2010/10/26(火) 13:17:22 ID:nRcBppSS
PHPのよさげな勉強の仕方教えてくれ 半端な知識でわかんないけどなんか作っちゃおう!なノリじゃヤバイものができそうですよね おまえらどんなふうに覚えていった?
Pearと俺ライブラリが競合することがあっても 俺ライブラリとFWが競合することはない FWは作るべきファイルを作成したら 勝手にDBと連携したプログラムを作成してくれる土台 実際の実装でファイルの中身にスクリプトを書くとき Pearを使うことはある
なんか作っちゃおうじゃ完成はムリ 明確にこれを作りたいってのが決まって、そのためにはどうするかもがいた方が覚える
FWの数が多いね。 PHPのFWのよくわからんけど、対象とする用途と規模って、それぞれ違うんでしょ?
セフレが旦那バレしたんだが どうしたらいいもんだろうか・・・
>>864 その旦那に、体だけの付き合いであるということを明確に伝える
866 :
ちい :2010/10/26(火) 13:53:07 ID:???
フレームワークは重くなりがちだからな 業務用でなければわざわざ好んで使うほどでもない 一人開発で規模がでかくなるのなら開発速度あげるために使うのもいいかもしれないが
下手するとPHP触ってる時間よりも、SQLとかJavascript弄ってる時間の方が長いかも
おもいっきりスレ違いかと思いますので
該当スレがあれば誘導をお願いします。
iPhoneでちょっとしたゲームを作成しようと思っています。
そこでゲーム内のスコアをサーバに反映させたいのですが
この様な場合、iPhone(Objective-C)側でスコアを
サーバに向けて投げると思うのですが、
@スコアを受け取ったサーバ側ではどの様に
iPhoneからの送信データを受け取りDBに反映させれば
良いのでしょうか?
DBについては、MySQLで良いとは思うのですが
CGI側のソースには何を使用するのが一般的なのでしょうか?
(PHP / Perl / C)
スコアは、Objective-C側で
http://test_server/iphone.php?score=1500 的なアクセスをして行うのでしょうか?
スレ違いなレスですが宜しくお願い致します。
すでに書いてた マジはええっす
>>875 かんたんログインってだけで毎回このスレに貼るつもりか?
php自体の脆弱性でないのに?
クロネコがphp使ってやらかしたとかならまだわかるが、Javaだしな
だめだこりゃ WebProgで一番重要で難しいのはセキュリティ問題なのに PHPで同じようなアプリケーション作成してる人だっているでしょうに まぁせいぜい穴だらけのアプリケーション制作に勤しんでくださいね
>>877 >PHPで同じようなアプリケーション作成してる人だっているでしょうに
これを意識してあなたが書き込んだのは
>>875 のレスから想像できてるよ
ただ、毎回あげていったらキリが無いよ?って言いたいだけだよ。
それに、ここは質問スレだよね?
雑談スレも兼ねてると前に書き込みもあったから、それでみなが良いと思ってるならいいよ
このスレでは雑談スレでOKです。
立派なテンプレが泣いてるぞ
881 :
nobodyさん :2010/10/26(火) 16:48:37 ID:nRcBppSS
唐突にコードだして共有とかいってるオナニー日記と違って こういうのは必要じゃね セキュリティー意識高めないとこの分野は他人に迷惑かけるからな
883 :
1 :2010/10/26(火) 16:52:05 ID:???
今後は、
>>879 に従って下さい。IDをいちいち出す必要はありません。
質問時にID出すスレだろうが
885 :
1 :2010/10/26(火) 17:09:33 ID:???
略して自決しました
887 :
1 :2010/10/26(火) 17:20:18 ID:???
このスレはもうIDを出さなくて結構です(^^;) フレキシブルなスレにする事を目標にしています(^^;)
欠陥アプリしか作れないからって顔真っ赤になるなよ
889 :
1 :2010/10/26(火) 17:25:12 ID:???
雑談OKはテンプレに明記しとけよ ペチパーは他スレに迷惑かけてるんだからこのスレからでてくるなよ
ここはPHP板です
ここは有名PHPerのe-mobileさんにまとめてもらうしかないな
893 :
nobodyさん :2010/10/26(火) 18:04:41 ID:nRcBppSS
echo "<a href=\"item.php?id={$line[0]}\">詳細を見る</a>"; こうして書いたとき、リンクがうまく機能しません どうしたらいいですか?
>>893 記述の仕方自体は問題無いと思うけど
ブラウザのソースで見たときにどうなってる?
どううまくいかないか書いたらどうだ リンク先が違うのかlineの内容が出力されないのか等 どうでも良いが俺ならこうk(ry echo '<a href="item.php?id=',$line[0],'">詳細を見る</a>';
どうでもよいが俺ならこうk(ry <a href="item.php?id=<?php echo $line[0]: ?>">詳細を見る</a>
どうでもいいが「詳細を見る」みたいなアンカーを用意するならtitle属性でリンク先の説明があった方がよいね
>>898 リンクがうまく機能しません、まで含めて書いたんじゃね
900 :
nobodyさん :2010/10/26(火) 18:31:34 ID:nRcBppSS
>>894 問題はないんですね
Opera使ってるんですけど、リンクにはならず「 ">詳細を見る」とだけ表示されます
>>895-896 ほかにも書き方があるんですね
研究してみます
とっても勉強になりました
>>897 最近というか今日この頃はじめったばっかりで、今簡単なサンプル作ってるんです
レスありがとうございました
とりあえずまた明日やってみます!
902 :
1 :2010/10/26(火) 18:40:28 ID:???
echo "<a href='item.php?id={$line[0]}'>詳細を見る</a>";
>>902 やっぱ欠陥アプリ量産は低レベルだな
なぜJavaScriptのソースの多くがシングルクオートで書かれているか考えたことはあるかね?
>>902 シングルクォートきもいです
さすが1だな
こうだろ!常識的に考えて! echo <<<EOF <a href="item.php?id={$line[0]}">詳細を見る</a> EOF;
ネタはもうおなかいっぱい
そもそも
>>893 自体
>>900 みたいな出力しないんだからなにを説明しても無駄っぽ
PHPでHTMLソース吐くのは初心者のうちはよくやるけど
慣れてくると
>>896 みたいにテンプレート作って組み込んだほうがいい
909 :
nobodyさん :2010/10/26(火) 18:51:16 ID:kj01px6z
正規表現で $test = '今日は1回目のアクセスです'; の、1を置換して2に変える場合、どうすればいいのでしょうか? 予め数字が決まっているのではなく、不確定の数字だとします。
>>909 不確定の数字を入れたいってことなら
$test = '今日は'.$foo.'回目のアクセスです';
$fooはクッキーで保存すりゃいいと思う
>>903 なんでいちいち煽る必要があるのさ、間違ってるなら説明してあげればいいでしょ。
君みたいなのが一番の荒らしだって自覚してる?
>>909 それおかしいだろ
$test = "今日は".$count."回目のアクセスです";
ならわかるけど
1を2に置き換えするってだけならいいとして
2から3にするときは?とかになるわけで・・・
>>912 数字が切り替わる仕組み自体そもそも理解できてない初心者の質問なんだって気づいてやれよw
なんで正規表現なんだろうな $test= preg_replace("/(.*?)[0-9](.*?)/","$1$count$2",$test); 試してないからわからんけど
・初心者でわかってない ・正規表現君を釣るため ・宿題
914ためしたら$1$countが消えるな $countの前後に半角スペースだの入れればちゃんと表示されるんだけど
>>915 2番目だろ
そんな基礎的なことがわからない初心者が
そもそも正規表現という言葉を知ってるはずがない
なのにお前らときたら・・・
親切にもほどがあるだろ
///
>>917 変数に入れてるのに数字を変数にしてないとかいろいろおかしな点は確かにあるな
$countで変数を保持していないのは、 ログファイルに保存した数字を置換で変更したいからです。 つまり、ファイルを開いて中身を取得して正規表現で置換して 再度書き込むという処理をしたかったのです。 が、正規表現使わない方法が分かりました。どうもありがとうございました。
ログファイルに1だけ書き込んでインクリメントすりゃいいじゃないかwww
はにゃ〜ん
はんにゃー!
924 :
nobodyさん :2010/10/26(火) 22:15:39 ID:DOrgamz8
>>850 さん
errorinfoやってみましたが、syntax errorが出ただけでした。
そこを改善しても書き込まれません。
何が原因なんだろう。。。
syntax errorが出ますだけじゃわからんわ 全部貼れ
典型的だなー
927 :
nobodyさん :2010/10/26(火) 22:23:59 ID:DOrgamz8
すいません。 Array ( [0] => [1] => 1 [2] => near "SET": syntax error )です
928 :
nobodyさん :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の勉強したくての設定なんでここでお願いします・・・
>>928 ありがちだけどapacheの再起動はした?
>>927 $dbh->query('SET NAMES utf8');
は$stmt使ってないと思うけど$stmt->errorInfo()でエラー表示されるの?
931 :
nobodyさん :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', '成田','日本'));
934 :
nobodyさん :2010/10/26(火) 23:24:57 ID:DOrgamz8
>>934 よく読もうぜ。
関数やクラスを使うときにリファレンスを読むのは基本中の基本だよ。
936 :
nobodyさん :2010/10/26(火) 23:56:02 ID:Y5jQHIQ+
937 :
nobodyさん :2010/10/26(火) 23:58:29 ID:DOrgamz8
>>935 単純に何が原因なのでしょうか?構文自体に問題はないように見えますが
エラー文にはnear "SET"って書かれてるんだから そこの部分をだしなさいよ SETって書いてるとこあるんだろ?
939 :
nobodyさん :2010/10/27(水) 01:37:54 ID:2BwSQxVQ
$stmt = $dbh->query("SET NAMES utf8;");
941 :
nobodyさん :2010/10/27(水) 02:06:36 ID:2BwSQxVQ
>>940 さんありがとうございます! ですが今度は新しいエラー
Array ( [0] => HY000 [1] => 1 [2] => SQL logic error or missing database )
が出てきました。
PDOをインスタンス化してる部分を重要な情報外して書いてみ new PDOの部分ね
MySQLじゃなくてSQLiteなんでしょ
944 :
nobodyさん :2010/10/27(水) 02:16:35 ID:2BwSQxVQ
つまりset namesの構文は使えない
なんつうオチだ
PRAGMA encoding = "UTF-8"; ただしテーブル単位であることに注意
948 :
nobodyさん :2010/10/27(水) 02:25:30 ID:2BwSQxVQ
>>945 >>946 レスありがとうございます。
set namesは使えなかったんですね...
>>941 のエラーの対処はどうしたら良いのでしょうか?
調べたらディレクトリの権限に関する情報が出てきたんですが、
パーミッションはディレクトリ777と各ファイル666以上にしてあるのですが
読めますが何か
ダメだよ空気や前後の流れも読めなきゃ
それも読めますが何か
まず貼ってある部分以外でエラーが出てる可能性があるので、 PDOを呼び出してるところでエラーを返すものは全部チェック。 エラーを返すかどうかはちゃんと関数リファレンスで調べる。 エラーが出た直後でerrorInfoで詳細を表示っていうのが基本。 最初から一歩ずつ足元を固めていかないと何をやってるのか わからなくなるよ。
マニュアルはわからなくなったときに読む物。
PHP5系で、最初にマッチした文字列のみを置換するには substr_replaceとstrposの組み合わせ以外で何かスマートな方法はありますか?
スーパーエンジニアにやってもらう
preg_replacet使うと回数指定が出来るので楽じゃない? 正規表現なので処理がもったいないのとエスケープ が必要かもしれないというのが弱点だけどな。
959 :
nobodyさん :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 />)よろしく
>>959 解決とは違うがなんでそんなことがしたいの?HTMLの書き方的に凄く気持ち悪い
10文字ごとの幅で折り返したいだけならそれの親要素の幅を指定してやる方がスマートだし正しい
すとりくたん的に受け付けないわ
firefoxのバージョンによっては半角がwordwrapされないから
>>959 本当にその例「僕の家は埼玉県hogehoge市2-1-2です。(うそ)よろしく」で文字化けするのなら
文字コードの指定の問題。スクリプトの文字コードやmb_*の値を確認して。
次に、「1234567890123456789あい」という文字列の場合
20で区切ると「あ」が分割されるから文字化けするのは仕方がない。
ということで、mb_strlenとmb_substrなどを組み合わせるのが良いと思うが
全角半角区別なく「10文字」ならmb_strlenで簡単だけど
「全角10文字」と「20バイト」は意味が違うから面倒かもね
>>961 半角が改行されないのは禁則処理である意味当たり前だからな
そういう理由なら半角数字を全角にするとかの方がまともな対策だと思うが
>>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 />)よろしく
ID出さないでageる方法
966 :
nobodyさん :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;
967 :
nobodyさん :2010/10/27(水) 16:21:36 ID:dVXlaE2k
おすすめCMS教えてください 条件はフリーであること
>>965 メル欄にsage以外の何か書けばID出さずに上がるだろアホ
>>966 <?php
class SimpleClass
{
public static $var = 'a default value';
public static function displayVar() {
return self::$var;
}
}
echo SimpleClass::displayVar();
>>966 スタティックなクラスはインスタンスを作らなくていいのがメリットじゃないの?
class Test{
static private $text = 1;
static public function getText() {
return self::$text;
}
}
echo Test::getText();
メンバ変数$textをpublicにすれば
echo Test::$text; も可能。
>>973 まずテメーが答えろあほ
俺はいろいろ回答してる
977 :
966 :2010/10/27(水) 16:54:30 ID:HdTEvBrp
みなさんありがとうございます。勉強します
978 :
nobodyさん :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();
}
?>
成田と日本をnaritaとjapanにして上手く行くかどうか見たら?
980 :
nobodyさん :2010/10/27(水) 17:38:49 ID:2BwSQxVQ
>>979 レスありがとうございます。駄目でした。
成田と日本を仁川と韓国にして上手く行くかどうか見たら?
きっとnumberじゃなくてnunberじゃない?テーブルの方がnunberになってるとか
>>980 エラーはでてないの?
あとスレ建て出来る?
パソコンの電源が入っているのかまずそこから
985 :
nobodyさん :2010/10/27(水) 18:35:04 ID:2BwSQxVQ
レスありがとうございます。
>>981 さん。駄目でした...
>>982 さん。前に指摘してもらったスペルミスを修正しましたwお恥ずかしい限りです。
>>983 さん。エラーは
>>941 にある通りです。スレッドは立てさせていただきました。
>>984 さん。お借りしているサーバーでやってるのですが、今は動いてます。
987 :
nobodyさん :2010/10/27(水) 18:40:22 ID:2BwSQxVQ
きっとnumberじゃなくてnumbarじゃない?テーブルの方がnumbarになってるとか
>>978 デフォじゃコンストラクタ以外で例外吐いてくれないぞ
$dbh = new PDO('sqlite:test.db');
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
991 :
nobodyさん :2010/10/27(水) 19:22:41 ID:2BwSQxVQ
>>990 さん。レスありがとうございます。
Connection failed: SQLSTATE[HY000]: General error: 1 SQL logic error or missing database
と出ました。
これはフォルダに書き込み権限与えてない為表示されるエラーなんでしょうか?
ちなみにフォルダの属性は777です
いい加減にネタレスでスレを無駄にするな
>>991 どこのフォルダの属性なの?777ってのは
994 :
nobodyさん :2010/10/27(水) 19:54:59 ID:2BwSQxVQ
>>993 さん
test/sqltest.php
↑ここです
羽田じゃダメなの?
>>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 オブジェクトに関連付けられたリソースを解放してください。
997 :
nobodyさん :2010/10/27(水) 20:24:08 ID:2BwSQxVQ
>>996 さん 丁寧にありがとうございます。
>sqltest.phpってのはこのスレで今初めて出てきたわけだけど、test.dbもsqltest.phpと同じ場所にあるんだよね?
そうです。
>>$res = $dbh->query( 'SELECT * FROM tab1');
>↑のなしで実行してみてよ
>PDOは全部fetchしないうちに次のクエリ発行したらダメだったと思う。
外したら出来ました。fetchしてから使わないと駄目だったんですね...
後は自力でなんとかできそうです。
長々とすいませんでした。レスしてくれた方ありがとうです。
999 :
nobodyさん :2010/10/27(水) 22:39:18 ID:dVXlaE2k
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。