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

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

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2007/10/11(木) 17:55:41ID:uObe69hr
まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り

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

◆質問する時の注意
・ sage進行(メール欄にsageと記入すること)「sage進行」とはスレを目立つ上部に上げないことによって、荒らしが発見できないようにすることです
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
・ 書き込むときには、「公式マニュアル、リファレンス本は読みました」と明記すること
(でないと、公式マニュアル読めと煽られます)

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

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
・質問者が「公式マニュアル読んだ」と書いていないからといって、
公式マニュアルに書いてもいないのに、公式マニュアルよめと適当なことを言わないこと。
質問者は公式マニュアルを読んでいるかもしれない。

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0313nobodyさん2007/10/16(火) 17:31:08ID:HcNoY8tx
classの質問です。

$func = 'Test';
$this->'user'.$func.'Warp'();
こんな形で
userTestWarpファンクションを通過させたいのですがうまく行きません。
どのような書き方でうまく動作するでしょうか?
宜しくお願いします
0314nobodyさん2007/10/16(火) 17:34:15ID:6XgRK9pl
>>312
そうなのですか、すみませんでした。
住所を検索して位置情報を取得したいのですが、
Geocoding使う以外に何か方法はないものかと思っていたら
国土交通省に各住所と位置情報のデータベースがあったので、
そこから検索しようと思い入力された住所を解析しようと思いました。
0315nobodyさん2007/10/16(火) 17:36:57ID:???
>>313
$this->{'user'.$func.'Warp'}();
$this->{"user{$func}Warp"}();
など。
0316nobodyさん2007/10/16(火) 17:37:16ID:???
>>311
ちょww俺だっつーのwww
0317nobodyさん2007/10/16(火) 17:42:49ID:???
当スレではID表示は強制ではないが、ID非表示=回答は無くても構わない
という意思表示とみなされます。
0318nobodyさん2007/10/16(火) 17:45:25ID:???
ってか何でテンプレ変えたの?
0319nobodyさん2007/10/16(火) 17:56:42ID:???
荒れるからでしょ。

ID出さずに自滅するのは質問者の勝手、ってことにすれば
喧嘩は質問者とその騙りだけで閉じて回答者は参加しなくなるから。
0320nobodyさん2007/10/16(火) 18:40:10ID:NYdItq6K
天皇には、民事裁判権は及ばないとのことですが、
皇后についてはどうでしょうか?

例えば、天皇皇后が終戦記念日の祝典に出たときに、
皇后が何もお言葉を述べなかったのは、
戦没者を不当に軽視するもので、精神的な苦痛を受けたとして、
皇后を被告に民事裁判を申し立てることはできますか?
0321nobodyさん2007/10/16(火) 18:41:33ID:???
なんでしゃべらんだけで訴えられなきゃいかんのだ
0322nobodyさん2007/10/16(火) 18:41:56ID:???
さきほどPHPの教書みながらオナニーしました。 つい・・・

0323nobodyさん2007/10/16(火) 18:43:35ID:???
PHPってよく見るとおっぱいみたいだよね
03243202007/10/16(火) 18:44:51ID:NYdItq6K
失礼、ミスしました。無視して下さい。
0325nobodyさん2007/10/16(火) 18:53:29ID:???
>>320
皇后さまがカワイソっす。
0326nobodyさん2007/10/16(火) 18:57:31ID:CHj8ujM0
配列をcookieに保存する方法を教えてください。
setcookieを配列の数実行したらいいのでしょうか?
0327nobodyさん2007/10/16(火) 19:09:25ID:???
シリアライズして格納すれば?
0328nobodyさん2007/10/16(火) 21:27:56ID:CHj8ujM0
$a = '山田';
$b = '山本';
これをシリアライズしてcookieに保存する方法をおしえてください。
0329nobodyさん2007/10/16(火) 21:33:25ID:???
マニュアル見れ
0330nobodyさん2007/10/16(火) 22:09:57ID:???
>>328
シリアライズする必要ないじゃん。そのまま格納しれ。
0331nobodyさん2007/10/16(火) 22:32:03ID:opvWCKV/
mysqlリソースを一行ずつ処理する関数はありますが、
リソースを一工程で連想配列として扱う方法はありますか?
0332nobodyさん2007/10/16(火) 22:42:05ID:???
>>331
なんでまた連想配列?
ちなみにそれ、配列のキーは何になるの。
0333nobodyさん2007/10/16(火) 23:50:39ID:opvWCKV/
すみません、連想配列じゃなくて二次元配列でした、
返ってきた結果を色々弄るのにリソースより配列にする
方が楽なので(今は自作関数で処理してます)。
0334nobodyさん2007/10/17(水) 00:10:09ID:???
何をさせたいのか知らんが多次元なら再帰関数にすればいいのでは
0335nobodyさん2007/10/17(水) 00:17:42ID:???
>>333
何かライブラリ使うぐらいしか無いんじゃないかな
1つの関数で一発でとってきたいってことでしょ?
0336nobodyさん2007/10/17(水) 00:26:04ID:???
>>333
データ件数が多すぎるときに破綻するから
そういうやり方はあんまやらん方がいいと思うけどね。
0337nobodyさん2007/10/17(水) 01:41:10ID:???
$tmp = array();
とするべき所を
$tmp = NULL;
と間違って初期化してしまったために、
array_pushのコードの箇所でエラーが発生して、今日業務が止まってしまったのですが、
素直に上司に報告したところ、笑って許してくれました。

