[表示 : 全て 最新50 1-99 101- 201- 301- 2chのread.cgiへ]
Update time : 05/09 18:07 / Filesize : 79 KB / Number-of Response : 321
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【PHP】下らねぇ質問はここに書き込みやがれ 46



1 名前:nobodyさん mailto:sage [2007/05/12(土) 16:43:57 ID:???]
まず読め→【PHP マニュアル】www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り

◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 45
pc11.2ch.net/test/read.cgi/php/1177635762/

◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。

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

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

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで

257 名前:nobodyさん mailto:sage [2007/05/15(火) 16:22:05 ID:???]
<>とマジック・クオートは全然関係ないだろ。勘違い

258 名前:nobodyさん [2007/05/15(火) 16:37:28 ID:6TG+QTaB]
eregi()を使ってフォームで入力された単語の中で半角記号がある場合
はじくスクリプトを書いてるのですが$をはじく
if(eregi("$",$keyword)){
return false;
}else{
return true;
}
と\をはじく
if(eregi("\\",$keyword)){
return false;
}else{
return true;
}
だけが正しく機能してくれません。

正規表現などでググったのですが、これらを認識させる方法を
明記されてるところが無くほとほと困ってます。

osはfreeBSD、phpのバージョンは4.4.6です(レンタルサーバ)

259 名前:nobodyさん mailto:sage [2007/05/15(火) 16:53:49 ID:???]
>>258
マルチすんじゃねえボケ。あっちで答えたから見ておけ

260 名前:nobodyさん mailto:sage [2007/05/15(火) 16:54:35 ID:???]
$はエスケープしろ。
エスケープ特殊文字であるバックスラッシュは、エスケープのエスケープしろ。
\\\\じゃないとなぜ駄目なのかを考えてみよう。

なお「半角文字」なんていう言葉は変だから使うの辞めようね。

261 名前:nobodyさん mailto:sage [2007/05/15(火) 16:58:51 ID:???]
>>259
別にマルチじゃねーだろが。ぼけ。こっちが本スレだから書き直しただけだろ。

262 名前:nobodyさん mailto:sage [2007/05/15(火) 17:01:05 ID:???]
>>261
向こうに書いてこっちに書き直すなら
向こうにそう言ってからこっちに書かないとマルチ

263 名前:258 [2007/05/15(火) 17:22:25 ID:6TG+QTaB]
すいません、一度このスレに書いた後でレスが反映されなかったので
落ちてるのかと思い、再度「php 質問」で2ch内検索しなおして出てきた
あちらのスレに書きなおしたつもりだったのですがマルチになってたようですね。

ちなみに>>261は赤の他人です、気分を悪くする流れにしてしまい申し訳ありませんでした。

>>260 \$で試してみたところ、やはりうまくいきませんでした。
ちなみに、$が入っていようが無かろうが
if(eregi("\$",$keyword)){
return false;
}
のところで必ず引っかかりfalseを返してしまうようです。


264 名前:nobodyさん mailto:sage [2007/05/15(火) 17:23:27 ID:???]
>>263
\\を\\\\にしないといけないってことは
\$なら\\$にしないといけないよね

265 名前:nobodyさん mailto:sage [2007/05/15(火) 17:26:27 ID:???]
if(eregi("\\$",$keyword)){
return false;
}

メタ文字エスケープする時に\$とか\\とかじゃだめだってばさ。



266 名前:nobodyさん mailto:sage [2007/05/15(火) 17:31:26 ID:???]
いろいろ試してみたり \\\\ について理解を深めるのは良いことだと思うんだけど
要件的に正規表現を使わなくてもよさそうな気がする。

267 名前:nobodyさん [2007/05/15(火) 17:31:34 ID:6TG+QTaB]
>>264
今試してみたところうまくいきました。

\\\\じゃ無いとダメなのかはもう少し詳しく調べてみようと思います。
くだらない質問を光の速さで回答していただきありがとうございました。

あと、半角文字という言葉の使用は以後注意して使わないようにもします。
ありがとうございました。

