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

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

レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん2010/02/15(月) 19:23:06ID:???
質問者はまず>>1を良く読むこと(必須!)
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。

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

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

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

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

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

【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0951nobodyさん2010/03/15(月) 20:14:24ID:???
それを言ったらクラスである必要が無い
0952nobodyさん2010/03/15(月) 20:18:10ID:???
かっこつけてクラスなんて使うんじゃねーよ
関数だけにしとけ
0953nobodyさん2010/03/15(月) 20:25:29ID:???
echo md5() . $_GET['data'];

つまりこうなるわけだ。スッキリしたなww
0954nobodyさん2010/03/15(月) 20:37:04ID:???
サニタイズもしないのか
0955nobodyさん2010/03/15(月) 20:39:29ID:???
サニタイズ言うな
0956nobodyさん2010/03/15(月) 20:42:54ID:???
サニタイズは禁句
0957nobodyさん2010/03/15(月) 20:44:43ID:???
ここが、さにーたいじんぐですか?
0958nobodyさん2010/03/15(月) 21:07:04ID:???
複数人で作業する為、他の人と名前が被らない為にクラスを使いたいと思ってました
950様のコードの書き方を覚えて書いてみたいと思います。
ありがとうございます
0959nobodyさん2010/03/15(月) 21:09:41ID:???
こんな素人が複数人で作業とは怖すぎだな
0960nobodyさん2010/03/15(月) 21:09:47ID:???
それこそ名前空間使ってやれよw せっかくZendが苦労して入れてくれたのにw
0961nobodyさん2010/03/15(月) 21:19:59ID:???
>>959よ、ずぶのど素人が俺の質問にレスするでない、さがれ!
0962nobodyさん2010/03/16(火) 00:23:15ID:t2aUhxNk
PHPに限ったことではないと思うのですが、
掲示板のログ(書き込み)は2ちゃんねるのように.datの形式で保存するのと
MySQLのようなDBに入れて保存するののどちらがいいのでしょうか?
0963nobodyさん2010/03/16(火) 00:25:23ID:???
いいの基準は?
0964nobodyさん2010/03/16(火) 00:40:31ID:t2aUhxNk
管理しやすいとか負荷があまりないとか総合的に見ていいほうです。
0965nobodyさん2010/03/16(火) 00:49:13ID:???
個人的に作って公開してるネトゲ用のデータリストはアクセスログもDBで保存してるが、これ管理しようとすると
.NET FrameWork で専用プログラム作るしかないかなーと思ってる。
めんどくさいので後回しだけど・・
0966nobodyさん2010/03/16(火) 01:09:42ID:???
なんで.NETじゃないとだめなんだよw
0967nobodyさん2010/03/16(火) 02:01:34ID:???
実はCOBOLどっとねっと
0968nobodyさん2010/03/16(火) 02:07:02ID:???
PHPの環境構築するのに2時間も掛かったわ。今日からPHP始めますんでよろしくお願いします。
0969nobodyさん2010/03/16(火) 02:07:11ID:???
・2chのようにレス件数が限られている
・2chのように専ブラが普及している
・2chのようにスレッドが膨大に存在している

こういう条件ならdatでいいんじゃねーの
無数に存在するスレッドのテーブルにスレ番で検索かけるよりはいいと思うぜ
0970nobodyさん2010/03/16(火) 09:36:01ID:???
趣味で配布用のPHPプログラム作ってるけど、俺はdatにしているよ。
やっぱりDB使うと初期設定がめんどうだからね。
それに1000件程度ならそんなに処理時間もかからないし、
掲示板ならスレッド(トピックス)毎に分ければ良いだけだからね。
(まさに2ちゃんがそれだが)
0971nobodyさん2010/03/16(火) 09:39:48ID:???
SQLiteにすれば配布も楽
0972nobodyさん2010/03/16(火) 09:44:26ID:???
ハードな検索とかないならそれが一番だな
0973nobodyさん2010/03/16(火) 11:10:14ID:zjXFVPa/
ユーザーが入力した文字列をログに保存してページに出力する場合、
サニタイズ(htmlspecialcharsとか改行の置換とかいろいろ)は保存するときと出力するときと2回行うべきですか?

よく出力するときだけ行えばいいってここで聞いた覚えがあるのですが、
一行一データでログに保存する場合、改行を含む文字列を保存するときに問題があるのですが
保存するときにサニタイズなどはしないほうがいいのでしょうか?
0974nobodyさん2010/03/16(火) 11:11:48ID:AXr2QtK6
wikiシステムの作り方を勉強したいのですが
例えば以下のように書いたものを<li>で囲むにはどのような作業を行うのでしょうか?

*リスト1
*リスト2
0975nobodyさん2010/03/16(火) 11:15:12ID:???
>>973
htmlspecialcharsは出力の直前
保存は、DBならSQLインジェクションに注意(mysql_real_escape_stringなどでエスケープ)
ファイル保存で改行が問題になるなら改行だけ置換
0976nobodyさん2010/03/16(火) 12:05:18ID:???
>>974
$lists = array('リスト1', 'リスト2');
foreach($lists as $list)
{
 echo '<li>'.$list.'</li>';
}
こんな感じ
0977nobodyさん2010/03/16(火) 13:51:24ID:???
\*.*$で要素抜いて置換じゃね
0978nobodyさん2010/03/16(火) 13:52:34ID:???
>>976
ないわ
0979nobodyさん2010/03/16(火) 14:11:48ID:???
>>974
http://pukiwiki.sourceforge.jp/