これも普段からの人徳からなのかもしれない。
普通の人だったら首になってもおかしくないですから。
0338nobodyさん2007/10/17(水) 01:48:29ID:???
業務内容にもよるかな
0339nobodyさん2007/10/17(水) 02:09:07ID:???
その分上司が責任ひっかぶってくれてんだよ
0340nobodyさん2007/10/17(水) 07:48:12ID:pDVA8Q4W
普段はEUCでコードを書いているのですが、携帯サイトの場合にShift-JIS
にしたところ、PHPの関数ファイルなどがすべて文字化けしました。

こういう用途の場合、どうやって文字化け回避したらよいのでしょうか?
一括で出来る方法を教えて下さい。
(ちなみに、サーバもEUCです)
0341nobodyさん2007/10/17(水) 07:54:03ID:???
>>340
HTML出力をSJIS変換すればいい。
プログラムまでSJISにする必要なんてない。
03423402007/10/17(水) 07:58:09ID:???
>>341
表示ページ→Shift-JIS
関数ファイル→EUC-JP

で、表示ページにrequireで関数ファイルを読み込んでいるのですが、
どの部分に変換すればいいのでしょうか?
また、mb_convart_encodingではないですよね?
0343nobodyさん2007/10/17(水) 08:17:59ID:???
>>341
無知乙

まぁ、内部コードがSJISなのはありえないけどな
0344nobodyさん2007/10/17(水) 08:51:53ID:???
実は携帯ページはEUC-JPでも問題ない
0345nobodyさん2007/10/17(水) 10:23:44ID:???
>>337
その程度でクビってどこのブラックだよ
0346nobodyさん2007/10/17(水) 11:00:32ID:Y8aoqXAI
md5について質問です
指定したファイルのmd5を取得したくて下のようにしました
しかし ./test.jpg が渡されていてファイルのmd5が取得できませんでした

$target = "./test.jpg";
$md5_name = md5($target);
print "md5 $md5_name";

次にこのようにしてファイルを読み込ませて、それを元にmd5を得ようと思いましたが
でてきた結果が空白でこれも失敗しました

$target = file("./test.jpg");
$md5_name = md5($target);
print "md5 $md5_name";

ファイルのmd5はどうやったら取得できるのでしょうか?
0347nobodyさん2007/10/17(水) 11:04:50ID:???
>>346
マニュアル見れ
0348nobodyさん2007/10/17(水) 11:14:29ID:Y8aoqXAI
>>347
http://jp.php.net/manual/ja/function.md5.php
ここですよね?
文字列からのは理解できましたがファイルからのが理解できなかったんです
0349nobodyさん2007/10/17(水) 11:18:29ID:???
文字列関数のページを見れ
あるいは左の関数一覧を見れ
0350nobodyさん2007/10/17(水) 11:26:48ID:Y8aoqXAI
>>349
うほっ、関数あったw
ありがとうございました
0351nobodyさん2007/10/17(水) 12:00:23ID:???
md5_file
0352nobodyさん2007/10/17(水) 17:21:33ID:???


  マニュアル見れ坊しね

0353nobodyさん2007/10/17(水) 17:26:54ID:Y7gFjXGG
いろんな入力フォームについてですが
jsのヒストリーバックや、ブラウザのバックを使うと
修正しようと戻ると、入力欄が空白になる場合があります。
毎回ならわかるのですが、何故なんでしょう?