268 名前:258 [2007/05/15(火) 17:35:25 ID:6TG+QTaB]
>>267 の名前欄にレス番号記入するのを忘れていました。
色々ミスってスイマセンでした、訂正しておきます。

>>266 ほかにも色々ある正規表現のテストと
ゆくゆくは[a-z]なども使う事があるかと思い
試している途中で詰まった事なのです。

269 名前:nobodyさん mailto:sage [2007/05/15(火) 18:14:44 ID:???]
return strpos($keyword,'\\') === false ? true : false;

270 名前:nobodyさん mailto:sage [2007/05/15(火) 18:15:41 ID:???]
まあそれが美しいよね

271 名前:258 [2007/05/15(火) 18:32:31 ID:AwqtLTCz]
>>269 あまりにも美しすぎて、もう少し勉強しないと
なにがどう書かれているのか理解する事もできませんでした。

PHPも中々置くが深いんですね、>>269が理解できるよう
さらに深く学んで生きたいと思います。ありがとうございます。

272 名前:nobodyさん mailto:sage [2007/05/15(火) 18:42:17 ID:???]
何でもかんでも一行で書けばいいってもんじゃない。


273 名前:nobodyさん mailto:sage [2007/05/15(火) 18:56:42 ID:???]
なんで回答後ってこういう慇懃無礼とも思える気持ち悪い表現が多いんだろう

274 名前:nobodyさん mailto:sage [2007/05/15(火) 19:00:24 ID:???]
あんたなんでもかんでも肯定されないといやなんですか?
だったらやめたほうがいいよ

275 名前:nobodyさん mailto:sage [2007/05/15(火) 19:37:30 ID:???]
確かに現役PGの視点からいえば、
可読性がない自己満足な書き方をするのは誉められたものじゃない。



276 名前:nobodyさん mailto:sage [2007/05/15(火) 19:54:26 ID:???]
それは正論だが、論理値リテラルを返すだけの三項演算子で可読性云々言い出す奴はいわゆるキチガイ。

277 名前:nobodyさん [2007/05/15(火) 20:49:07 ID:Fy2AtB8k]
再利用可能にするために気をつけてることってありますか?

278 名前:nobodyさん mailto:sage [2007/05/15(火) 21:28:28 ID:???]
PHP以外の言語をたくさん学ぶこと。

279 名前:nobodyさん mailto:sage [2007/05/15(火) 21:52:35 ID:???]
>>276
だと俺も思う。
一行プログラムがポイントではなくて、
strposの返り値を理解して、三項演算子でFALSEチェックするというのは正統派じゃん。

280 名前:nobodyさん mailto:sage [2007/05/15(火) 22:04:24 ID:???]
三項演算子使う奴は趣味だろ、わるかったね仕事で使わないもので

281 名前:nobodyさん [2007/05/15(火) 22:06:33 ID:FHaxfx0y]
dbのコネクションや問い合わせ結果等のリソースは、
変数間でコピーしても必ず参照としてコピーされますか?
丸々コピーされてメモリ大量消費されたりしませんか?

282 名前:nobodyさん mailto:sage [2007/05/15(火) 22:10:02 ID:???]
>>280
まあお好みだけど、そのヒネクレ口調だけはやめたほうがいいな。
仕事で嫌われるよ。能力ないのに嫌われたら困るだろお前も

283 名前:nobodyさん mailto:sage [2007/05/15(火) 22:26:46 ID:???]
>>281
DBコネクションのリソースってそんなに多大な情報持ってんのか?

284 名前:nobodyさん [2007/05/15(火) 22:38:40 ID:UJ71PYY7]
>>281
ほとんどの場合は接続IDだからコピーされても
無視できるだろう

ただし、pear::DB とか PDO のインターフェースは
結構でかい


285 名前:nobodyさん mailto:sage [2007/05/15(火) 22:40:43 ID:???]
>>281
普通にやれば、丸々コピーだろ
sqlの実行結果なんかは、状況によってはボトルネックに
なるかもね




286 名前:nobodyさん mailto:sage [2007/05/15(火) 22:43:22 ID:???]
>>284>>285で議論を戦わせてください。他の人は口出ししないで><