pukiwikiのlib/convert_html.phpあたりが参考になると思う
0980nobodyさん2010/03/16(火) 14:16:06ID:???
>>979
温かい思いやりに感謝する。
0981nobodyさん2010/03/16(火) 14:33:31ID:ThiLQofN
【OS名】 色々
【PHPのバージョン】php5.26
【連携ソフトウェア】mysql
【質問内容】
定数を定義する場所は、一般的にはどこがいいのでしょう?
もちろん環境によるとは思うのですが、計測してから決めるというのはそう無いですよね?

1.実行するphpファイルにdefine
2.includeするphpファイルにdefine
3.const
4..ini、.conf等のテキストファイルに
5.データベースに
6.その他
0982nobodyさん2010/03/16(火) 14:35:46ID:???
一般的には自分の開発効率がいいところ
0983nobodyさん2010/03/16(火) 14:41:47ID:???
>>981
includeするファイルにすると第三者が見やすい
0984nobodyさん2010/03/16(火) 15:05:02ID:???
環境ごとに違う設定が必要なのはINI、
同じでいいならincludeするファイルに、
という感じで俺は使っているよ。

perl も php も ruby もそうだけど、実装
の作法ってこの言語ならこう!ってのは
なかなか集約しづらいと思う。

自分なりの方法論を見つけていけば
いいんじゃないのかな。
0985nobodyさん2010/03/16(火) 15:11:58ID:ThiLQofN
実装自体はそう難しくはないですが、なんとなくこうしてるとしか説明できないと、どうも嫌だな、と思いまして伺った次第です。
includeするとして、constとdefineのどちらを使っていますか?
くらす::TEISUとTEISUの違いでしかないとは思いますが、constの方がどこにあるかと判断しやすいかなとは思うのですが、余計なメモリ消費やオーバーヘッドもあるんじゃないかと思ったりもするわけです

0986nobodyさん2010/03/16(火) 15:17:56ID:???
他人がこうしてるから/こう言ったからこうしてますはいいのか
09879862010/03/16(火) 15:20:48ID:???
そうじゃなくてこの方法ではオーバヘッドはこれくらいあってこのシステムではどれだけのオーバヘッドを
許容できるから自分はこちらを使う/使わないを選択すればいいんじゃないのか
0988nobodyさん2010/03/16(火) 15:22:54ID:???
納得できるのであれば模倣しようと思ってます
基本的にプログラミングはそうやって覚えていくものじゃないですか?
0989nobodyさん2010/03/16(火) 15:27:08ID:???
>>987
それをお聞きしたくて投降しています。
>986さんはそれについてどう考えられていますか?
0990nobodyさん2010/03/16(火) 15:28:02ID:ThiLQofN
すいません、988と989age忘れました
0991nobodyさん2010/03/16(火) 16:38:23ID:???
規約の問題じゃないのかな。
ZendのとかPEARのとかお好きなのどうぞ。
0992nobodyさん2010/03/16(火) 16:43:08ID:???
zendもpearもcakephpも難しすぎて使い方が分からないのだ!!
イライラするのだ!!!!!!!!!!!!!!!!!!!
0993nobodyさん2010/03/16(火) 17:04:11ID:???
まずクラスの使い方
次はデザインパターンの勉強すれいい
複数人で開発する際に、他のPGとの意思の疎通がやりやすいという建前ではなく、
他の糞PGが作った部分を隔離することで、バグの責任の所在を明らかにすることが目的という意味でね
設計の段階で責任分担がなされていないブラックIT企業ならなおさらのこと、覚えておいて損はない
0994nobodyさん2010/03/16(火) 20:59:08ID:cUbgN6Jr
【OS名】 FreeBSD
【PHPのバージョン】php5
【連携ソフトウェア】無し
【質問内容】
includeされて読み込まれた先のhtmlのタイトル−<title>タイトルだよ</title>−を取得してくれる関数は
用意されていますか?

以前はそういう関数は無かったのでhtmlファイルに以下のような小細工をしてタイトル名を取得していました。

<html>
<header>
<?php>$title = "タイトルだよ";</?>
<title><?php>echo $title</?></title>
</header>

<body>
<?php>include hoge.php</?> ← hoge.phpのなかで $title を通してタイトル名を取得できるようになる。
</body>
</html>

従来のこの方法ですとhtmlファイルのタイトルに小細工をいれなければならないので結構面倒でした。
最近のPHPではこのあたりは改善されたりしていますか?
0995nobodyさん2010/03/16(火) 21:10:54ID:???
php5ってなんだよ
php5.0
php5.1
php5.2
php5.3で違うんだからちゃんと書け
0996nobodyさん2010/03/16(火) 21:17:02ID:???
>>994
<?php>←なにこれ?
普通はテンプレートにタイトルと本文を埋め込むけど
あえてそれをやりたいなら正規表現使えばできるよ
0997nobodyさん2010/03/16(火) 21:17:51ID:???
ついでに言うと<header>なんてタグ存在しない

0998nobodyさん2010/03/16(火) 21:20:11ID:???
なしてこういう人は書き込みフォームに一から手で記述するんだろうね
09999942010/03/16(火) 22:02:19ID:cUbgN6Jr
>>995
すいません。php5.3です。

>>996
> 普通はテンプレートにタイトルと本文を埋め込むけど

そのあたりをもう少し詳しく教えて頂けないでしょうか
1000nobodyさん2010/03/16(火) 22:08:19ID:???
>>999
テンプレートエンジン
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。