ヒストリーバックなボタンは使わず
hiddenで変数を埋め込んだ方がいいのでしょうか?
0354nobodyさん2007/10/17(水) 18:07:47ID:???
hiddenじゃなくてセッションの方が簡単
0355nobodyさん2007/10/17(水) 18:16:25ID:???
PHP4での質問です。
$a[0][0] = 1;
$a[0][1] = 2;
$a[0][2] = 1;
という多次元配列を作っておいて、
$a[0][0] の値と $a[0][2] の値を if 文で比較処理したいと思っています。
そこで
if ( $a[0][0] == $a[0][2] ) {
処理内容
}
と書いても評価してくれません。
そこで「{$a[0][0]}」のように波括弧で囲まないと
希望の挙動にならないのかとも思ったのですが、
if ( {$a[0][0]} == {$a[0][2]} ){ ……
とすると文法エラーになってしまいます。
if の条件文の中で、直接に多次元配列の値を比較するには
どのようにすればいいのでしょうか?
よろしくご教示ください。
0356nobodyさん2007/10/17(水) 18:18:12ID:???
>>353
ブラウザの一時メモリキャッシュが残ってるかどうかじゃないのかな。
ヒストリーバックに頼るのは良くないと思うよ。
>>354
セッションは簡単だけど2画面開かれたときにおかしな挙動になることもあるからTPOで。
0357nobodyさん2007/10/17(水) 18:20:15ID:???
>>355
$a[0][0] = 1;
$a[0][1] = 2;
$a[0][2] = 1;
if ( $a[0][0] == $a[0][2] ) {
 echo "一致した\n";
}
実行結果:
一致した

普通に動いてると思うんだが確認方法をどっか間違ってないか?
0358nobodyさん2007/10/17(水) 18:58:54ID:???
test
03593552007/10/17(水) 19:01:12ID:???
>>357
すみません。おっしゃっられた通り、確認方法を間違えていました。
きちんと動作します。
わざわざ検証していただいてありがとうございました。

// ああ、こんなことに3時間も悩んで、俺はバカだ orz
0360nobodyさん2007/10/17(水) 19:10:49ID:Y7gFjXGG
>>356 >>354

ありがとうございます。
hiddenで対応しました。今まで入力項目が少なくて
校正のない者ばかりだったので気が付きませんでした。
そして新たに発覚したのが送信者、本分内の旧字の名前が?に化けるのですが…
UTF-8→ISO-2022-JP MINE→アウトルック

どの時点でおかしくなっているのでしょうか…
0361nobodyさん2007/10/17(水) 19:28:20ID:???
>>359>>355
どこがどうバカだったかを書いといた方が他のバカを作らず親切かと思うんだが
0362nobodyさん2007/10/17(水) 19:40:39ID:bsL4C361
第三者が編集可能なリンク集を作っています。
登録用ページ(A.php)と、登録したものを表示するページ(B.php)と、
リンク先を確認&表示するページ(C.php)の3つがあります。(2chのime.nuのようなもの)
A.phpでURLをエンコードしたものをデータにいれ、
C.phpにGETでエンコード済みURLを渡すリンクをB.phpに表示し、、
C.phpで、受け取ったエンコード済みURLをデコードしたものを表示しようと思っています。
携帯対応のページなのでリファラが使えないので、
C.phpでのXSS対策の1つとして、
GETで受け取ったデータがエンコード済みのURLかどうかをチェックしたいのですが、
何か良い方法ありませんでしょうか?

それともう1つ質問なんですが、
URL登録が日本語ドメインだった場合、文字コードを考えないといけなくなるので面倒になります。
日本語ドメイン(2バイト文字ドメイン)自体使ってる人はあまりいないと思うのですが、
切り捨てるべきだと思いますか?
0363nobodyさん2007/10/17(水) 19:57:19ID:???
別にGETで渡す必要もないんじゃ?
SESSION使えば解決な気がしなくもない
03643622007/10/17(水) 20:33:44ID:bsL4C361
>>363
レスありがとうございます。
セッションは使ったことないので思いつきませんでした。
今からセッションについて調べてみたいと思います。
0365nobodyさん2007/10/17(水) 21:30:56ID:???
array_searchを使うメリットってなんなんだ?
0366nobodyさん2007/10/17(水) 21:57:34ID:???
>>365
簡単かつ高速に検索できる。
組み込み関数のメリットはそれに尽きると思うけど。
0367nobodyさん2007/10/17(水) 22:39:24ID:DjVZ7nbd
ご教授お願いします。
PHPで、ログファイルを開き、特定の文字列が含まれる
行番号を取得したいと考えています。
以下の記述で、サイズの小さいログファイルでは
正常に行番号が取得出来ましたが、ログファイルが大きくなると
ファイルの読み込み自体が出来ていないようでした。
fopen関数で大きなサイズのファイルを扱うにはどのようにすれば
良いでしょうか。よろしくお願いいたします。

$file = fopen("log", "r");

$i = 1;
while( $i < 10000 ) {

$line[$i] = fgets($file);

if ($line[$i] == $str) {
$start = $i;
} else {
}


if ($line[$i] == $str2) {
$end = $i;
} else {
}

$i++;
}
0368nobodyさん2007/10/17(水) 22:44:08ID:???
>>367
> $line[$i] = fgets($file);
これを
$line = fgets($file);
に変える。
1行ずつ読み込みながら処理の終わった行はどんどん捨てていけば
途中でメモリが足りなくなるようなことにはならない。
0369nobodyさん2007/10/17(水) 23:16:33ID:???
ほんと、ここのスレ当てにならないわww
0370nobodyさん2007/10/17(水) 23:20:50ID:???
>>369
今更何を・・・
0371nobodyさん2007/10/17(水) 23:38:56ID:???
どの回答が?
0372nobodyさん2007/10/17(水) 23:48:11ID:???
>>367
大きいファイルの処理は>>368の通りだけどいろいろ意味不明な個所が…
・else文は不要
・while($i < 10000)よりwhile(!feof($file))。10行のファイルでも10000回まわす気?
・$line[$i]==$str だと完全一致のみ。しかも改行文字削除してないから多分一致しない
・特定文字列を含む行が複数ある場合は最後の行しか残らない
0373nobodyさん2007/10/17(水) 23:50:33ID:???
単なる抜粋サンプルコードだろ。
0374nobodyさん2007/10/18(木) 00:26:18ID:eHdvp5u0
俺は山田だ!バカのおまえらのいうことなど当てにならん!おれの言う事しか聞くな!
0375nobodyさん2007/10/18(木) 00:41:45ID:???
学校の宿題じゃねーのか?w
0376nobodyさん2007/10/18(木) 00:43:57ID:???
この程度だったら、他人の意味不明のコードをデバッグするより、
「ログファイルを開き、特定の文字列が含まれる行番号を取得」する
プログラムを自分で書いた方が早いなw
0377nobodyさん2007/10/18(木) 00:48:49ID:???
>>376
他人のことだから、あれだけど、そういう驕り昂ぶった態度が、
日本信号のような事故を招くんだよ。気をつけてね。
0378nobodyさん2007/10/18(木) 00:50:24ID:vC0YRi3P
>>377
おまえ、なにをひとりで偉そうなんだ?
0379nobodyさん2007/10/18(木) 00:51:49ID:???
>>373
抜粋サンプルコードでwhile($i < 10000)はないだろw
0380nobodyさん2007/10/18(木) 00:52:49ID:???
つgrep
0381nobodyさん2007/10/18(木) 00:54:58ID:???
>>378
いや別に偉そうに言っているわけじゃないよ。
ただ、この業界、悦に入っている奴が多く独善的に失敗するまで気付かない、
いや失敗しても人のせいにして自己防衛に徹する人が多いから、
アドバイスをしただけだよ。大失敗する前に気付こうね。
0382nobodyさん2007/10/18(木) 00:55:56ID:???
>>381
ひとりよがりなレスはやめようねw
0383nobodyさん2007/10/18(木) 00:59:38ID:???
>>381
そもそも、そういう説教はスレ違いだから巣にカエレ
0384nobodyさん2007/10/18(木) 01:05:27ID:???
>>382>>383
まぁ、まだ若いから耳に痛いことを受け入れがたいんだろうね。
俺もそんな時代があったからね。失敗して自らを省みるときがあったら、またおいで。
0385nobodyさん2007/10/18(木) 01:23:20ID:???
>>384
まずは鏡を見ろ
周りの同僚はその鏡に映っている勘違い野郎に困り果てているんだ
先輩のお前ならどうしたらいいと思う?
0386nobodyさん2007/10/18(木) 01:40:20ID:???
>>385
そうやって、すぐ攻撃的になるのが若いんだよ。
歳が若いというより脳が若いといった方が正確かもしれないが。
もっと冷静に自分を見つめ直しなさいね。秋の夜長、考える時間はいくらだってあるぞ(笑)
0387nobodyさん2007/10/18(木) 01:46:37ID:???
喧嘩をやめてぇぇ〜二人を止めてぇぇ〜わたしぃぃ〜のためぇぇ〜に争わないでぇぇ〜もうこぉぉ〜れぇぇ〜以上ぉぉ〜♪
0388nobodyさん2007/10/18(木) 01:59:05ID:???

亀父ってインパルス堤下にソクーリだよな

0389nobodyさん2007/10/18(木) 01:59:57ID:???
山陽、九州両新幹線直通運転へ=新大阪〜鹿児島中央約4時間
http://headlines.yahoo.co.jp/hl?a=20071017-00000139-jij-bus_all
0390nobodyさん2007/10/18(木) 02:10:50ID:???
可哀相に
0391nobodyさん2007/10/18(木) 02:19:39ID:fFRrKZqA
課題でリンク先をクリックしたら、appleと出るソースを作んないといけなくて$_GET['?'];の?の部分に何か入れたら出来るらしいんですけど、何いれたらいいですか?教えて下さい。お願いします。色々試してみますたが無理でした○| ̄|_
<?php
echo "<a href'".$_SERVER['script_name']."?food=apple'>好きな食べ物はりんごです</a>";
echo $_GET['?'];
?>
0392nobodyさん2007/10/18(木) 02:21:35ID:???
食べ物
0393nobodyさん2007/10/18(木) 02:25:26ID:???
どんだけ(笑)
すげえレベル低そうな専門 or DQN大学だな
0394nobodyさん2007/10/18(木) 02:33:25ID:???
色々試してみたものを書いてみろ
話はそれからだ
0395nobodyさん2007/10/18(木) 02:34:31ID:???
   ∩___∩         |
   | ノ\     ヽ        |
  /  ●゛  ● |        |
  | ∪  ( _●_) ミ       j
 彡、   |∪|   |       >>391
/     ∩ノ ⊃  ヽ  
(  \ / _ノ |  |
.\ “  /__|  |
  \ /___ /
0396nobodyさん2007/10/18(木) 02:37:42ID:???
別にそういうのが専門とかいうわけじゃないんだろ。
俺も英語の大学だったがCの初歩やらされたし似たようなもんだと思うが。
で本題だが、宿題をきくんじゃねーよ。
0397nobodyさん2007/10/18(木) 02:40:58ID:hsdJKY1+
globalを使いたくないのですが、そのためだけにclassを使うのはおかしいですか?
もともとそういうためにclassはあるんでしょうか?
オブジェクト指向は知らないんですがclassでglobalみたいなことができる程度の知識はあります。

$hoge;
function Hoge() {
global $hoge;
}

class Hoge {
03983972007/10/18(木) 02:42:01ID:hsdJKY1+
途中で送信してしまったorz

class Hoge {
var $hoge;
function Hoge() {
$this->hoge;
}
}
こんなかんじですよね?
03993912007/10/18(木) 02:55:24ID:fFRrKZqA
>>394

action
script_name
food
apple

などです。。

まだ入門の授業で初歩的な事とは思うのですが…。先生が不親切なんでサッパリです。
どうぞ宜しくお願いします。
0400釣られたクマー2007/10/18(木) 03:04:57ID:???
>>391>>399
問題を良く熟読しろ!本当にそれであってるのか?
href 近辺で間違えはないか?話はそれからだ
0401nobodyさん2007/10/18(木) 03:09:55ID:???
何か、ここ深夜に質問すると荒れるねww
深夜に変な粘着が住み着いているんじゃねーか。
それもいつも決まった2人か3人のキモいやつだと思うんだが。
0402nobodyさん2007/10/18(木) 03:18:26ID:???
>>399
>>400の言ってる通りなんだけどエスケープ処理とかちゃんとやらないと。
というかそもそもhtmlがおかしいし・・・

<?php
echo "<a href=\"{$_SERVER['PHP_SELF']}?food=apple\">好きな食べ物はりんごです</a>\n";
echo $_GET['food'];
?>

見るからにviewなので、こういうのはhtmlに埋め込んで書くのがわかりやすい。

<a href="<?php echo $_SERVER['PHP_SELF']; ?>?food=apple">好きな食べ物はりんごです</a>
<p><?echo $_GET['food']; ?></p>

このスクリプト名がhoge.phpだとすると、やっていることは、
<a href="hoge.php?food=apple">好きな食べ物はりんごです</a>
これをクリックすると、hoge.phpにGETメソッドで変数foodにappleという値を入れたのが送信される
これは$_GET['food'] = "apple"と表すことが出来る。
0403nobodyさん2007/10/18(木) 03:29:33ID:9nEaD6jD
動的ページでIf-Modified-Sinceを送信するのに
何か簡単な方法ないでしょうか。
0404nobodyさん2007/10/18(木) 03:30:46ID:???
>>397
>もともとそういうためにclassはあるんでしょうか?
違います
>globalを使いたくないのですが、そのためだけにclassを使うのはおかしいですか?
何をどう使うかは君の自由だが、忠告しておくなら「無意味だからやめとけ」
0405nobodyさん2007/10/18(木) 03:32:06ID:???
>>403
header関数でk\送ればいいのでは?
0406nobodyさん2007/10/18(木) 04:45:13ID:???
>>405
レスありがとうございます。

書き込み前に、headerだけ送ってみたのですがうまくいかず
ttp://www.avoidnote.com/archives/2005/07/modified_since.php
を参考にさせてもらったのですが、
HTTP headerで確認すると、最初はIf-Modified-Since: xxxxx GMT
と出るようになりました。キャッシュ後は、HTTP/1.x 304 Not Modified になってます。これでいいのかな?w

実はサイトも動的なのですが、rssも動的で
ttp://feedanalyzer.com/
で見るとIf-Modified-Sinceがどうたらこうたら言われてたので作業してました。

お騒がせしました。



0407nobodyさん2007/10/18(木) 05:19:55ID:9nEaD6jD
自己レス。勘違いで ログを見ると
キャッシュ後もHTTP/1.x 200 OK
となってます。うん。。
0408nobodyさん2007/10/18(木) 06:05:37ID:4uVZrR94
セッションの安全性について教えて下さい。
いつも$_SESSIONに、当たり前のように保存しているのですが、
トランザクション単位でセッションって保証されているのでしょうか?

たとえば、セッション変数をAとBを設定しても、
取り出すときに、Aだけ取り出せないとかありますか?

セッションも実体はファイルで実装されていたような気がするのですが、
もしそうだとすると、ファイルが壊れたときなどのときに、
トランザクション内で不整合が生じる場合もありえるのかと思いました。

phpに限ったことではないのですが、今回高額の金額を扱うシステムなので、
少し不安です。ご教授お願い致します。
04094082007/10/18(木) 06:34:50ID:4uVZrR94
あ、すみません、分かりにくかったかもしれません。

例えば、A画面からB画面へ遷移する場合に、
A画面から送られたデータを
$_SESSION["A"]="a";
$_SESSION["B"]="b";
とMODELクラスでセットした後、

B画面を表示するときにVIEWクラスで、
$x = $_SESSION["A"];
$y = $_SESSION["B"];
とセッションから取り出したときに、
$yは"b"と入っているのに、$xは""だったみたいなことってありますでしょうか?
というのが質問の趣旨です。

もし、その可能性があるとすると、トランザクション単位で全ての変数の有効性をチェックしてから
でないと、取得した値を使うのはまずいのかなぁと思っています。

宜しくお願いします。
0410nobodyさん2007/10/18(木) 06:51:24ID:+ZcK0GoE
引数チェックを下記のようにしています。もんだいありますですですか?

if ( id > 2147483647 ) // エラー
0411nobodyさん2007/10/18(木) 08:24:26ID:???
>>386
そうやって、スルーできないのが年寄りなんだよ。
歳がいってるというより頭が固いといった方が正確かもしれないが。
もっと冷静に自分を見つめ直しなさいね。先は短いから、考える時間ももう少ないぞ(笑)

#冷静さを装っているけど、ぜんぜん冷静じゃない>>386(笑)
0412nobodyさん2007/10/18(木) 09:06:26ID:dUvBQY0o
クラス内で自身のメソッドをob_startのコールバックに
使用したいのですがどのようにしたらいいのでしょうか?
PHPは4.4.7を使用しています
以下現状

class test{
function test(){
}

function output(){
ob_start("collback");
echo "おはよう。<!--{aaa}-->";
ob_end_flush();
}

function collback($buffer){
$ary1 = "<!--{aaa}-->";
$ary2 = "フェルプス君";
return str_replace($ary1,$ary2,$buffer);
}
}

$hage = new output();
$hoge->output();
■ このスレッドは過去ログ倉庫に格納されています