287 名前:nobodyさん mailto:sage [2007/05/15(火) 22:47:12 ID:???]
たんじぇんと、こさいん、氏ね>>286

288 名前:nobodyさん [2007/05/15(火) 22:52:10 ID:GtGfJ8qN]
DBから出勤時間と退勤時間を出して勤務時間をはじきたいですが、
さくっとかっこいいやり方ってありますか?


289 名前:nobodyさん mailto:sage [2007/05/15(火) 22:56:21 ID:???]
退勤時間 - 出勤時間

290 名前:nobodyさん mailto:sage [2007/05/15(火) 23:00:29 ID:???]
>>288
select name,phone from shain where shain_id = 'foo';
call phone;
get appointment;

if(define('appointment') && appointment == TRUE )
{
return 'SUCCESS';
} else {
return FALSE;
}

291 名前:nobodyさん mailto:sage [2007/05/16(水) 00:39:57 ID:???]
>>289
休み時間は?
仮に休み時間が1時間としても、
退出時間−出勤時間−1
としてはいけない。半休とか使う場合があるからだ。
だから単純な方法は無い。

292 名前:nobodyさん mailto:sage [2007/05/16(水) 00:53:26 ID:???]
退勤時間 - 出勤時間(if 休憩がXXだったら〜〜〜)



293 名前:nobodyさん mailto:sage [2007/05/16(水) 01:06:54 ID:???]
>>280
世界中の職場が三項演算子を禁止してるとでも?
うちで禁止するのは新人と糞派遣に投げる時ぐらいだな。

294 名前:nobodyさん mailto:sage [2007/05/16(水) 01:12:08 ID:???]
>>291
じゃその就業規則をルール化しろよ

295 名前:nobodyさん mailto:sage [2007/05/16(水) 01:16:31 ID:???]
プライド高いだけの奴が沸いてきた



296 名前:nobodyさん mailto:sage [2007/05/16(水) 01:17:33 ID:???]
プライド高い「だけ」の奴ね
          ^^^^^^^^

297 名前:nobodyさん [2007/05/16(水) 01:28:05 ID:PGjb3KVb]
すいません、登録制のサイトで登録者の情報を管理者と登録者本人だけに表示を許可したい場合はどうすれば良いんでしょうか?
(管理者以外の他の登録者からは見えないようにしたい)
ちなみに、管理者を$site_admin、 登録者本人を$user_owninfoとして、
管理者のみだと、
<{if $site_admin == true}>
中身
<{/if}>
で上手く行くんですが、そこに登録者本人をプラスして、
<{if $site_admin == true && $user_owninfo == true}>
中身 
<{/if}>
としてみると結局$site_admin == trueの部分しか機能していません。
どうかお知恵をお貸しください。

298 名前:nobodyさん mailto:sage [2007/05/16(水) 01:29:45 ID:???]
Smarty使う前にandとorくらい知っておいたほうがいいんじゃないかね

299 名前:nobodyさん mailto:sage [2007/05/16(水) 01:30:02 ID:???]
IDかPASS制だったらDBでIDとPASS検索して一致しなければLocationで飛ばせばいいんじゃね?

300 名前:nobodyさん mailto:sage [2007/05/16(水) 02:12:16 ID:???]
もうBasic認証でいいじゃん、pearの認証つかえばいいじゃん

301 名前:nobodyさん [2007/05/16(水) 02:33:19 ID:ceM6XUKn]
オリジナルのclassを集めたやつ「class.inc」を暗号化した場合、
読み込むときに複合化しなきゃダメなのかな?

知り合いに自分の作ったやつあげるときに、そのclass.incの中身見られたくないのよ

302 名前:297 [2007/05/16(水) 02:33:43 ID:PGjb3KVb]
&&じゃなくて||でしたね。
単純な間違いでした。
お騒がせしました。

303 名前:nobodyさん [2007/05/16(水) 02:34:46 ID:QKxTyLUD]
質問です。
mysqliの関数を実行する時に、
prepareステートメントとか bind_param()とか execute()を使う場合と
使わない場合で、どのような違いがあるんですか?
こんな場合は使ったほうがいい、ってのありますか?
参考にしている本を見ると、リストDBに「人名」「自己紹介」「HPのurl」を
追加するのに使っていますが、この程度なら普通にやっても同じでは?
という気がします

304 名前:nobodyさん mailto:sage [2007/05/16(水) 02:40:07 ID:???]
>>301
PHPスクリプトを暗号化するソフトなら安いので1万円出してお釣がきますので探してください。
あとは高いのでZendにもでてますよ

305 名前:nobodyさん [2007/05/16(水) 02:42:10 ID:ceM6XUKn]
>>304
サンクス
無料で何かあるかと思ってた俺哀れorz

PHPって実行時にコンパイルするけど、
あらかじめコンパイルしておけば実行するとき早くね?wwwww



306 名前:nobodyさん mailto:sage [2007/05/16(水) 02:47:49 ID:???]
何秒くらい?

307 名前:nobodyさん [2007/05/16(水) 02:49:27 ID:ceM6XUKn]
>>306
いや、そっちのほうが早いかなって思っただけ

308 名前:nobodyさん mailto:sage [2007/05/16(水) 02:51:22 ID:???]
>>303
端的に言えば異なるパラメータを用いて複数回実行するようなSQL文で使うとパフォーマンスがあがるってところかな。(キャッシュが働く
あとはパラメータの自動クォートでユーザー入力からのSQLインジェクション対策とか。
具体的にはID指定して何度もSELECTする様なのとか、ユーザー入力を条件に使うSELECTとか、INSERT全般とか。

309 名前:nobodyさん mailto:sage [2007/05/16(水) 03:04:26 ID:???]
>>305
コンパイラによる。おれデメリットの方がイヤだから使ってないけど

310 名前:nobodyさん mailto:sage [2007/05/16(水) 03:26:08 ID:???]
>>308
ありがとうございます
アドバイスを読んでると、かなりありがたい機能ですね
じゃ、もうprepareステートメントを使うやり方を徹底しても問題ないですかね。
普通のやり方のほうがかえって好都合ってのはないですよね?

311 名前:nobodyさん mailto:sage [2007/05/16(水) 03:33:40 ID:???]
そんなに使いたきゃ使えよ

312 名前:nobodyさん mailto:sage [2007/05/16(水) 03:41:22 ID:???]
>>310
使わなくてもいいとこでも使うと無駄にステートメントを保持することになる、かな…。

313 名前:nobodyさん mailto:sage [2007/05/16(水) 04:16:02 ID:???]
$calc = 1.23456789 * 9.87654321;
for ($i = 1; $i <= 100; $i++) {
echo $calc;
}

こうやった場合って、100回計算が実行されるのか、
すでに計算が終わったものを100回出力しているのか、
どちらなのでしょうか?

314 名前:nobodyさん mailto:sage [2007/05/16(水) 04:17:25 ID:???]
ほへ?

315 名前:313 [2007/05/16(水) 04:19:56 ID:9TTx9/gy]
すみません。age忘れました。



316 名前:nobodyさん mailto:sage [2007/05/16(水) 04:22:59 ID:???]
>>315
ふほ?
www.php.net/manual/ja/language.expressions.php

317 名前:nobodyさん mailto:sage [2007/05/16(水) 04:23:42 ID:???]
百回、変数に入った値が出力されるだけ

318 名前:nobodyさん mailto:sage [2007/05/16(水) 04:26:26 ID:???]
php4とphp5のクラスの参照渡しをあいまいに頭にいれてるからこんな質問したくなったんだろ

319 名前:313 [2007/05/16(水) 04:27:47 ID:9TTx9/gy]
>>314 >>316
すみません。日本語がおかしかったです・・・

>>317
どうもエスパーな質問にお答えいただきありがとうございます。
ということは100回計算してベンチをとるといったことをするには、
別の書き方をしないとならないわけですね。

320 名前:nobodyさん mailto:sage [2007/05/16(水) 04:32:04 ID:???]
>>319
forの中で計算させるだけじゃ?
つかリンク先読めよ。まずそこから必要だ。






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](*・∀・)<79KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef