【PHP】下らねぇ質問はここに書き込みやがれ 36
レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん
2007/01/10(水) 11:20:10ID:???まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 35
http://pc10.2ch.net/test/read.cgi/php/1166676139/
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ http://pc10.2ch.net/php/subback.html
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで http://pc10.2ch.net/db/subback.html
・速さについては自分でベンチをとってここに書け(違う環境の人も調べてくれるかも)
しかし初心者が目的も定めずに速度を気にしたところでほとんど意味は無いぞ
0002nobodyさん
2007/01/10(水) 11:20:34ID:???【PHP】下らねぇ質問はここに書き込みやがれ 27
http://pc8.2ch.net/test/read.cgi/php/1156262092/
【PHP】下らねぇ質問はここに書き込みやがれ 28
http://pc8.2ch.net/test/read.cgi/php/1157284868/
【PHP】下らねぇ質問はここに書き込みやがれ 29
http://pc8.2ch.net/test/read.cgi/php/1158434799/
【PHP】下らねぇ質問はここに書き込みやがれ 30
http://pc8.2ch.net/test/read.cgi/php/1159979905/
【PHP】下らねぇ質問はここに書き込みやがれ 31
http://pc8.2ch.net/test/read.cgi/php/1161733546/
【PHP】下らねぇ質問はここに書き込みやがれ 32
http://pc8.2ch.net/test/read.cgi/php/1162818436/
【PHP】下らねぇ質問はここに書き込みやがれ 33
http://pc8.2ch.net/test/read.cgi/php/1164209222/
【PHP】下らねぇ質問はここに書き込みやがれ 34
http://pc8.2ch.net/test/read.cgi/php/1165519374/
0003nobodyさん
2007/01/10(水) 11:20:50ID:???■本家マニュアル http://www.php.net/manual/ja/
■日本PHPユーザ会 http://www.php.gr.jp/
■PEARマニュアル http://pear.php.net/manual/ja/
■メーリングリスト http://ns1.php.gr.jp/mailman/listinfo/
■ZFマニュアル http://framework.zend.com/manual/ja/
(以下英語)
■Smarty http://smarty.php.net/
■Zend本家 http://www.zend.com/
■Zend Framework http://framework.zend.com/
■php | architect http://www.phparch.com/
■Smartyマニュアル http://smarty.php.net/manual/en/
■PECL本家(英語) http://pecl.php.net/
0004nobodyさん
2007/01/10(水) 11:21:14ID:???注:昔は本スレ(PHP質問スレ)というのが別にあったけど、今はここが本スレです。
◆超初心者を自覚してる方ははこちらへどうぞ
くだすれPHP(超初心者用)2
http://pc10.2ch.net/test/read.cgi/php/1164617202/
◆その他
http://pc10.2ch.net/php/subback.html
PHP関連スレは非常に多いのでこの中でブラウザのCTRL+F等で「PHP」を検索!
0005nobodyさん
2007/01/10(水) 11:21:34ID:???1.文字コードは何を使えばいいの?
→1.UTF-8 2.EUC-JP のどちらか。迷うようなやつはShift_JISは使っちゃダメ。
2. このスレに書き込むときに自分のサイト名を晒したくない
→ http://example.com/が例文などのために予約されている。hogehoge.comは使っちゃダメ。
3. ブラウザに何も表示されないんだけど・・・
→ Apacheの設定を見直せ。ファイルの拡張子は何にしてて、その拡張子でPHPを呼ぶようになっているか?
4. 記号の意味がわからないけどググりようがない
→ 「@」 エラー表示を抑制、「->」 オブジェクトのメンバにアクセス、「::」 静的なメソッド呼び出し、
「==」は暗黙の型変換をしてゆるい比較、「===」は型情報も含めた厳密な比較
5. echo "$arr['hoge']['fuga']"; と書いたらエラーになった
→ {おっぱい括弧}でくくって"{$arr['hoge']['fuga']}"にする
6. 一定時間ごとに自動的に何かしたいんだけど
→ cronかタスクスケジューラを使え。
7.extractって危険なの?
→変数上書き&初期化忘れなどで危険。楽だからという理由だけで安易に使わない。
8. include/requireに「〜.php?a=b&c=d」のようなパラメータをつけたい
→ URL呼び出しなら可能だけど、普通のファイル呼び出しではできません
9.include/requireでURLを指定しても何も起きない
→ .phpの拡張子のファイルをURLで呼び出すと、1度PHPプログラムとして実行された結果になる。
0006nobodyさん
2007/01/10(水) 11:21:52ID:???→ 確認すべきはPHPのconfigureの引数、php.iniの内容と置き場所、
Webサーバの設定(Apacheならhttpd.conf)、起動&再起動あたり
11. SQLの質問はどこで?
→ データベース板に誘導されるのが嫌ならPHPにうまく関連させて質問する
12. 文字列のなかに、英字のみとか数字のみとか記号が入っちゃいやんとかはどうしたらいいの?
→ ctype_〜()が手軽。複雑なパターンはpreg_〜()あたりで正規表現を使う。
13. $a1, $a2, $a3 ... のような変数名をうまく扱いたい
→ 可変変数で実現できるけど、むしろ配列を使って$a[1], $a[2], $a[3]等とするのがベター
14. echoとprintってどう違うの?
→ よく議論される話題であるが基本的に両者とも同じ。 以下ちょっとした議論。
http://www.faqts.com/knowledge_base/view.phtml/aid/1/fid/40
15. クッキーの情報をユーザから隠したい
→ セッション使え。ただしクッキーとセッションは仕組みが違うから同じように扱うな
16. strip_tags()で削除しないタグを複数指定したい
→ strip_tags($html, '<a><p><font>'); // htmlspecialchars()も検討すべし
17. CSVやTSVのファイルをスマートに扱いたい
→ まずはfgetcsv()。ただし日本語を含むと正常に動作しない場合があるので注意だ。
18. 値渡しと参照渡し(「&」を使う)のパフォーマンスの違い
→ C言語じゃないので、パフォーマンス目的で使いわけたらダメ。参照渡しにすると逆に遅くなったりする
参照渡しは引数に戻り値を設定したり引数を関数内で変更するなど、正しい目的に使うこと
19. ファイル入出力関数(fopen等)でリモートファイル(http://〜とか)を扱う際の限界
→ fsockopen()でソケット通信 or PEARのHTTP系 or CURLで解決
必要ならHTTPをはじめとする各種プロトコル(どんなデータを送受信するか)はRFCなどで調べる
20. PHPからPOSTリクエストしたい
→19.を参照
21. 画像処理一般 or GDの限界
→ ImageMagick(PECLのやつ or シェルから実行)
22. 画像・音・動画はファイルで保存?DBに保存?
→ 好きにしてください
0007nobodyさん
2007/01/10(水) 11:22:12ID:???1. ハードウェア、OSのバージョン等には一字一句触れない。
2. 大切な個人情報が漏れるとまずいので、己の行った操作、変更などは秘密。
3. エラーメッセージの類は決して書かない。「エラーが出るんです」で留める。
目の前で生じている現象をそのまま具体的に書くなどもっての外。
事実より俺様の脳内解釈を優先すべし。
4. 独り言文体で必勝。
「…なんだけど、どうすればいいのかなぁ」「何が悪いんだろう?」
5. 「急いでいます」「困っています」等、自分の都合を全面に押し出す。
6. もう試したことを得意げに指摘してくる奴には、厳しく対応。
「それが駄目だったから質問してるんです」「それはもう試してみて駄目でした」
"どう"だめだったのか、本当に実際それを行ったかどうかなんか問題じゃない。
7. ストレートに答えを書かないもったいぶったレスには、逆切れで対応。
「だからどうすればいいんですか?」「分からないなら引っ込んでろやゴルァ」
示されたURL等を参照するなんて態度は、回答者を甘やかすことに他ならないので
絶対に避ける。
8. 情報は小出しに。
「エスパーきぼんぬ」 補足
上の八ヵ条を「一つでも」満たす者は質問者として不適格だということだ。
そのような悪い質問に対して答えられるのは,
質問者の意図をすべて汲み取ることのできるエスパーでもなければムリ,
という意味であって,決して,高度な技術を持つユーザに対する尊称でなはい。
まちがっても「エスパーの方,回答お願いします」
なんて痛い質問するな。つうか氏ね。
0008nobodyさん
2007/01/10(水) 11:34:42ID:???掲示板やブログのような簡単なものでもいいのでしょうか?
0009nobodyさん
2007/01/10(水) 11:53:38ID:YxQZDx6s今作業しているプログラムを作った前の奴が、SQLに日付を入れるのに
varcharで20070101123000という形式で作ってしまいました。(愕然)
で、インターフェース部分で、人が分かりやすい様に、2007/1/1 12:30:00
という形式に変換したいんですが、strtotimeではできませんでした。
こういう時って、正規表現使うしかありませんかね?
0010nobodyさん
2007/01/10(水) 12:01:09ID:???$date = "20070101123000";
echo date("Y/m/d H:i:s",strtotime($date));
?>
これじゃダメなん?
0011nobodyさん
2007/01/10(水) 13:15:16ID:???よくあるねぇ。一部上場している企業でもそんなんザラで作るSEいるよ。
なんのためにdateやtimestampがあるんだか。
何日前とか一発で計算出来るのにvarcharとかしてるせいで出来ないし。
スレ違いスマソ。
0012nobodyさん
2007/01/10(水) 13:24:32ID:???これをすると$var内に十分な文字コードの判断要素が存在しない場合に
mb_convert_encoding のエラーが発生します。
mb_detect_order が空扱いされるようです。
それ自体は良いのですが、
そのまま mb_convert_encoding は 文字コードを変換してない文字列$var
を返してきます。
このエラーが出た場合は、強制的に EUC-JPに変換をしたいのですが、
良い方法はないでしょうか?
0013nobodyさん
2007/01/10(水) 13:24:48ID:???0014nobodyさん
2007/01/10(水) 13:27:56ID:???$encode = @mb_convert_encoding( $var, mb_internal_encoding(), mb_detect_order() );
if($encode){
エラーの場合の処理
}
001514
2007/01/10(水) 13:29:01ID:???FALSE(失敗)が返ってきたときにEUC-JPに変換するようにすればいいんじゃないかな
0016nobodyさん
2007/01/10(水) 13:50:23ID:???/ /,.:.:.:.:.:.:..:.:.:.:.:.:.:.:.:.:.:.:.:.:.::.:.:.:.:.:\※ヽ
\ /:.:.:.::/:.:.:.::.:.:.:.:.:.:!:.!:.:.:.:.:.\::.:.:.:..:ヽ ',
/:.:.:.:.:.:/.:.:.:.:.:.:.:../.;イ.:ト、.:.:.:.:.:.:ヽ.:.:.:.:.:ヽ
,':.:.:.:.:.:.:!.:.:.:.:.:.:.,:イ:/ ;:/ ヽ.:..:.:.:.:.!:.:.:.:.:.:.'※.
!:.:.:.:.:.:.:|.:.:.:.:/.// // \:.:.:.:.|:.:.:.:..:.:i
|:.!:.:.:.:.:.|;∠..−'" 〃゛` ―--\:.!:.:..:.:.::,' } 下らねぇ質問はここに
!ハ:.:.:.:.:.! _,, / 、_ /:.:.:./:/∧ 書き込みやがれですっ
i! \:.:.:\`=''" `ー=''イ/:.ィ//:.:.
}ヾ、_\ ' //´ /:.:.:.
ト、※,.>-―…―--<7´※ /:.:.:.:.
!:.r(´.._'' ¨´ ̄ ̄`¨r-┴ 、 /ユュ_:.:.
/:.{ 〉ーュ__...::::::::::.r―_`ヽ〈 // {j:.:.
. /:.:/{Y´,.-<:::::::::::::::`ー、` ノュ!_j⌒ーリ:.:.
0017nobodyさん
2007/01/10(水) 14:20:01ID:???if(!$encode){
じゃね?
0018nobodyさん
2007/01/10(水) 14:25:49ID:???0019nobodyさん
2007/01/10(水) 17:35:07ID:???これじゃ答える側もこたえる気なくすよな
002012
2007/01/10(水) 18:45:38ID:???おかげで助かりました。
多謝!!!
0021nobodyさん
2007/01/10(水) 19:52:35ID:hNJDqrmd色々不可解なことが・・・。
OS:WindowsXPSP2
Webサーバー:Apach2.2
PHP:5.2.0
質問1:↓これを実行すると
#######################
<?php
print "現在の日時は " . date("Y年m月d日 h時i分") . " です。<BR>";
?>
#######################
↓どうしても、年が・になってしまいます・・・。なぜでしょうか??
現在の日時は 2007・01月10日 07時44分 です。
002221です
2007/01/10(水) 19:53:14ID:hNJDqrmd↓ころをやると
###############
現在の日時は <?=$now?> です。
###############
↓こうなります・・・。
現在の日時は です。
試しに↓こうすると
###############
現在の日時は<?php
print $now;
?> です
###############
↓こうなりました(相変わらず「年」だけ「・」になります。
現在の日時は2007・01月10日 07時50分 です。
大変お手数をおかけしますが、どなたか原因が解りました教えてください。
よろしくお願いします。
002521です
2007/01/10(水) 20:30:44ID:hNJDqrmdありがとうございます。
$nowは↓これが入っています。
<?php
$now = date("Y年m月d日 h時i分");
?>
文字コードだと、iniファイルの設定がうまくいってないのでしょうか?
「年」だけ「・」になるってあるんですね・・・・・、
どこをいじればぃいのだろぅ・・。
あ!!ちなみにいま
print "年<BR>";
これやったらちゃんと「年」って出ました。
むぅ・・・
002624
2007/01/10(水) 20:32:32ID:???<?
$d = split(",",date("Y,m,d,h,i"));
$d = "現在の日時は ".$d[0]."年".$d[1]."月".$d[2]."日 ".$d[3]."時".$d[4]."分 <br />\n";
echo $d;
?>
<?=$d?>
002721です
2007/01/10(水) 20:57:47ID:hNJDqrmdまだ始めたてでよくわからないのですが、
こぴぺして実行したら
こう↓表示されました・・・
\n"; echo $d; ?>
0029nobodyさん
2007/01/10(水) 21:20:05ID:???とりあえずPHPの文字コードどうしてるよ?
php.iniのmbstringのとこだ
>>28
マニュアル嫁厨はいなくていいよ
マニュアル読んでも理解できないことは多々ある
嫁と言うくらいなら読む部分のURLを貼ってやれ
003021です
2007/01/10(水) 21:28:03ID:hNJDqrmd[mbstring]
; language for internal character representation.
mbstring.language = Japanese
; internal/script encoding.
; Some encoding cannot work as internal encoding.
; (e.g. SJIS, BIG5, ISO-2022-*)
mbstring.internal_encoding = SJIS
; http input encoding.
mbstring.http_input = auto
; http output encoding. mb_output_handler must be
; registered as output buffer to function
mbstring.http_output = SJIS
; enable automatic encoding translation according to
; mbstring.internal_encoding setting. Input chars are
; converted to internal encoding by setting this to On.
; Note: Do _not_ use automatic encoding translation for
; portable libs/applications.
mbstring.encoding_translation = On
; automatic encoding detection order.
; auto means
mbstring.detect_order = auto
; substitute_character used when character cannot be converted
; one from another
mbstring.substitute_character = none;
003121です
2007/01/10(水) 21:29:46ID:hNJDqrmdすんません;
でもでも、
↓これで「年」が「・」になるのは・・・とても不思議で・・・。
print "年<BR>"; ←これだとちゃんと「年」って出るのに・・・。PHP5.2.0ってバカなのかなぁ・・。
質問1:↓これを実行すると
#######################
<?php
print "現在の日時は " . date("Y年m月d日 h時i分") . " です。<BR>";
?>
#######################
0032nobodyさん
2007/01/10(水) 21:47:28ID:???0033nobodyさん
2007/01/10(水) 21:53:06ID:???dateはマルチバイト対応してないので
Shift_JISで「年」は0x94 0x4E、「N」が0x4Eだから置き換えしてしまう
0034nobodyさん
2007/01/10(水) 21:54:51ID:???0036nobodyさん
2007/01/10(水) 22:56:17ID:???/hogehoge/scripts/gaibu.phpという外部ファイルを
/hogehoge/main.phpというファイルからincludeさせたときには
main.phpファイルの親ディレクトリである、hogehogeを
/hogehoge/link/index.phpというファイルからincludeさせたときには、
index.phpファイルの親ディレクトリである、linkを取得できるようにgaibu.phpに記述する方法ってありますでしょうか?
<?php
$path_parts = pathinfo(__FILE__);
$mydir = basename($path_parts['dirname']);
print $mydir;
?>
とすると当然ですがgaibu.phpの親ディレクトリであるscriptsが取得されてしまいます。
003721です
2007/01/10(水) 23:07:57ID:tu53/ebs?
>>33
!!!
そうなんですね、テキストに書いてあった通りにしたのに・・・。
今日は勉強してるパソの前を離れてしまったので
明日やってみて結果報告しますね!!
ありがとうござぃます(●´∀`)ノ(ペコリ
>>34
そぅなんですか??
0039nobodyさん
2007/01/10(水) 23:25:48ID:???dateが「N」で置換するようになったのはPHP 5.1.0からだから
たぶん使ってるテキストが古いんだろな
0040前スレ991
2007/01/10(水) 23:32:23ID:dQ2G34v1・・・何のソースを出せばいいの?
YahooAPI弄ってたんだけど、
検索結果がでねぇ。
0041nobodyさん
2007/01/10(水) 23:32:37ID:???0042nobodyさん
2007/01/10(水) 23:33:32ID:Svb1C9pT004340
2007/01/10(水) 23:42:53ID:dQ2G34v1一応構成は、common.phpと(YJSearchExample.php)
の2ファイルです。
0044nobodyさん
2007/01/10(水) 23:44:48ID:???「エスパーきぼんぬ」「氏ね」「(゚Д゚)ハァ?」等のレスを貰う八ヶ条。
5. 「急いでいます」「困っています」等、自分の都合を全面に押し出す。
0045nobodyさん
2007/01/11(木) 00:10:59ID:uW7xEbZYCとC++どちらがいいですか?
0047nobodyさん
2007/01/11(木) 00:15:30ID:uW7xEbZY二次で生まれたものから作成するのはスピードの面とか・・・
0048nobodyさん
2007/01/11(木) 00:16:27ID:???0049nobodyさん
2007/01/11(木) 00:21:12ID:uW7xEbZY0:45分にモジュールの新スレたてます。
0050nobodyさん
2007/01/11(木) 01:46:57ID:8lXV+y43$strに、メール(ヘッダおよび本文)が格納されているとします。
メールの仕様では、ヘッダと本文の境界は「CR+LF」の空行だそうなので、
以下のような正規表現にて本文だけを抜き出せるかと思いましたが、うまく出来ません。
どこがいけないのでしょうか?
preg_match("/^\s*$([\s\S]*)/", $str, $body);
0051nobodyさん
2007/01/11(木) 01:55:47ID:JCcmSaAf正規表現は別スレ池
0053nobodyさん
2007/01/11(木) 02:38:19ID:???http://pc10.2ch.net/tech/
>>1のURLはややこしいから次スレから消すべき。
>・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ http://pc10.2ch.net/php/subback.html
>・SQLについての質問はデータベース板(PCカテゴリ)の各スレで http://pc10.2ch.net/db/subback.html
0054nobodyさん
2007/01/11(木) 03:50:26ID:???http://pc10.2ch.net/test/read.cgi/php/1168395610/1
みたいにレスを取得するプログラムを書きたいんですけど、
どうやって取得するのでしょうか?
getで取得しようとしてみたのですがa=1みたいにキーを設定しないとダメでした。
クエリーストリングで素得できるのかと思ったのですが、
ブラウザがディレクトリと認識してしまいnot foundのページがでてしまいます。
どなたかご教授お願いします。
0055nobodyさん
2007/01/11(木) 04:00:15ID:???/test/read.cgiにあたるファイルを作って、それより後ろの部分は$_SERVER['PATH_INFO']。
もしくはmod_rewrite+REQUEST_URI等。
0057nobodyさん
2007/01/11(木) 04:28:26ID:???遅レスっすけど、この前同じ目に
MySQLだったんだけど、MySQLのDATE_FORMATで対応できた
SELECT DATE_FORMAT( '20070101123000', '%Y-%m-%d %H:%i:%s' ) AS dt FROM.....
-- dt --
2007-01-01 12:30:00
----
てな感じ。MySQL以外はわかんね
0058nobodyさん
2007/01/11(木) 04:44:10ID:???全然関係ないんだけど
自分だったら for 文で空行が出てくるまで読み捨て
とかやっちゃうな
今時の富豪的プログラミングとしては
正規表現を使うのかもしれんけど
0059nobodyさん
2007/01/11(木) 04:49:14ID:???0060nobodyさん
2007/01/11(木) 05:18:27ID:???list($head,$body) = explode("\r\n\r\n", $str, 2);
でもいけるんじゃないかと
0061nobodyさん
2007/01/11(木) 05:50:14ID:???著作権に引っかかりますか?
0062nobodyさん
2007/01/11(木) 06:11:07ID:???内部プログラムっていうのが何かわからないが、
特許技術とかでもない限り、
一般的に掲示板なんて構造はどれも一緒なんだから、
問題はない。
0063nobodyさん
2007/01/11(木) 07:17:30ID:???もし使うとしたらUTF-8のほうがいいですか?EUCやShift_JISではやめといたほうがいいのでしょうか?
if($_POST['name'] == "ななしさん"){
省略
}
0065nobodyさん
2007/01/11(木) 10:15:04ID:???テキストメールで送信する前にサニタイズしてタグ等がある場合は
無害化してからメール関数で送信するべきでしょうか?
006737
2007/01/11(木) 12:15:45ID:???外部phpファイルを読みこませるファイルのファイル名や親ディレクトリ名を取得するスクリプトを、
外部phpファイルにかけるかどうかということなんですが、伝わりますでしょうか?
ファイル名などを取得させるように外部phpファイルに書くと当然、外部phpファイルのファイル名が取得されてしまいますよね?
これを、外部phpを読み込ませたファイルのファイル名を取得したいのです。
0070nobodyさん
2007/01/11(木) 13:42:42ID:???こんな答えを望んでいないのを承知で書くが、
gaibu.phpをクラスとして定義し、
コンストラクタでパスを渡す
というのが設計としては正解だったりしないか。
もっと単純に、
読み込み元のスクリプトで変数を設定し、
読み込まれたファイルでは、その変数を読むとか。
とはいえ、出されている情報だけでは、
判断できないけどね。
0071nobodyさん
2007/01/11(木) 14:49:44ID:???こことまったく同じことやったら
特定のメール文章のときに文章が途中で途切れて送信されます。
色々テストしてみると、
$body = $mime->get($build_param);
この時点で、文章が途中からばっさり切られてるようです。
考えられる原因をどなたか教えてくださいませ orz
0072nobodyさん
2007/01/11(木) 16:50:26ID:???どういう文章で切られてるかというのが分からんとなぁ。
たとえば、改行したところで切られるとか、改行が2回連続出たところで切られるとか
何文字目で切られるとか。
007371
2007/01/11(木) 16:54:15ID:???やっと今頃なんですが、
色々調べてみたらなんとなく分かってきました、
どうやら機種依存文字があると、その文字列以降が一切削除されているようです。
例えば機種依存文字、○の中に1、を書くとそれ以降は削除されてました。
機種依存文字をうまく変換するような関数ってあるでしょうか?
PCに詳しくない人ともやりとりするので
機種依存文字を0にするのは厳しそうです。
007571
2007/01/11(木) 18:04:12ID:???ここのを試してみたんですが、
空の文字列が返されるようです。
どこが悪いか分かりますか?
0076nobodyさん
2007/01/11(木) 18:11:32ID:???どこが悪いか分かりますか?ではなく、
ここの部分が悪いんですが〜とちゃんと言えるようにしてきてくれ。
0077nobodyさん
2007/01/11(木) 18:14:44ID:???0078nobodyさん
2007/01/11(木) 18:16:09ID:???0079nobodyさん
2007/01/11(木) 18:17:19ID:???0080nobodyさん
2007/01/11(木) 18:35:31ID:???$text = mb_convert_encoding($text, 'ISO-2022-JP', mb_detect_encoding($text));
これがいらん気がする。
0081nobodyさん
2007/01/11(木) 19:33:21ID:???大抵のMUAはShift_JISのメールも読めるだろうけど
昔気質の自分はISO-2022-JPであってほしいと思うな
0082nobodyさん
2007/01/11(木) 19:34:30ID:???header(Location: 〜) ; // POST後のページに切り替え
html() ; // Location が効かなかったときの表示
flush() ;
mail() ; // メール送信
ポスト後のページ切り替えは
IE6 メール送信しないときは速い。送信するとワンテンポ遅れる。
Opera9 どっちも速い。
FireFox2 どっちも遅い。
できれば IE6 でも遅れないようにしたいさ。
なんか手はないか。
flush のところに ob_end_clean や ob_flush を入れても同じさ。
0083nobodyさん
2007/01/11(木) 19:50:38ID:???openハンドラーのところで、セッション保存パスが取得できませんでした。
原因を切り分けるために、session_save_path()を実行してみたのですが、
取得ができませんでした。サーバーの環境の問題かもしれませんが、
可能性として考えられる原因って分かりますか?
----
echo session_save_path();
session_start();
----
テスト環境
WindowsXP
PHP5
008437=67
2007/01/11(木) 20:08:10ID:???できるのですか!
単純にディレクトリ名取得させる書き方だと、うまくいかないのですが書き方か関数かご教授願えないでしょうか?
環境変数というのは、調べてやってみます。
phpinfo()
のなかに、使える関数があるのでしょうか。
>>70
読み込みもとのスクリプトで取得させるのはできるのですが、、ページを簡素にして全部共通で外部ファイルを使いたいので、外部化にこだわってます。
アドバイス頂いた設計は、ちょと難しくて、まだ把握できません・・・
008621です
2007/01/11(木) 20:49:58ID:6cjanMPr途中報告です!
iniの設定をShift-JIS以外にして試してるのですが、
完全に文字化けしてしまいました・・なので、多分Apacheの設定??も
間違えてるんだと思います。
今、ネットであれこれ調べてチャレンジしてます!
クリアできたらまた報告しますね!
にしても設定するだけで難しい・・・。
0087nobodyさん
2007/01/11(木) 20:53:34ID:r9MspATb送信先不明や着信許可していない時にデーモンから返されてくるエラーメールから
元々送った相手のメールアドレスを変数に取り出すには、どうしたらいいですか?
0090nobodyさん
2007/01/11(木) 21:14:57ID:r9MspATbスパムじゃないです!主婦友のメーリングリストを作りたいんですが、携帯が主なので
機種変とか受信許可設定の未設定とかで、帰ってくることが多いので、
返ってきたメールアドレスは、データベースから消したりする処理をする為です!
私は、業者じゃないです!
0093nobodyさん
2007/01/11(木) 21:23:59ID:r9MspATb私もググって見たのですが、メーリングリストのスクリプトについての解説が載っているページがなくて
ここにたどり着きました。
どなたか、ご存知の方、直接解説をしていただかなくても良いので
URLだけでも教えていただけませんか?
0095nobodyさん
2007/01/11(木) 21:25:41ID:r9MspATb0097nobodyさん
2007/01/11(木) 21:33:23ID:???PHPでツリーメニューを使うにはどうしたらいいですか?
0098nobodyさん
2007/01/11(木) 21:35:10ID:???ソースに記述して動作させようとしてるということです
0099nobodyさん
2007/01/11(木) 21:38:34ID:???Apache 2.2 なら AddDefaultCharset はなかったはず。
書き足してなければ。
これはない方が概ね意図した動作になる。
php.ini は↓2つ。
mbstring.internal_encoding = UTF-8
mbstring.http_output = UTF-8
で php ファイルは UTF-8 で作成して
最低限の html タグは書いておくこと。
要するに head に meta タグで charset を指定するため。
0102nobodyさん
2007/01/11(木) 22:01:50ID:???すみません、こういう奴です
0104nobodyさん
2007/01/11(木) 22:22:05ID:???$str1 = <<< DOC_END1
HTMLのやつ
DOC_END1;
print $str1
?>
0105nobodyさん
2007/01/11(木) 22:29:32ID:???その新しい画面から他の画面へ遷移させた途端、SessionIDが新しいのに
変わって、セッションが破棄されてしまいます。
session_destroyをしていないのに。。。
それが、同じ環境(OS、ブラウザ)でも起こる場合と起こらない場合があるのですが、
対処方法が全く分かりません。
原因をつきとめる方法でもいいので、アドバイスをお願いします。
0106nobodyさん
2007/01/11(木) 22:47:32ID:cEYa3q1pPHPから操作する方法がわかりません
何かライブラリがあるのでしょうか?
0107nobodyさん
2007/01/11(木) 23:16:49ID:???http://jp.php.net/manual/ja/ref.exec.php
0108nobodyさん
2007/01/11(木) 23:28:25ID:???PHPじゃないけど、そういう処理がfmlに含まれてる。
まさにエラーメールをはじくために。
Perlが分かるなら、その部分だけ取って来て流用すれば良い。
0109nobodyさん
2007/01/11(木) 23:32:40ID:???0110nobodyさん
2007/01/12(金) 00:46:34ID:MVKrQ9mzWebサーバをロードバランシングしてると同様の
ことが起こるが。。。違うか。。
0111nobodyさん
2007/01/12(金) 01:06:03ID:21GIWcBSprint $str2
print $str3
print $str4
print $str5
PHPの記述の一部にこのような命令があったとして
これの順番を入れ替えたい(例えば$str1と$str4)
(ちなみに変数の中身が変わるので、手書きで順番を変えるわけには行きません)
そのような場合にはどうすればいいでしょうか?
0112nobodyさん
2007/01/12(金) 01:20:11ID:???0113nobodyさん
2007/01/12(金) 01:28:51ID:???print $str1
print $str2
print $str3
print $str4
print $str5
}else if( 変数の中身の状況2 ){
print $str4
print $str2
print $str3
print $str1
print $str5
}else if( 変数の中身の状況3 ){
・
・
・
0114nobodyさん
2007/01/12(金) 02:10:54ID:???0115nobodyさん
2007/01/12(金) 02:53:02ID:???$str1 = "s1";
$str2 = "s2";
$str3 = "s3";
$str4 = "s4";
$str5 = "s5";
//$list = array(1, 2, 3, 4, 5); //元々の順番
$list = array(4, 2, 3, 1, 5); //str1とstr4の表示順を入れ替え
foreach($list as $n) {
print ${"str" . $n} . "\n";
}
ってこと?
0116nobodyさん
2007/01/12(金) 02:53:34ID:???0117nobodyさん
2007/01/12(金) 03:55:07ID:???すでに表示されてしまってるのをどうにかしたいなら、
JavaScriptでやるしかない。
0118nobodyさん
2007/01/12(金) 05:49:30ID:YAXXgeZf1ファイル上であっても何度も読み込む必要がありますよね?
function test01(){
require("admin_setting");
echo $admin_name;
}
function test02(){
require("admin_setting");
echo $admin_text;
}
こんな感じで何度もfunction内にrequireを書く必要があると思いますが、
そうではなくて、何度も読み込まない方法は無いでしょうか?
0119nobodyさん
2007/01/12(金) 06:33:40ID:???http://jp.php.net/manual/ja/function.require.php
0120nobodyさん
2007/01/12(金) 08:23:25ID:???それってrequire_onceじゃないのか?
http://jp.php.net/manual/ja/function.require-once.php
0121nobodyさん
2007/01/12(金) 08:26:31ID:???空メールシステムと同じようにすればいいんじゃないの?
TELNETとかでサーバーの設定いじれないとムリだけど。
[email protected] がメルマガ配信のアドレスだとしたら、
[email protected]にメールが配信されたら、ooo.phpを起動して、エラーメッセージの記入してある本文を取り出す。
本文を取り出したら、正規表現でメールアドレスを取り出す。
エラーメッセージに[email protected]も含まれているので、それは除外する。
たいていが↓のように<>で囲まれてるから。
< [email protected] >
それをDBから削除すればいいだけじゃん。
mimeDecoderとか使ったら簡単にできるよ。
サーバーがいじれればね。
0122nobodyさん
2007/01/12(金) 11:21:16ID:???<?php
require("admin_setting");
class Hogehoge{
function test01(){
echo $admin_name;
}
function test02(){
echo $admin_text;
}
}
?>
0123nobodyさん
2007/01/12(金) 11:52:22ID:???クラスにしなくても
require("admin_setting");
をユーザ関数の外に出せばいいだけの希ガス
0124nobodyさん
2007/01/12(金) 13:08:45ID:qjLqWtKa>>10
それじゃできないはずです。つうか、できませんでした。(php v4.4.4)
日付までならOKなんですが、時分秒が入ったらあきませんでした。
>>11
そうなんですよ!!!!(怒)
SQLを単なるデータの入れ物にしか使ってないんですよ。
flag(status)にvarchar(1)とか定義して(なんでやねん!!!)、
中身は数字が1〜9まで。(←お前、出直して来い!)
0125nobodyさん
2007/01/12(金) 13:09:48ID:qjLqWtKaあ、結局ですね、正規表現で処理しました。(悩む時間がもったいなかったので)
0126nobodyさん
2007/01/12(金) 14:01:29ID:5AgUsAfLclass hoge {
public $foo;
function yahoo() {
$this->foo = $_GET['foo'];
}
function checkFoo() {
if($this->foo ==1) {
echo 'OK';
}
}
このクラスを継承してcheckFooを他のクラスから使用できるようにしたいのですがどんな方法があるでしょうか?
class hoge2 exteds hoge {
public $bar;
function __condtruct() {
$this->bar = $_GET['bar'];
$this->checkFoo(); <- ここで$barも同じチェックをしたい
}
}
0127nobodyさん
2007/01/12(金) 14:04:05ID:???とりあえずhoge2の__constructの中で、parent::__construct()でも呼び出しとけば?
0128118
2007/01/12(金) 14:14:59ID:???つまりこういうことでしょうか?
require("admin_setting.php");
class Hogehoge{
function test01(){
echo $admin_name;
}
function test02(){
echo $admin_text;
}
}
$sample=new Hogehoge;
$sample->test01();
ただ、これでは表示されません。requireの箇所をfunction内に入れれば
表示されるのですが・・。
0129nobodyさん
2007/01/12(金) 14:36:44ID:???0130nobodyさん
2007/01/12(金) 14:37:12ID:???いろいろやり方あるけどPHP5なら、俺の場合はstatic参照する
----------------------------------------
class AdminSetting{
static $admin_name = "hirairio";
static $admin_text = "yariman";
}
----------------------------------------
require("admin_setting.php");
class Hogehoge{
function test01(){
echo AdminSetting::admin_name;
}
}
----------------------------------------
PHP4では動かないよ。
PHP4ならあんまり好きじゃないけどdefineとか使うしかないんじゃね。
0131前931
2007/01/12(金) 14:41:19ID:snP01oSS正規表現部分です。
$str = preg_replace('|(?:<!--)(?:(?!-->).)*-->|sxi', " ", $str);
$str = preg_replace('|(?:<style)(?:(?!</style>).)*</style>|sxi', " ", $str);
$str = preg_replace('|(?:<script)(?:(?!</script>).)*</script>|sxi', " ", $str);
マルチバイト対応してないのか。あぁ。
0132nobodyさん
2007/01/12(金) 14:43:30ID:???これなら動きました。
自分はPHP5.1.4の環境でテストしていたのですが、
それで動かなかったんですね。
とはいえ一般のレン鯖はPHP4のところがほとんどですし、
自分もPHP5仕様にしたくないので、defineを使うか
素直にrequireをfunctionの数だけ用意するようにします。
ソースありがとうございました。
0133nobodyさん
2007/01/12(金) 15:22:04ID:???if(preg_match(array('a','b','c','d'), array('c', 'd'))) {
処理
}
こんな処理をしたいのですが、正規表現は使わないのでpreg_match以外で軽快な関数ありますでしょうか?
0134nobodyさん
2007/01/12(金) 15:33:16ID:h324r4IB試しに動かしてみたのですが、echoやforループなどはまぁ普通に動いているのですが、file_get_contentsが機能していないようです。
こういう現象に心当たりのある方いたらアドバイスをお願いします。
0135nobodyさん
2007/01/12(金) 15:38:30ID:qKWjHdtbin_array()
0137134
2007/01/12(金) 15:44:54ID:???$a = file_get_contents("test.txt");
echo $a;
で結果は何も表示されません。
fileがないとかそういうエラーも出てません。
0139133
2007/01/12(金) 15:56:31ID:???こいつなんなの?
よくいるみたいでけど
>>135さん
それだと1つでもマッチしているとTRUEになるんです…
すべてあっていた場合のみTRUEという関数は自作するしかないのでしょうか?
0140nobodyさん
2007/01/12(金) 16:02:47ID:???//今日の日付
$today=mktime();
//生年月日を結合
$birth=mktime(0,0,0,$_POST["moon"],$_POST["day"],$_POST["year"]);
$age=$today-$birth;
echo "あなたの現在の年齢は".date("Y",$age)."歳です";
フォームから自分の生年月日を入力して送信したら年齢が出るという
仕組みなのですが、上手くいきません。どこがおかしいのでしょうか?
0142nobodyさん
2007/01/12(金) 16:19:51ID:???day もおかしいな
0143nobodyさん
2007/01/12(金) 16:22:37ID:???0144nobodyさん
2007/01/12(金) 16:24:55ID:???php経由で叩こうとしてるのですが上手くいきません
セキュリティとか実行権限あたりかと思うんですが・・・
よろしくお願いします
0145144
2007/01/12(金) 16:29:46ID:???test.php--------------
<?php
passthru("test.bat",$ret);
echo $ret;
?>
test.bat---------------
D:\Oracle\Ora90\bin\exp FILE=D:\test.dmp
----------------------
こんな感じです
バッチファイルを直接叩くとtest.dmpは作成されるのは確認しました
0146nobodyさん
2007/01/12(金) 16:33:14ID:???0147nobodyさん
2007/01/12(金) 16:42:15ID:???dayはいいんじゃないの?dateだと年月日全部って感覚なんだけど。
違うかな。
さて、ヒントはmktimeやdateの有効範囲。
ロジックが間違ってます。
じゃどうするか。貴方が計算するように計算するんです。
0148nobodyさん
2007/01/12(金) 16:44:07ID:???test.php経由だと上手くいかないんです
「dir」や「time」等の単純(?)なコマンドは引数も取得出来るのですが・・・
0149nobodyさん
2007/01/12(金) 16:46:21ID:???パスが通ってないんじゃないの?
passthru("test.bat",$ret);
↓
passthru("D:\test.bat",$ret);
みたいに絶対パスで指定してみれ。
0150nobodyさん
2007/01/12(金) 17:57:38ID:???Smarty error: [in hoge.html line 19]: syntax error: unrecognized tag: 投票
この場合、「投票」という文字を消すと動作します
0152nobodyさん
2007/01/12(金) 18:02:21ID:???0154nobodyさん
2007/01/12(金) 18:23:58ID:ixGVyEcVディレクトリを作成する方法はどうしたらいいですか?
0155150
2007/01/12(金) 18:27:00ID:???たぶんこれが原因です…ありがとうごさいます。
Shift_JISまんどくせ〜
それでもShift_JISでやらなきゃいけない…鬱鬱
0157nobodyさん
2007/01/12(金) 18:33:23ID:???0160nobodyさん
2007/01/12(金) 18:40:01ID:???echo じゃなくて var_dump で出力してみたらどうなるの
false が帰ってきていたら失敗だよ
0162nobodyさん
2007/01/12(金) 18:42:59ID:???Smarty、テンプレートのエンコードSJIS、
スクリプトエンコードSJISの組み合わせは地獄だよ
せめてスクリプトのエンコードはEUCとかにして、
プリフィルターとポストフィルターを使って
SJIS -> EUC -> SJIS にしたほうが楽
重いけどな
0164154
2007/01/12(金) 18:53:26ID:ixGVyEcVありがとう!買った本に載ってなかったので
ググって挑戦してみます。
0166nobodyさん
2007/01/12(金) 19:27:40ID:???× <日本語 value="bar">foo</日本語>
× <tag 日本語="bar">foo</tag>
○ <tag value="日本語">foo</tag>
○ <tag value="bar">日本語</tag>
基本だろ
0167nobodyさん
2007/01/12(金) 19:34:45ID:2nrbZFx0http://ns1.php.gr.jp/search.html
0168nobodyさん
2007/01/12(金) 19:47:22ID:???{literal}で囲んでごらん。
エラー消えるから
0169nobodyさん
2007/01/12(金) 20:31:25ID:???変数に入れることはできないのでしょうか。
jpegイメージの実態を変数に代入したいです。
0172nobodyさん
2007/01/12(金) 20:44:47ID:???imagejpeg($img_res);
$image = ob_get_clean();
これじゃダメ?
0176nobodyさん
2007/01/12(金) 21:39:44ID:???0177nobodyさん
2007/01/12(金) 21:43:25ID:???switch(test){
case a:
case b:
case d:
echo 'a b d';
break;
case c:
echo 'c';
}
0178nobodyさん
2007/01/12(金) 21:49:43ID:???ThankS!
0179nobodyさん
2007/01/12(金) 23:25:36ID:UiMa0kdEなんのことか知らんが、出力だけSJISにしとけばいいだけじゃね?
0180nobodyさん
2007/01/13(土) 00:01:41ID:LrFYrtf4この配列から何でもいいから値を一つ返したいのですが、
いい方法はありませんか?
foreachを使えば返すことが出来るんですが、
一つだけとりだすなら、処理が無駄のような気がして・・・・
0182nobodyさん
2007/01/13(土) 00:17:30ID:???0183nobodyさん
2007/01/13(土) 00:25:38ID:???{
$key_list = array_keys($arr);
return $arr[$key_list[mt_rand(0,count($key_list)-1)]];
}
0184nobodyさん
2007/01/13(土) 00:29:14ID:???http://jp2.php.net/manual/ja/function.array-rand.php
0185nobodyさん
2007/01/13(土) 00:39:19ID:???http://www.php.net/manual/ja/
じゃアクセスできないな・・
0187nobodyさん
2007/01/13(土) 00:59:59ID:???0188nobodyさん
2007/01/13(土) 01:02:33ID:???昼くらいから見れなかった
www.php.net 全体が
0190nobodyさん
2007/01/13(土) 01:18:24ID:???0191nobodyさん
2007/01/13(土) 02:42:01ID:???smartyで
ループ回数が10回以上だったら、iterationの値を表示しないようにしたいのですがどんな方法があるでしょうか?
{if {$smarty.section.loop.iteration} != 10}{$smarty.section.loop.iteration}{/if}
尚、ループは50回以上の場合もあるのでiterationの値だけを表示しないようにしたいのです
0192115
2007/01/13(土) 03:03:03ID:???それなら
{if $smarty.section.loop.iteration <= 9}{$smarty.section.loop.iteration}{/if}
全体のループが8や9だったら表示して、11や20だったら全く表示しないのなら
{if $smarty.section.loop.total <= 9}{$smarty.section.loop.iteration}{/if}
とやるかなぁ。
@count
0193nobodyさん
2007/01/13(土) 06:22:47ID:yY12RXL10195nobodyさん
2007/01/13(土) 08:32:10ID:???trueを返すというのは可能でしょうか?
それとも正規表現関数を使わなければ、
不可能なんでしょうか?
0196nobodyさん
2007/01/13(土) 09:10:55ID:Ymy8BY2c0199nobodyさん
2007/01/13(土) 09:17:40ID:???0200nobodyさん
2007/01/13(土) 09:24:43ID:???0201nobodyさん
2007/01/13(土) 09:28:24ID:???apach入れないと無理だな
インターネットにつながないと無理だな
PHPファイルにアクセスしてもサーバーが建ってないと動かないよ。
0202nobodyさん
2007/01/13(土) 09:30:44ID:???その前に、globalかどうかだな。
最近のプロバイダー、セキュリティーや有料サービスとの差別化で
privateがほとんどだし。
0203nobodyさん
2007/01/13(土) 09:35:15ID:Ymy8BY2c0205nobodyさん
2007/01/13(土) 09:40:01ID:???0206nobodyさん
2007/01/13(土) 09:46:18ID:Ymy8BY2c0208nobodyさん
2007/01/13(土) 15:46:01ID:/ix/YWHyPHPのpreg_matchの問題のような気がするため、
こちらで質問させてください。
$template_src = preg_replace("/\\\[/","[",$template_src);
上のように、データ内に存在する\[を、ただの[へ置換したいのですが、
Compilation failed: missing terminating ] for character class at offset 3
という警告が出てしまいます。
これはどのようにすれば解決できるのでしょうか?
ご教授下さいませ。
0209nobodyさん
2007/01/13(土) 15:57:31ID:???0210208
2007/01/13(土) 16:03:53ID:???0211nobodyさん
2007/01/13(土) 16:52:15ID:???PHPが文字列リテラルをパースする際の難点と相俟って面倒なことになってるな。
つ
"/\\\\\[/"
"/\\x5C\[/"
'/\x5C\[/'
0213nobodyさん
2007/01/13(土) 19:14:55ID:???早ければ早いほうを使えばいい。
0214nobodyさん
2007/01/13(土) 19:33:45ID:???0215nobodyさん
2007/01/13(土) 20:06:03ID:???実際のコード
$a=1;
echo bin2hex($a);//とした時に01 00 00 00となってほしい
$a=chr(1).chr(0).chr(0).chr(0);
とすれば、希望のようになる事にはなるのですが256を越えた場合の処理が面倒で・・・
よろしくお願いします
0216nobodyさん
2007/01/13(土) 20:19:09ID:???0217nobodyさん
2007/01/13(土) 20:34:04ID:???0218nobodyさん
2007/01/13(土) 20:40:10ID:???<?php include("スクリプトアドレス/test.php"); ?>
と記述すると、
Warning: main(): Failed opening 'スクリプトアドレス/test.php' for inclusion (include_path='.;c:\php4\pear')
というエラーがでてしまいます。
なんとか解決策をご教授願えないでしょうか?
0219nobodyさん
2007/01/13(土) 21:16:00ID:FzAsO9U8phpファイルを書き出しているんだけど、たまにファイル更新が途中で切れて
エラーが出るんだよね
今は見つけたら管理画面から再構築する処理ができるようにしてあるけど、
あるファイルにPHPの構文エラーがないかチェックする方法ってないのかな?
0224nobodyさん
2007/01/13(土) 23:12:27ID:???shell から php のスクリプトを実行して出力の文字列にエラーが文字列が
含まれているかどうか確かめたら?
というか、そもそもの原因を突き止めたほうがいいぞ
それ何かおかしい
そんなもの自作で作るより素直にテンプレートエンジンを導入したほうが
良いと思うけどな
0225nobodyさん
2007/01/13(土) 23:18:56ID:???管理画面を作っていこうと思ってます。
fileで読み込んで、行毎に「設定名\t値\n」でテキストエディタで開いた時に
わかりやすくするか、全部タブで区切って、項目無しでいくか、どっちが良いでしょう?
PHPを書き出してrequireの方が変数そのまま使えて楽でしょうか?
PHPで書き出すと、書き出しが面倒なのかなとも思います。
管理画面作る場合は他の人はどうやってるのか知りたいです。
やり方による後のメンテの問題とかあったら教えてください。
0226nobodyさん
2007/01/13(土) 23:23:55ID:???定数とか変数とか書いたPHPファイルをincludeすればいいんじゃないかな。
parse_ini_file()
ってのもあるよ
0227225
2007/01/13(土) 23:26:30ID:Xm9uu4fh>>219
携帯絵文字とか文字コードの違うPOSTで「<」が壊れるか
ファイルロック系じゃないでしょうか
0228nobodyさん
2007/01/13(土) 23:30:49ID:???日本語とかが入らないのなら
ini形式が楽だとは思う。
parse_ini_file() で設定読み込めるし
0229nobodyさん
2007/01/13(土) 23:33:06ID:???yamlとかもあるけどPHPではあんまり聞かんわな
0230225
2007/01/13(土) 23:37:35ID:Xm9uu4fhありがとうございます。
そんなのあったんですね!
工夫を考える前にデフォルトの関数暗記した方がよさげですね。
0231225
2007/01/13(土) 23:45:02ID:???何で自分にお礼言ってるんだ俺…
みなさんありがとうございます。
0232nobodyさん
2007/01/14(日) 00:21:20ID:???index.php
/profile
profile.php
/function
config.php
こんな感じのファイル構造だとして、設定ファイル(config.php)を読み込むには
どういう風に書くのが理想なのでしょうか?(エラーが起きにくい
自分の場合は、index.phpから読み込むなら
requre_once("function/config.php"); としています。(つまり相対指定)
0233nobodyさん
2007/01/14(日) 00:24:38ID:???0235nobodyさん
2007/01/14(日) 04:04:24ID:???その範囲中にコメントアウトが記述されているので、
うまくコメントアウトできません。
コメントアウトをネストしたい時はどうすればいいですか?
0236nobodyさん
2007/01/14(日) 04:19:54ID:???頻繁にそういう状況が発生するのなら、プログラムの書き方に問題があるんじゃないかな。
0237nobodyさん
2007/01/14(日) 04:33:49ID:???俺はclassの説明文とかfunctionの説明文以外では使用しないようにしてる。
0238nobodyさん
2007/01/14(日) 06:58:13ID:???バージョン管理システムの導入をおすすめする。
今からならSubversionがいいかと思う。
最初は取っつきにくいと思うが、
その犠牲を払っても有り余る恩恵が得られると思う。
0239nobodyさん
2007/01/14(日) 08:30:07ID:Q6oeoCn/0241nobodyさん
2007/01/14(日) 10:44:33ID:???0242nobodyさん
2007/01/14(日) 10:51:56ID:???0243nobodyさん
2007/01/14(日) 11:01:00ID:???ソフトバンク端末で着メロ(mmf)をダウンロードするとき
着メロのファイル名を指定する方法がわからず困っています
以下のPHPプログラムで着メロを携帯にダウンロードできたのですが
ファイル名がtest.mmfではなく
何故かdownload.mmfになってしまいます。
download.php
<?php
$fileName = "test.mmf";
header("Content-type: application/x-smaf");
header("Content-disposition: attachment; filename=" . $fileName );
header("Content-length: " . filesize($fileName) );
readfile ( ($fileName) );
?>
test.mmfにするには
どのように対応すればよいでしょうか。
0244243
2007/01/14(日) 11:02:36ID:8Jw775ys0245nobodyさん
2007/01/14(日) 11:03:38ID:???他にもmod_rewrite使うとか
0248243
2007/01/14(日) 11:09:57ID:8Jw775ys>>246
すいません、私が悪いんだと思います。
他スレで同じ質問したときに回答して頂いた
情報だったのですが、PATH INFO調べても
イマイチわからなくて、誘導されたスレでも
同じ質問してしまいました
0249nobodyさん
2007/01/14(日) 11:12:28ID:???0250nobodyさん
2007/01/14(日) 11:28:13ID:???0251243
2007/01/14(日) 11:34:51ID:8Jw775ys私の調べ方がダメダメだったようです
php.iniのPATH INFOが無効になっていることに
気づかなかったことが原因です
レスくれた人に感謝します
0252nobodyさん
2007/01/14(日) 11:35:22ID:???という関数はありませんか?
"$array[0] - $array[1] - $array[2]"
こんな感じに変数の間に"-"を間に挟んで、
文字列として返してほしいのですが・・・
0253nobodyさん
2007/01/14(日) 11:38:34ID:???0255nobodyさん
2007/01/14(日) 13:25:40ID:Q6oeoCn/0256218
2007/01/14(日) 13:41:20ID:???そんな器用な事はできんです。
外部っていうのは、別のphpファイルってことです。
なんと呼ぶのが適切かわかりませんが・・・
0260218
2007/01/14(日) 14:07:19ID:???ありがと〜 フルパスでいけました。
php4なんたらってエラーだったのでphpプログラムの問題なのかとおもってしまいました。
Thanks
0261nobodyさん
2007/01/14(日) 14:17:59ID:???基本的に設定か自分のプログラムの問題
phpは結構な商業サービスにも使用されている物だぞ
0262nobodyさん
2007/01/14(日) 14:32:36ID:???026321です
2007/01/14(日) 14:34:15ID:qItO8NuRできたー!!!嬉し過ぎます!!!
ありがとぅございます!!
えーっと、なんか色々勘違いしてiniもApacheもいじくりまわして
、もぅわけわかんなくなって泣きそうでした。
設定はその2つだけだったんですね;
何度もほんとにありがとうございました(ペコリ
よし!がんばって続き勉強しょう!
0264nobodyさん
2007/01/14(日) 14:39:39ID:???そういう心配はもうちょっとレベルが上がってからじゃん?
今回の質問者のレベルで気にするより、マニュアルなり入門書を・・
0265nobodyさん
2007/01/14(日) 14:43:38ID:???突いたらついたでバグ報告して直してもらうなりパッチを寄贈するなりすりゃみんな幸せ。
include時に相対パスを使う時に注意しなければいけないのは、
ブラウザから呼び出された一番最初のPHPファイルからの相対パスになるって事だね。
どこが基準になってるかは、getcwd()で分かるよ。
・getcwd - main script(一番最初)のパス
・__FILE__ - このファイルそのもののパス
0266nobodyさん
2007/01/14(日) 14:49:51ID:???0268nobodyさん
2007/01/14(日) 15:34:14ID:???0269nobodyさん
2007/01/14(日) 16:45:06ID:???0270竜平
2007/01/14(日) 17:17:17ID:???0271nobodyさん
2007/01/14(日) 17:59:25ID:???文字コードは何にしたらいいですか?
0272nobodyさん
2007/01/14(日) 18:11:13ID:???0273nobodyさん
2007/01/14(日) 18:16:11ID:???0274nobodyさん
2007/01/14(日) 18:31:38ID:???携帯の絵文字はshift-jisの外字文字の領域にあって(つまりshift-jisとも言えない)、eucではそれを表現できない。
なのでそれを扱いたいのならそれに応じた処理を書かないと大丈夫とは言えない。
「携帯 euc shift-jis 絵文字」でググればその辺の事情と幾つかの対応策が見つかるよ。
0275nobodyさん
2007/01/14(日) 18:32:25ID:???途中で止める方法がないの?
0276nobodyさん
2007/01/14(日) 18:38:52ID:???-> break。confinueもセットで覚えるべし。
0279nobodyさん
2007/01/14(日) 18:59:44ID:???0280nobodyさん
2007/01/14(日) 19:02:56ID:???そういう奴もいるだろうけど、それはブラウザの対応と一緒。
PCサイトだって、マイナーなブラウザやversionまで対応しないだろ?
今更、NN4.7に対応しているところはほぼ皆無だしな。
0281nobodyさん
2007/01/14(日) 19:20:16ID:???0282nobodyさん
2007/01/14(日) 20:11:46ID:tkWQOn4V↑これは構文エラーが出るんですが、こういうのを上手く1行で処理する方法ってありませんか?
0283nobodyさん
2007/01/14(日) 20:23:56ID:???0284nobodyさん
2007/01/14(日) 20:36:18ID:???0285nobodyさん
2007/01/14(日) 20:38:01ID:???ちょーwww
0287nobodyさん
2007/01/14(日) 20:56:00ID:???0288nobodyさん
2007/01/14(日) 21:02:05ID:???$days=array(〜〜);
$today=$days[$n];
0289nobodyさん
2007/01/14(日) 21:11:15ID:tkWQOn4V$weekday = 0;//0〜6が入ってる。
$weekday = array('日曜','月曜','火曜','水曜','木曜','金曜','土曜')[$weekday];
で、0=日曜、1=月曜って出力したいんだけど、意味が分かったかな?
0290nobodyさん
2007/01/14(日) 21:12:53ID:tkWQOn4Vそうそう。
$weekdayNum = 0;
$weekdayArray = array('日曜','月曜','火曜','水曜','木曜','金曜','土曜');
$weekday = $weekdayArray[$weekdayNum];
を1行で書きたいんだけど。
0291nobodyさん
2007/01/14(日) 21:28:06ID:???今となっては苦い思い出です。
0292nobodyさん
2007/01/14(日) 21:35:46ID:???$weekday = array_search($weekdayNum, array('日曜','月曜','火曜','水曜','木曜','金曜','土曜'));
0294nobodyさん
2007/01/14(日) 22:01:22ID:???ソースのZend/zend_language_parser.yに、>282のように書ける規則を追加すればいいじゃないか。
0297nobodyさん
2007/01/14(日) 23:36:14ID:???0298nobodyさん
2007/01/15(月) 00:11:11ID:???一発で求められる方がずっと可読性高いんだがなあ。
変数が導入されると他で使われないかとか、
何処かで書き換えられるんじゃないかとか考慮する点が多くなる。
が、まあそれができないのなら仕方ないけどね。
0299nobodyさん
2007/01/15(月) 01:17:10ID:???function toWeek($num)
{
$week = array('日曜','月曜','火曜','水曜','木曜','金曜','土曜');
return $week[$num]
}
0300nobodyさん
2007/01/15(月) 01:26:14ID:???普通は1行に色々処理が混ざってると読み難い。
後で曜日使おうと思った時の使いまわし。
sun mon tue…にしたいとか、デザイン切り分けたい時のやりやすさ。
IDE使えば変数の参照なんて勝手にしてくれる。
0301nobodyさん
2007/01/15(月) 01:27:59ID:???ならswitch文で書いちゃえばいいんじゃないの?
> 変数が導入されると他で使われないかとか、
直後にunsetしちゃえば?
> 何処かで書き換えられるんじゃないかとか考慮する点が多くなる。
1行上で定義しているものをどこで書き換えるんだよ。
0302nobodyさん
2007/01/15(月) 02:16:32ID:MepRBIHy※まず最初に、以下に書く「&」とは半角の&のことです。
�@フォームのテキストボックスに ©&copy; と記入する。
�AそれをPHPで受け取り ©&copy; とそのまま表示させたい。
�B要するに、©&copy;を &copy;&amp;copy; に変換したい。
よろしくお願いします。
0303nobodyさん
2007/01/15(月) 02:20:15ID:???0304nobodyさん
2007/01/15(月) 02:23:52ID:???©を入力したいユーザー自身が©って入力するもんだと思う。
サーバはそれをそのまま保存してそのまま表示すればいい。
0305nobodyさん
2007/01/15(月) 03:15:48ID:???無理じゃないです↓
http://www.google.co.jp/search?hl=ja&q=%C2%A9&lr=
0306nobodyさん
2007/01/15(月) 03:39:25ID:???>>302が何をどうしたいのか、はっきりよくわかんないんだけど
「htmlspecialcharsに食わすと、全部&→&amp;変換されてしまうので困ってます」に見えた。
必要な個所だけ「&amp;→&」に戻しましょう、という話じゃないのかな。
0307nobodyさん
2007/01/15(月) 03:45:30ID:???それはUTF-8に含まれてる「コピー(著作権)」の記号でしょう。
それでいいのならそれがリクエストされたら©に変換してあげれば?
0308302
2007/01/15(月) 04:11:48ID:???その、©©を©©に変換してDBにぶち込みたいので
変換方法を教えてください。
0311302
2007/01/15(月) 04:36:49ID:???読みました。
htmlspecialcharsは使ってませんが、使うと全部&→&amp;変換されますね。
>必要な個所だけ「&amp;→&」に戻しましょう、という話じゃないのかな。
そうです。
0312nobodyさん
2007/01/15(月) 04:40:46ID:???0313nobodyさん
2007/01/15(月) 13:46:11ID:674OVm6O0314nobodyさん
2007/01/15(月) 13:54:49ID:???0316nobodyさん
2007/01/15(月) 15:14:47ID:???http://www.amazon.co.jp/exec/obidos/ASIN/4569654967/
0317nobodyさん
2007/01/15(月) 15:21:13ID:QZYdEtmo0318nobodyさん
2007/01/15(月) 15:31:57ID:674OVm6O0319nobodyさん
2007/01/15(月) 15:39:09ID:???お爺さんに諭されているような, 2006/12/26
レビュアー:I "II" (神奈川県横浜市) - レビューをすべて見る
良くある人生訓的な本ですが、他のものと違って
まるで肉親の祖父に諭されているような感じを受ける一冊です。
親しみやすい文体が心地よいです
0320nobodyさん
2007/01/15(月) 15:46:50ID:???0323nobodyさん
2007/01/15(月) 17:58:43ID:???<?php header('Content-Type: text/html; charset=UTF-8') ?>
と書くとエラーが出ます。
エラー文:
Warning: Cannot modify header information - headers already sent by
なぜでしょうか?
0325nobodyさん
2007/01/15(月) 18:11:18ID:???0326nobodyさん
2007/01/15(月) 18:12:47ID:???0327nobodyさん
2007/01/15(月) 18:13:07ID:???違うよ、バカ。
---------file head
あい う<?php header('Content-Type: text/html; charset=UTF-8') ?>
---------
header関数の前に文字列か何かを出力しているだろ。
0329323
2007/01/15(月) 18:50:41ID:???<?php header('Content-Type: text/html; charset=UTF-8') ?>
<html><body>TEST</body></html>
出力結果
Warning: Cannot modify header information - headers already sent by (output started at C:\hoge\test.php:1) in C:\hoge\test.php on line 1
TEST
です。よろしくお願いしいます。
0330nobodyさん
2007/01/15(月) 18:54:51ID:???0331nobodyさん
2007/01/15(月) 18:56:05ID:???<?php header( "Content-Type: text/html; charset=UTF-8" ); ?>
<html><body>TEST</body></html>
これでどうよ?
(ダブルクオートにしたのは俺の趣味)
0335nobodyさん
2007/01/15(月) 19:06:44ID:???http://ml.php.gr.jp/pipermail/php-users/2002-December/012229.html
0336323
2007/01/15(月) 19:13:06ID:???質問する前にそのページ読みましたが解決できませんでした。
ちなみにTeraPad使ってますのでBOM付きじゃないです・・・
0337nobodyさん
2007/01/15(月) 19:16:59ID:???これどうなん?Fortress
0339338
2007/01/15(月) 19:27:26ID:???文字化けして何か入っているじゃないかな?
0343323
2007/01/15(月) 19:30:14ID:???サーバーで、そのファイルをmoreって何でしょうか?
0344nobodyさん
2007/01/15(月) 19:30:59ID:???使ってるTeraPadさんがステータスバーに文字コードを表示してると思うけど
「UTF-8」って書かれてない?「UTF-8N」でなく。
0345nobodyさん
2007/01/15(月) 19:31:32ID:???0346338
2007/01/15(月) 19:32:29ID:???おれも、Unix系詳しくないんだけど、テキストファイルを見るときの
コマンドのことだよ。
moreとかlessとかそんな名前だったような?悪い、そこは他の詳しい人に。
0347323
2007/01/15(月) 19:32:47ID:???UTF-8Nで保存したときの出力結果
TESTL
UTF-8Nで保存したときの出力結果のソース
<html><body>TEST</body></html>L
エラーは出ませんが最後にLと言う文字が…
0348データベースへの接続処理を関数化する方法について
2007/01/15(月) 19:34:30ID:???例 1. mysql_connect() の例
http://jp2.php.net/manual/ja/function.mysql-connect.php#AEN111881
データベースへの接続処理を行なわせて、任意の場所ですぐにmysql_query()を実行できるようにしたいのですが、先にデータベースへの接続を済ませておかないといけないので、どういう処理をすれば良いのだろうか?と思案しました。
http://jp2.php.net/manual/ja/function.mysql-query.php
0349323
2007/01/15(月) 19:35:27ID:???ステータスバーには保存した文字コード(UTF-8)と書かれています
サーバーはローカルのWindowsです
apache2 php5 です
0351323
2007/01/15(月) 19:43:28ID:???あ,すみません。
UTF-8NではエラーなしでちゃんとTESTと表示できました。
UTF-8Nで保存しろってことでしょうか?
0352nobodyさん
2007/01/15(月) 19:47:27ID:???http://ja.wikipedia.org/wiki/UTF-8
0354323
2007/01/15(月) 19:54:33ID:???UTF-8NってBOMなしのUTF-8って意味ですか?
知りませんでした。8Nで保存します。
ありがとうございました。
0355nobodyさん
2007/01/15(月) 19:56:46ID:???なかなかの釣り師w
0356nobodyさん
2007/01/15(月) 20:11:25ID:???と言っておいて「知りませんでした。」
素人の仕業じゃないなw
0357nobodyさん
2007/01/15(月) 20:19:49ID:N+fJDAIZローカルIPアドレスって取得できますか?
192.168.1.10みたいなやつです(DHCPは使っていません)
よろしくお願いいたします
0359323
2007/01/15(月) 20:34:26ID:???googleで調べて、某サイトにTeraPadはBOM付じゃない。と書いてあったので。
>>355
>>356
本当にごめんなさい
0361323
2007/01/15(月) 20:53:30ID:???windows apache2 ローカルサイト(>>349にも書きました)
で遊んでるだけですけど。
参考になりましたでしょうか?
0362nobodyさん
2007/01/15(月) 20:55:31ID:???0363357
2007/01/15(月) 20:56:10ID:N+fJDAIZ即レスありがとうございました
$_SERVERは検索などしていたのですが、もうひとつ分からなくって。。
もう一度検索などしてみます
あとググり方でちょっと教えて欲しいのですが、
php ipconfig
でググると、phpで作成(拡張子が.php)されているページだとコンテンツ内にphpが含まれていなくても
ヒットしてしまう気がするのですが、これって回避する方法ないでしょうか?
0364nobodyさん
2007/01/15(月) 20:58:42ID:???0365nobodyさん
2007/01/15(月) 21:29:42ID:???0366nobodyさん
2007/01/15(月) 21:35:44ID:???0368nobodyさん
2007/01/15(月) 22:32:27ID:???---------------------------------------
上のプログラムだとaが出力されるのですが下のプログラムで「あ」を出力するプログラムに変更するにはどうしたらいいでしょうか??
<?php
$data[1]="aaa";
$str=$data[1];
echo $str[0];
?>
<?php
$data[1]="あいち";
$str=$data[1];
echo $str[0];
?>
---------------------------------------
こんな質問があったんだが
$str = "hogehoge"; としてみると
$str[0] ⇒ h
$str[1] ⇒ o
$str[2] ⇒ g
$str[3] ⇒ e
$str[4] ⇒ h
$str[5] ⇒ o
$str[6] ⇒ g
$str[7] ⇒ e
となるんだけど仕様?
0369nobodyさん
2007/01/15(月) 22:46:34ID:???ttp://www.php.net/manual/ja/language.types.string.php#language.types.string.substr
0371nobodyさん
2007/01/15(月) 23:20:55ID:???0372nobodyさん
2007/01/15(月) 23:28:03ID:???Singletonパターンですが、このパターンを適用するとインスタンスはひとつだけ生成されるという説明でした。
class Singleton
{
private static $instance;
private function __construct()
{
...//コンストラクタな処理をする。
}
public function getInstance()
{
if(!isset(self::$instance))
self::$instance = new Singleton();
return self::$instance;
}
public final function __clone()//インスタンスの複製を許可しない。
{
throw new RuntimeException("だめ");
}
}
$inst1 = Singleton::getInstance();//実際にはこうやって使う。
$inst2 = Singleton::getInstance();//$inst1と同じインスタンスになる。
実際、一回の実行の最中に何回getInstance()メソッドを実行しても帰ってくるインスタンスは同じものでした。
で、一つになったのですが、複数の人間が同時にこのスクリプトにアクセスした場合、インスタンスは同一のものが渡されるのでしょうか?
どなたか心やさしい方がいらっしゃったらご教授いただけると幸いです。
0373nobodyさん
2007/01/15(月) 23:30:35ID:???staticだからまったく同じオブジェクトが使用されるよ。
逆に言えば複数アクセスで問題になるクラスの場合は使うべきではない。
0374nobodyさん
2007/01/15(月) 23:37:04ID:???なるほど。複数人がアクセスする場合も同じインスタンスなのですか。。。
//staticな変数が置かれるメモリってプロセスごとに違うのでしたっけ?
////そもそもPHPのプロセスはひとつでしたっけ…
//////あぁ・・・勉強不足だ私・・・
0375nobodyさん
2007/01/16(火) 00:47:41ID:GnaOUHXQローカルの別ドライブにあるフォルダをscandir()するとスクリプトのあるディレクトリの一覧が返されます。
スクリプト:C:\Apache Group\Apache2\htdocs (C:/Apache Group/Apache2/htdocs)
スキャン先:F:\docs (F:/docs)
ディレクトリの指定方法が間違ってるんでしょうか?
それとも権限等別の問題でしょうか?
0376nobodyさん
2007/01/16(火) 01:23:47ID:???>>373
>>374
複数人アクセスってのは同じサイト(スクリプト)に全く別のブラウザからアクセスって事ですよね?
>>374で自身が言っている通り、インスタンスは全く別のはずですよ。
0377nobodyさん
2007/01/16(火) 02:10:44ID:???0378nobodyさん
2007/01/16(火) 02:15:52ID:???0379nobodyさん
2007/01/16(火) 03:13:56ID:???0380372
2007/01/16(火) 03:14:02ID:???>>376さんのご質問に答えます。
複数人でのアクセスというのは同じスクリプトに別のPCや別のブラウザからアクセスされた場合を想定しております。staticなインスタンスがメモリにおかれるということなので、プロセスが一つなら複数人がアクセスしても同じインスタンスが使われそうです。
/*とはいっても私自身勉強不足なので本当に同じインスタンスなのかわかりませんが…*/
ただ、その場合はどのタイミングでstaticなインスタンスが破棄されるのかとか
いろいろと疑問はつきませんが・・・
あと、CGI版PHPとモジュール版で違うのかとか・・・
0381nobodyさん
2007/01/16(火) 03:36:02ID:???PHPのstaticメンバは「プロセス毎にメモリに配置される」わけではなく、「PHPの実行毎に割り当てられる」ので、アクセス毎に別のオブジェクトになる。
ちなみに、プロセスがどうのこうの言ってるけど、アクセス毎に別プロセスにするかどうかは、Webサーバ依存。
まあ現実問題、Apacheはアクセス毎に別々のプロセスを生成してるけどね。
0384nobodyさん
2007/01/16(火) 04:43:09ID:???Singletonパターンってのは1つのプログラム内でどこで何度生成しても
全て同一のインスタンスを指す、というだけのものであって、
あくまで1アクセス内のみに適用されるものだよ。
0385nobodyさん
2007/01/16(火) 04:53:02ID:???0387372
2007/01/16(火) 05:01:02ID:???皆様のご親切な回答、ありがとうございました。
0388nobodyさん
2007/01/16(火) 06:24:26ID:MadsLSvnどうやったら回避できる?
0390nobodyさん
2007/01/16(火) 06:44:15ID:???また、順序変更する際のデータのとり方がさっぱりなのです。
例)
1〜10のデータ順序をユーザが決定
⇒
順序をPHPに送る
⇒
データベースに順序を格納
この『順序をPHPに送る』際、どのように、ユーザが設定した順序と内部のユニークキーを結び付けるのか見当が付かないのです。
長文になりましたが宜しくお願い致します。
0391nobodyさん
2007/01/16(火) 07:28:52ID:MadsLSvnいや、、たま〜に出るんだよ。5回に1回くらい。
0393nobodyさん
2007/01/16(火) 07:38:58ID:???そんな奇妙な現象が起こっているなら、もう少し発生条件をよく確認した上で、サーバ管理者にその不具合について問い合わせてくれ。
0394nobodyさん
2007/01/16(火) 08:44:53ID:???-リストの文字
-リストの文字
を
<ul>
<li>リストの文字</li>
<li>リストの文字</li>
<li>リストの文字</li>
</ul>
にする方法と元に戻す方法をよろしくお願いします。
スレ違いだったらすいません
0397nobodyさん
2007/01/16(火) 11:45:57ID:???しかも、再現性がなく原因が分からないので、困っています。
自作のphpに問題があるのか、サーバーに問題があるのか、
分からないのですが、このような症状の要因として、
どのようなことが考えられますか。
(症状) サーバーにリクエストすると、またに、画面が白くなります。
もしくはブラウザのエラー画面(ページが表示できません?)が表示されます。
(再現性) 500リクエスト〜1000リクエストに一回程度。
特定のスクリプトに依存せず
(サーバー) レンタルサーバー:xrea
(php) php5
(OS) Linux
0398nobodyさん
2007/01/16(火) 12:25:54ID:???ですが、配列内を検索するのはarray_searchで出来るとして
どうやって検索した文字を出力するのか分かりません。。
何か良い関数などがあるのでしょうか?
0399390
2007/01/16(火) 12:48:45ID:???返答ありがとうございます。
データを送る際のHTML文なんですが、
foreach $data_list as $data) {
<input type="text" name="<? echo $data->seq; ?>">
<input type="text" name="<? echo $data->seq; ?>">
...
}
こんな感じで取ろうとしているのですが,
seqはデータベースのユニークキーであるため、PHP内でうまく取得することができないです。
なにかコツはありますでしょうか?
0400nobodyさん
2007/01/16(火) 12:51:48ID:???0401nobodyさん
2007/01/16(火) 13:08:33ID:???0402nobodyさん
2007/01/16(火) 13:10:13ID:???0404nobodyさん
2007/01/16(火) 13:18:26ID:???$ary = (10,11,12);
$key = array_search(11, $ary);
echo $ary[$key];
0405nobodyさん
2007/01/16(火) 13:24:21ID:???静的なHTMLでも鯖が忙しいときはそうなったりする。
サーバサイドスクリプトだとPOSTしたままで終わったり。
>>401-402
俺が使ってる str_replace と引数の順序が違うように見える。
0406nobodyさん
2007/01/16(火) 13:27:49ID:???意味わかんね
foreachの前の部分も出せば?
<input type="text" name="<? echo $data->seq; ?>">
<input type="text" name="<? echo $data->seq; ?>">
は一行でいいんじゃないの?
0407390
2007/01/16(火) 13:33:58ID:???間違えました…
foreach $data_list as $data) {
<input type="text" name="n<? echo $data->seq; ?>" maxlength="2"><? echo $data->name; ?>
}
でした。
この場合のseqはユニークな数字(1とか23とか)ですので$_POST['n1']などで取る場合、非常にやっかいなのです
0408nobodyさん
2007/01/16(火) 13:47:13ID:???<input type=" hidden " name="seq" value="23">
を使えば?
セッション使ったほうがセキュアだと思うけどさ。
0409390
2007/01/16(火) 14:05:46ID:???それだとユーザが定義した順序が送られてこないと思うのですが…
恥ずかしながら無知なのでそれでユーザが定義した順序を取得する方法が思いつきません
度々すみませんがお願い致します
0410nobodyさん
2007/01/16(火) 14:13:25ID:???0411nobodyさん
2007/01/16(火) 14:56:12ID:???どうやって文字化けなしに読み込めばいいのでしょうか?
$data=file(mb_convert_encoding("test.csv","EUC-JP"));
とかしても駄目でした。
0412nobodyさん
2007/01/16(火) 14:59:57ID:???0415412
2007/01/16(火) 15:18:32ID:???file と mb_convert_encodingの処理順が逆。
0416nobodyさん
2007/01/16(火) 15:34:25ID:???的なサンプルコード知ってる人いますか?
cgiは沢山あるのに…
0417nobodyさん
2007/01/16(火) 15:40:15ID:???もう少し自分で考えるって事をしたら?
HTMLフォームとphpの基礎を学びなおしたほうがいい
まずフォームで必要な情報をまとめて表なりリストにしなさい
まとまったら自分で考えるか、ここにそのリストなり表を書いてみれば
>>407と>>408の内容を合わせれば出来るんじゃね?
とにかくトライ&エラーしてみそ
0418nobodyさん
2007/01/16(火) 15:47:35ID:???cgiでもサンプルになると思うが・・・
Cだろうが、perlだろうがrubyだろうがpythonだろうが、phpだろうが
0419390
2007/01/16(火) 16:41:14ID:???リストにしてみます。
自分では1週間ほど考え抜いたのですが
効率的な方法がどうしても分からないのでまたお力お借りするかと思います。
スミマセンが宜しくお願いしますm(_ _)m
0420nobodyさん
2007/01/16(火) 17:22:33ID:???じっくりとphpに直せばいいんですけど
phpしかしらないので…
また、phpならではの作り方もあるかもしれず
0421390
2007/01/16(火) 17:45:11ID:???master_tbl
data_seq = ユニークキー
name = タイトル名
msg = コメント欄
ip = IPアドレス
number = 標準表示ナンバー
time = 投稿時間
usr_tbl
usr_seq = ユーザキー(ユニーク)
name = ユーザの名前
pass=
ip = IPアドレス
time = 登録時間
usr_num_tbl
seq = ユニークキー
usr_seq = ユーザキー(usr_tblと連動)
data_seq = master_tblと連動(ユニークではない)
number = ユーザ定義表示ナンバー
time = 登録時間
こんなテーブルでユーザが順序を変更するたびusr_num_tblを新たに消して挿入します。
2.フォームで必要な情報
PHPSESSID=usr_seqや名前を格納しておく
0422長文すみません390
2007/01/16(火) 17:55:16ID:???2.フォームで必要な情報
number =master_tblの何番のデータと連動しているか、知るため
seq =ユーザ定義の順序を取る
理想としては<input name="num1" value="1">
このようにnum(数字)でmaster_tbl内部の数値を送り、valueでユーザの順序を得るのがいいのかなぁとおも宇野ですが
これはかなり効率が悪いのです。。
0423nobodyさん
2007/01/16(火) 18:03:17ID:???0424nobodyさん
2007/01/16(火) 18:05:53ID:???0425nobodyさん
2007/01/16(火) 18:09:12ID:???usr_seq と data_seq の二つユニークでいいんじゃね?
俺が理解してないだけか?
0426nobodyさん
2007/01/16(火) 18:22:43ID:???例えば
if($test==""){
echo "testは空です";
}else{
echo $test;
}
というよくあるPHPの分岐があったとして、通常はフォームのボタンを押すなどして
$testに値を入れて判断しますが、それをJavascriptで出来るのかどうか
気になって質問しました。(もちろんJavascriptのスレでないのでソースなどは良いです)
0428426
2007/01/16(火) 18:53:54ID:???わかりずらくてすみません。
用はif内を表示する為には1アクション起こさなければ表示されませんが、
それをJavascriptで出来ないかと思いまして。
(フォームに値を入れたら表示されるなど)
それでやっぱりAjaxなんですね。とりあえず道が開けました。ありがとうございます。
0429nobodyさん
2007/01/16(火) 19:11:49ID:???ここまでまとまってるのに何で出来ないんだろうね、不思議な個だ・・
多分フォームが余り理解できて無い?HTMLは得意?
では今出来ているフォームだけを晒してくださいな。
0430長文すみません390
2007/01/16(火) 19:33:26ID:???ありがとうございます(;ω;)バカなんです…でも必死なんです…
現在はこんな感じです。
<?$i=1;?>
<form action="" method="post">
<? foreach($data_list as $data) {?>
<input type="text" name="n<? echo $data.number; ?>" value="<? echo $i;?>" size="1" maxlength="2"><? echo $data.name; ?><br />
<? $i++;?>
<? }?>
<input type="submit" value="変更">
</form><br />
0433nobodyさん
2007/01/16(火) 19:40:23ID:???好みの問題かもしれないが、今の段階では細切れに<?php〜?>を多用するより、
ヒアドキュメントを使うなりしてソースの視認性を高めた方が良いかも。
0434nobodyさん
2007/01/16(火) 19:41:18ID:???あとこの <? print "玄人にもオススメできない"; ?> を多用するの読みにくいしやめたほうがいいよ。
ttp://cai.cs.shinshu-u.ac.jp/sugsi/Lecture/php/php/6-print.html
にかいてあるヒアドキュメントを使いなさい。
0436長文すみません390
2007/01/16(火) 19:44:54ID:???<form action="" method="post">
<input type="text" name="n1" value="1" size="1" maxlength="2">ほげほげ<br />
<input type="text" name="n2" value="2" size="1" maxlength="2">ふーふー<br />
<input type="text" name="n4" value="3" size="1" maxlength="2">ほげ<br />
…
<input type="submit" value="変更">
</form><br />
n(1〜)はn+内部numberです。
valueはユーザが決める順序になります。
例えば
内部numberが1でvalueが2の場合、テーブルには内部ナンバーとvalueのナンバーを入れていく感じです
0437長文すみません390
2007/01/16(火) 19:48:15ID:???すみません。。。
普段は自作のテンプレート使ってますが、
自分にし
か理解できないと思うのでこんな書き方にしました。
ごめんなさい…
0438nobodyさん
2007/01/16(火) 20:14:24ID:???それが作れて何故これが出来ないのだろう・・
<input type="text" name="1" value="1" size="1" maxlength="2">ほげほげ<br />
<input type="text" name="2" value="2" size="1" maxlength="2">ふーふー<br />
<input type="text" name="4" value="3" size="1" maxlength="2">ほげ<br />
ってやればいいんじゃないの?
標準表示ナンバー1はユーザ指定順番は一番目
標準表示ナンバー2はユーザ指定順番は二番目
標準表示ナンバー4はユーザ指定順番は3番目
ってことじゃなくて?
0439nobodyさん
2007/01/16(火) 20:25:20ID:???0440nobodyさん
2007/01/16(火) 20:31:06ID:???これをまず理解すれ
サニタイズとかは自分で調べてね
<?php
//print_r($_GET);
foreach($_GET as $key => $val){
print "標準通し番号{$key}はユーザでは{$val}<br>";
}
$html .= <<<_EOF_
<head>
<meta http-equiv="content-type" content="application/xhtml+xml; charset=EUC-JP" />
<meta http-equiv="content-style-type" content="text/css" />
</head>
<form action="" method="get">
<input type="text" name="1" value="1" size="1" maxlength="2">ほげほげ<br />
<input type="text" name="2" value="2" size="1" maxlength="2">ふーふー<br />
<input type="text" name="4" value="3" size="1" maxlength="2">ほげ<br />
<input type="submit" value="変更">
</form><br />
_EOF_;
print $html;
?>
0441nobodyさん
2007/01/16(火) 21:44:37ID:???0442nobodyさん
2007/01/16(火) 21:55:07ID:???0444nobodyさん
2007/01/16(火) 22:26:42ID:???0445nobodyさん
2007/01/17(水) 04:04:07ID:gVMvFP3J教えてくれ。
0447nobodyさん
2007/01/17(水) 04:43:36ID:???0448nobodyさん
2007/01/17(水) 11:26:57ID:???$buffer = fgets($fp);
echo $buffer;
}
ファイルポインタが次の行に進むタイミングって、fgetsが1行読み込んだ後ですか?
fgetsは1行読み込むと同時にファイルポインタを1行進めるっていう関数でおk?
0449nobodyさん
2007/01/17(水) 11:27:29ID:cKV9B/mv0451nobodyさん
2007/01/17(水) 12:47:54ID:???0452nobodyさん
2007/01/17(水) 13:51:46ID:???0453nobodyさん
2007/01/17(水) 14:05:08ID:???例えば
$array=array("あああ","いいい",ううう"");
testFunc("$array");
function testFunc($array){
print_r($array);
}
としても表示されません。。
0456nobodyさん
2007/01/17(水) 14:22:26ID:???0457nobodyさん
2007/01/17(水) 14:28:22ID:???ちょっとうまくいかないので、質問させてください。
$method = GET;
$method = "_$method";
print_r($$method);
これはprint_r($_GET);と動作は同じです。
通常これで外部変数が取得できます。
しかしメソッドや関数ないで上記を動作させると、
なぜか$_GETの配列を返してくれません。
メソッドや関数内ではprint_r($_GET)で配列を返してくれるため、
理由がわかりません。どうしてなんでしょうか?
0459nobodyさん
2007/01/17(水) 14:35:27ID:???$array=array("りんご","みかん","バナナ");
$array2=array("りんご","みかん");
for($i=0;$i<count($array2);$i++){
if(array_search(,"$array2[$i]",$array)){
echo $array2[$i];
}
}
こんな感じのを作ったのですが、「みかん」しか表示されません。
それで、$array2の中を$array2=array("","りんご","みかん");
としたら「りんご みかん」と表示されます。どこかおかしいのでしょうか?
0460nobodyさん
2007/01/17(水) 14:37:52ID:???REQUEST使うか素直に分岐したら?
0462459
2007/01/17(水) 14:46:11ID:???とりあえずあまり対策がわからないので、
表示の際は array_unshift($array2,"");
として空の要素を追加するようにしました。
0463nobodyさん
2007/01/17(水) 14:51:36ID:???0466457
2007/01/17(水) 15:00:31ID:???現在こんな感じです
function test () {
$method = GET;
$method = "_$method";
echo $method; //文字列"_GET"
print_r($$method); //出力されない
print_r($_GET); //出力される
}
test();
$method = GET;
$method = "_$method";
print_r($$method); //出力される
echo "<a href=?test=test1>GETの送信</a>";
0467nobodyさん
2007/01/17(水) 16:09:30ID:???なんでそんなトリッキーなことしてるのかが分からん。
しかもGETは定数扱い(定数定義してないから文字列として扱われるけど)だし。
0468nobodyさん
2007/01/17(水) 16:12:03ID:???仕事でこんなんやってたらぶっ叩くわw
0469457
2007/01/17(水) 16:51:21ID:???>>468
GETとPOST入れ替えるだけで、
外部変数が取得できると楽かなと
思っていたのもので・・・
>>460
REQUEST試してみたんですが、なんか変な
文字列が配列に入ってるので、
おっしゃるとおり、GETとPOST分岐してみます。
ありがとうございました。
0470nobodyさん
2007/01/17(水) 16:53:14ID:???職業プログラマというわけではないからな。
0471nobodyさん
2007/01/17(水) 16:56:47ID:???0472nobodyさん
2007/01/17(水) 17:14:41ID:???foreach($hoge as $key=>$var) {
if(in_array($var, $hoge)) 処理;
}
とすると全てクエリがtrueになってしまいます。
foreach内で1つの要素をとるにはどうしたらいいでしょうか?
0475nobodyさん
2007/01/17(水) 17:28:16ID:???0479nobodyさん
2007/01/17(水) 17:44:18ID:???とかもいいかもね
0481nobodyさん
2007/01/17(水) 17:59:34ID:???このスレを見ている人はこんなスレも見ています。(ver 0.20)
SOHOとかフリーとかで細々食えだした奴 十九人目 [Web制作]
Ads by Goooooogle Part73 [Web収入]
疲れた管理人の憩いの場 23 [同人]
Ads by Goooooogle Part72 [Web収入]
組み込みプログラマーこそ真の一流!その4 [プログラマー]
>>471は、「組み込みプログラマーこそ真の一流」と言いたいんだろ。プッw
0482471
2007/01/17(水) 18:09:26ID:???0483軟式PHP
2007/01/17(水) 18:19:26ID:???まぁ、言語論争は他でやってくださいな。
仕事で使ってる人はPHPは手軽にWebアプリを作れる一言語でしかないわけですので。
0484nobodyさん
2007/01/17(水) 18:23:09ID:???だいたいPHPを生業としてるものは、
他の言語もできて当たり前。
0485nobodyさん
2007/01/17(水) 18:43:08ID:???Javascriptで言うところの >>> が使いたいんです。
0486nobodyさん
2007/01/17(水) 19:38:50ID:???どうしてもMSBを使わなきゃならないなら、工夫汁。
0488nobodyさん
2007/01/17(水) 21:28:42ID:???処理
$time_end = microtime(true);
$time = $time_end - $time_start;
この経過時間を計る処理なんですが、
結果で4.6014785766602E-05って、このE-05とかE-06はなんなんでしょうか?
早いのか遅いのかさっぱーり分かりません。。。
0490nobodyさん
2007/01/17(水) 21:46:45ID:???<a href="edit.php?id=<?=$id?>">編集する</a>
のリンクから次のページに値を渡し、echo $idなどで表示していたのですが、
違うサーバで試した時、それでは動きませんでした。
それで後に次ぎページで表示する際はecho $_REQUEST["id"]としないと
URL上の変数を表示出来ないみたいなのですが、
これはregist_globalがonになってないからですよね?
また、今後はecho $_REQUEST["id"]という書き方で統一した方が良いのでしょうか?
0491nobodyさん
2007/01/17(水) 21:57:54ID:???0493nobodyさん
2007/01/17(水) 22:57:33ID:???わかりました。サーバを変更して初めて気づいたので
早速、プログラムのソース内全部書き替えます。
ありがとうございました。
0494nobodyさん
2007/01/17(水) 23:19:31ID:I/eWBx8l0495nobodyさん
2007/01/17(水) 23:33:02ID:gVMvFP3J0496nobodyさん
2007/01/17(水) 23:36:59ID:???一般論で言えば理系の演算で用いられる極端に小さい数値や極端に巨大な数値を表現するためにある。
小数点を表現するだけなら浮動小数点以外にも固定小数点という仕組みも世の中には存在する。
固定小数点では誤差という問題が発生しないが浮動小数点では常に誤差の問題に悩まされる。
COBOLなどの事務計算向け言語では固定小数点方式が用いられている。
しかしPHPには浮動小数点以外に小数点を表現する仕組みは標準では用意されていないので
浮動小数点=小数点を使うためにある、という理解でOK。
0498nobodyさん
2007/01/17(水) 23:39:37ID:gVMvFP3Jそしたら、フレームワーク使えなくね?
0501nobodyさん
2007/01/17(水) 23:54:22ID:???, -‐.:.:.:.:.:.:.:.:.:.:.:.:‐- 、
/:.:..:.:.:.:.:.:.:.:.:.:.ヽ、:.:.:.:.:.ヽ
/.:.:,r─-----─¬尸:.:.:.:.:.:l
/.:.:/{-─、 _,─-尸:.:.:. ||
| i{ |!:.:.:.:.::|:.| えっ、phpてそれ以上にスゲー事できんの!?!
レー| ◯ ◯ イ:.:/.:/.:|rァ
{ ハ! ' ' ' ' 'ノイィ介//')
ト、j| r‐--─‐、 に'// /
ノ:ハ:.ヽ、 |/ ̄ ̄ } /-イ/ 厶
/ ̄ ̄ `ヽ:.:.\───' イ川:/ { /
/ \父_ー-‐ '´ /ノ.:.:/ | !
/ ヽ 〉 \ 厶‐、/ lノ
厂 \ / {⌒>'´ ヽ\ イ
/ \,-┴‐n< \ヾ |
0503nobodyさん
2007/01/18(木) 00:18:53ID:u+PvmfUj販売している所などございましたら教えていただけないでしょうか?
0504nobodyさん
2007/01/18(木) 00:34:58ID:???PHPの公式マニュアル
http://www.php.net/manual/ja/
↑これと同じ内容の本は売ってないと思いますが、上記サイトのページを全部印刷したらいいんじゃないでしょうか?
全部印刷したら何ページくらいになるんだろう?
http://www.phppro.jp/phpmanual/
↑こんなサイトもありました。
PHPプロに頼んで本を出してもらえないですかね?
0506nobodyさん
2007/01/18(木) 01:07:25ID:???0509503
2007/01/18(木) 01:28:20ID:???>>504
それも考えたのですが、製本作業をしないと見づらそうなので。
>>506>>508
一度読み通すために紙媒体が欲しくて。。
無いようなので、製本サービスに依頼するか、電子ペーパーブックを検討してみようと思います。
ありがとうございました。
0510ふ
2007/01/18(木) 01:42:54ID:QmQzu1gN0511nobodyさん
2007/01/18(木) 02:32:01ID:???0512nobodyさん
2007/01/18(木) 02:43:03ID:???0513nobodyさん
2007/01/18(木) 03:11:54ID:???インターネットが使えないから、仕方なく製本したいんだ。
0514nobodyさん
2007/01/18(木) 03:17:34ID:dfwRUKzsASPとMySQLを連携させて、既にHPを作っています。
さらに機能を拡張させるため、PHPを導入しようと思いまして、
設定でISAPIフィルタに「php5isapi.dll」を読み込ませたのですが
それをすると元のHPが表示されなくなってしまいます。
原因が分かる方いましたら、よろしくお願いします。
0516nobodyさん
2007/01/18(木) 03:37:41ID:???そんなことしてたら言語の特徴やら機能の全体像を把握できない。
歯抜けの断片的な知識なんかより、2〜3日かけてリファレンスを
熟読して全体像を把握した方が断然早いし楽。
…素人さんなら別だけどね
0517nobodyさん
2007/01/18(木) 03:38:04ID:???同じ機能で複数のI/Fの関数があったりするんで
リファレンス全体に1度目を通しておくのは確かに基本。
書いて覚えようとすると知識が偏る。
0518nobodyさん
2007/01/18(木) 03:41:27ID:???0519nobodyさん
2007/01/18(木) 03:42:41ID:???0520nobodyさん
2007/01/18(木) 03:56:17ID:???いきなりリファレンス通読はやめといたほうがいいんじゃ
0521nobodyさん
2007/01/18(木) 05:00:35ID:???0522nobodyさん
2007/01/18(木) 07:03:33ID:???PHP4とふるいけど、基礎的なことはわかるから、
ttp://www.net-newbie.com/support/pdf2/
これでも読んどけと。
まぁ今となってはあまり書かない書きかたしてたりするんで、
マニュアルとあわせて読むと効果的。
0523nobodyさん
2007/01/18(木) 10:49:38ID:Ra9i1bGqしたいんですが どうやってカレントURLを取得したらいいのかがわかりません
(PHP4.3.2)
何か良い方法をご存知の方 ご教授いただけると幸いです
0525457
2007/01/18(木) 12:00:47ID:???送信できないんでしょうか?
GET見たいにリンク形式では不可能ですか?
0526nobodyさん
2007/01/18(木) 12:07:33ID:???0527nobodyさん
2007/01/18(木) 12:08:35ID:???それらを使うプロジェクトで即戦力になるかな
0531nobodyさん
2007/01/18(木) 12:53:31ID:???http://hoge.com/a/b/c/d.html
というリクエストあったら、
hoge.com/index.php
実行して、「a/b/c/d.html」は変数として受け取りたいんだけど、
そういうことはPHPだけでは不可能ですか。
やっぱりサーバ設定しないとだめですよね。
サーバはindex.htmlと、index.phpを自動的に表示するようになってる。
0532nobodyさん
2007/01/18(木) 12:59:49ID:???同じような質問
ttp://oshiete1.goo.ne.jp/kotaeru.php3?q=1418972
http, https の $_SERVER を見比べて判別するしかないんじゃね?
0534nobodyさん
2007/01/18(木) 13:16:17ID:???できないよ。普通に404not found。
http://example.com/index.php/a/b/c/d.html
ならできるけど。
>>531
mod_rewrite
0535nobodyさん
2007/01/18(木) 13:24:35ID:???$arr['d']='a';
$arr['c']='b';
$arr['b']='c';
$arr['a']='d';
とあったとして、ループを $arr['b'] からはじめたいのですが、
どうやったら効率がよいでしょうか。
current($arr); とか each($arr); だと先頭の $arr['d'] の値を返して、
配列カーソルを1つ勧めるわけですが、一気に $arr['b'] から始めたいのです。
キーが 'b' だということはわかっているので。
php だとキーが数字じゃなくても、実際順番はあるわけで、
$arr['b'] のポインタは 2、 みたいなかんじで取得できてもおかしくないとは思うのですが、どうにも見つからないもので。
0536nobodyさん
2007/01/18(木) 13:25:50ID:???0537nobodyさん
2007/01/18(木) 14:01:26ID:???section内で$hoge[$foo]みたいなことしたいのですが、どのようにやれば出来ますでしょうか?
{section name="val" loop=$data}
{$hoge.$foo[val].name}
{/section}
でできませんでした…
0538nobodyさん
2007/01/18(木) 14:27:03ID:???0539nobodyさん
2007/01/18(木) 15:08:23ID:???phpをhtmlとして表示とか、できそうだねw
偽装しまくろぅwww
0540nobodyさん
2007/01/18(木) 15:10:16ID:???ヤフーオークション ID / Pass 【ボタン】
楽天 ID / Pass 【ボタン】
イトレード証券 ID / Pass 【ボタン】
のようなフォームを作り【ボタン】を押すと、新たなブラウザ(タブ)が開き
Yahooオークションのページへ進み、IDとPassが自動で入力され、ログイン後の画面に進む
このようなスクリプトをこしらえたいのですが、どういうロジックで進めばいいか悩んでいます
fopenでYahooオークションのURLをひっぱり、ソースにIDとPass情報を追加させて、HTMLを表示させようとしたのですが無理でした・・・
皆様のご意見お願いします
0543nobodyさん
2007/01/18(木) 15:30:53ID:???自分用です
実際、IDとPassはDBにMD5で格納してそれを呼び出す感じですが
どうにも既存サイトのIDとPass入力を自動化させるスクリプトが思いつかないのです
0544523
2007/01/18(木) 15:31:09ID:Ra9i1bGq>>532
ご回答ありがとうございます
ちょっと予定とは異なりますが リンク元のURLを表す$_SERVER["HTTP_REFERER"]
を用いました
現在のURLではなかったため 結構大変でしたが 何とかできました
ありがとうございました!
0546nobodyさん
2007/01/18(木) 17:02:37ID:???$_SERVER["SERVER_NAME"].$_SERVER["SCRIPT_NAME"]
とかじゃだめなん?
0547nobodyさん
2007/01/18(木) 17:21:05ID:???> 無理でした・・・
じゃ、何が無理なのか不明。
> IDとPassはDBにMD5で格納してそれを呼び出す感じ
MD5は復号できないから、なにをしたいのか全くわからん。
0549nobodyさん
2007/01/18(木) 17:55:11ID:???>じゃ、何が無理なのか不明。
頭の中で描いてみたら、ソースにIDとPassを追加させて保存
保存されたHTMLってYahoo鯖にはないわけだから当然弾か
れるという結論になって無理と書きました
MD5はそうですね・・・そうですよねorz
どうしたもんだか、、、時間ばかり過ぎていく
0550nobodyさん
2007/01/18(木) 18:02:35ID:???それらのサイトを見てはいないんだけど、
ログインのページにあるフォームをPOSTしてやるスクリプトじゃ駄目なの?
0551nobodyさん
2007/01/18(木) 19:34:30ID:???実際の値とソース見ないと分かりにくいよ
foreach内で
continue;
break;
を工夫してみれば?
0552nobodyさん
2007/01/18(木) 19:41:58ID:YjXpax59http://example.com/hogehoge/
というURLを
http://hogehoge.example.com/
でもアクセスできるようにするにはどうすればいいですか?
例)
http://example.com/hogehoge/⇒http://hogehoge.example.com/
http://www.example.com/hogehoge/⇒http://hogehoge.example.com/
0553nobodyさん
2007/01/18(木) 19:42:52ID:tMFu2Al50555nobodyさん
2007/01/18(木) 19:47:53ID:YjXpax59有難うございます
.htaccessでできると思ってました^^;
・・・なのであきらめます
0556nobodyさん
2007/01/18(木) 19:54:47ID:???.htaccessが使える環境であれば
mod_rewriteは.htaccessで出来るよ。
0557nobodyさん
2007/01/18(木) 20:58:23ID:???0558nobodyさん
2007/01/18(木) 21:15:01ID:???「サブドメインの設定は.htacessで出来ると思っていたんだけど、出来ないから諦めるよ」っていうことかも。
0559nobodyさん
2007/01/18(木) 21:57:20ID:???0560nobodyさん
2007/01/18(木) 22:29:27ID:98uytmcYはてなダイアリーみたいに
自動でキーワードリンクがつく
プログラムを作りたいんですけど
どう書けばいいですか?
仕組みがまったく想像できません。
0561nobodyさん
2007/01/18(木) 22:37:53ID:???0562nobodyさん
2007/01/18(木) 22:53:21ID:98uytmcY0563nobodyさん
2007/01/18(木) 22:59:15ID:???0565nobodyさん
2007/01/18(木) 23:07:24ID:???0566nobodyさん
2007/01/18(木) 23:08:55ID:???ここは一応プログラムを作る人のスレだし
0567nobodyさん
2007/01/18(木) 23:23:08ID:???はてなのキーワードの仕組み
ttp://d.hatena.ne.jp/hatenadiary/20040205/1075960162
正規表現でごっそり処理して美味しく戴きます
0568nobodyさん
2007/01/18(木) 23:35:49ID:ZHXjE+dxキーワードサーチしてあったらアンカーで囲って
URLにキーワードのクエリ入れればOK。
キーワード登録の仕組みと、キーワードに何でもかんでも登録できないように
制限を考えるのが面倒そうだ。
はてなは日記を何回も更新しないと、キーワードの記者には
なれないって仕組みで対処してる。
接続詞とか、1文字とか全部弾かないとダメだな。
じゃないと全部キーワードになっちまう。
後、キーワードリストの並び順を文字数が少ない順に一回ソートしないと
キーワードリンクの中にキーワードリンクが入っちまう。
でも実際は長いワードにマッチした方が実用的だ。
一回マッチしたらその中はマッチさせないとか必要になってくるのかな。
0569nobodyさん
2007/01/18(木) 23:37:32ID:???正気の沙汰とは思えないサイズだ
はてなってやっぱスゲーな
0570nobodyさん
2007/01/18(木) 23:46:48ID:???これが数万とか数十万オーダーになったらどうなる?
あとキーワード中にたとえば「電話機」と「電話」ってのがあったとして、
どっちをマッチさせる? 通常最長の方だけど、どう管理する?
とか考え始めると一筋縄ではいかない。
はてなはすごいと思いますよ。
0571nobodyさん
2007/01/19(金) 00:19:22ID:???投稿があってから、長い処理を経て、結果が保存されて
閲覧はその書き出されて固定されたデータとか。
1週間に一回くらい書き直していくとか。
0572nobodyさん
2007/01/19(金) 00:31:43ID:???文書と単語のハッシュを巨大なbitにマップして文書に
単語が含まれているかどうか単純なand演算だけでフィルタしたりとか(これはPHPでは面倒そう…)、
いろいろやりようはあると思う。
リアルタイムでやらなきゃいいってのも一つの手だけど、
どれくらいの頻度で文書が増えていくかにもよるよね。
0573nobodyさん
2007/01/19(金) 00:41:07ID:???オレがやってたネトゲはホームページ上からログインして
メンバーページからクライアントプログラムを起動するんだが、
メンバーページまでのログイン処理をやってくれるjsスクリプトなら誰かが作ってくれてたよ
php関係ないからsage。
0574560
2007/01/19(金) 01:53:53ID:74ZAn3Ei初心者には無理っぽいので
あきらめます。
0575nobodyさん
2007/01/19(金) 01:55:23ID:???file_get_contents使ってページの内容を読み込んで、
onloadされたらID/PWを入力してsubmitするJSをphpで仕込んで表示すれば良いんじゃね?
0576nobodyさん
2007/01/19(金) 01:58:39ID:???いや、foreach, continue, break では一気にすっ飛ばす要素がどこにもないわけで。
$arr['d']='a';
$arr['c']='b';
$arr['b']='c';
$arr['a']='d';
$keys = array_keys($arr);
$i = array_search('b', $keys);
// $arr[$keys[$i]] == $arr['b'] == 'c'
// $arr[$keys[$i+1]] == $arr['a'] == 'd'
こんなかんじにすっとばしたいわけです。
が、array_search はおそらく順繰り比較していると思うので $i を見つけるまでに時間がかかる。実質すっとばしていない。
$arr['b'] は即座に値を見つけられるわけで、即座に $arr['b'] のポインタ (current) を見つけられてもいいのにな。という話です。
0577nobodyさん
2007/01/19(金) 02:37:09ID:1l3/TpIO私は、
http://otoku777.lxl.jp/
で、毎月30万以上は貰っています。
フリーメールでも登録(応募)できるしね。
まだ登録(応募)してない人はしたほうが良いよ。
http://otoku777.lxl.jp/
0578nobodyさん
2007/01/19(金) 03:34:43ID:/UQbmip1専用の関数ってありますか?
0579nobodyさん
2007/01/19(金) 03:35:29ID:???0580nobodyさん
2007/01/19(金) 03:49:35ID:???0582nobodyさん
2007/01/19(金) 07:28:19ID:/UQbmip1既存のアクセス解析ツールなんかだと
リファラと検索ワード取得できてるけど・・・。
0583nobodyさん
2007/01/19(金) 07:36:57ID:???0584nobodyさん
2007/01/19(金) 07:36:58ID:???専用関数はあるかどうかしらんが、その方面ならできるね。
GoogleだとエンコーディングはたしかUTF-8で、
それがリファラにURLエンコーディングされた形で渡ってくる(こともある)から、
そいつを記録しとけばいいんじゃないの。
とまあ、以上にちりばめたキーワードで適当にぐぐれば何かとヒントが出てくると思うよ。
0586nobodyさん
2007/01/19(金) 08:37:34ID:???0588nobodyさん
2007/01/19(金) 09:35:40ID:???っていうか自分用ならSleipnirのスクリプトを書いた方が早いし簡単。
既存のものでAutoLoginとかあるし。
0590nobodyさん
2007/01/19(金) 09:57:24ID:???0593nobodyさん
2007/01/19(金) 10:05:18ID:???ま、サーバーには「****」が送られるけどw
ソースを見る時だけ「****」で、値は「12345」を送るなんて都合のいい事は無理だがね。
0596nobodyさん
2007/01/19(金) 10:22:43ID:SA/XQFQX英文のスパムが来るようになりました
日本語を含む文章だけ送信できるように
改造したいのですが
どういう文章を追加したらよいか教えてください。
0598nobodyさん
2007/01/19(金) 10:28:18ID:???管理画面でいろんな人のIDやパスワードを保存してあるんだけど
べつの人の情報も見れるようにしてあるのでパスワードは見られたら
困るから*にしてばれないようにしたい。
0600nobodyさん
2007/01/19(金) 10:31:38ID:???0601nobodyさん
2007/01/19(金) 10:33:39ID:???0603nobodyさん
2007/01/19(金) 10:38:03ID:???探すと小規模なものはいくつか見つかるんですが、一般的なものってあるんでしょうか?
0604nobodyさん
2007/01/19(金) 10:41:10ID:???目的が分からん。
HTMLのソースにも入れない=送信不可能、になるわけだけど、データの送信は不要なの?
だったら単に<input type=text value="*****">でいいと思うけど。
いっそ<input>も使わず*****と直接書いちゃってもいいと思う。
0605nobodyさん
2007/01/19(金) 10:42:49ID:???パスワードを暗号化(又はハッシュ化)しないで保存するのはセキュリティ的にNG…
というのが、定説。
なんでパスワードなんか表示する必要があるのかわからん。
しかも<input>タグで…。
0606nobodyさん
2007/01/19(金) 10:46:03ID:???あほすぎる
0607nobodyさん
2007/01/19(金) 11:39:29ID:???[名前フォーム] | [パスワードフォーム]
で一覧表示していて、変更可能になっていて、空にしちゃうと
Submitするときに全部カラになっちゃうからデフォルトで入れたいとかエスパーしてみる。
0609nobodyさん
2007/01/19(金) 12:08:13ID:+33hGGFpかっくい〜!
0610nobodyさん
2007/01/19(金) 13:33:28ID:???0612nobodyさん
2007/01/19(金) 14:32:04ID:???0613nobodyさん
2007/01/19(金) 14:41:44ID:???詳しくはマニュアルへ。
0614nobodyさん
2007/01/19(金) 14:58:19ID:???$int = 4789;
こんな感じのソースで、
$intに一番近い数字を配列の中から探し出したいのです(この場合1000)
そんなことを簡単に実現するような関数はありますか?
0616nobodyさん
2007/01/19(金) 15:21:35ID:???標準関数は無いだろうな(私は知らない)
ループして、$intとの差を順番に比較していって
一番差の少ない値を求めるしかないんジャマイカ?
0619nobodyさん
2007/01/19(金) 15:30:53ID:???「配列」って一応キーワードを入れたつもりだったんだが。
関数名より、マニュアルトップページから検索出来る方がいいと思って。
0621616
2007/01/19(金) 15:44:22ID:???適当に書いてみた。
$arrays = array(10, 100, 1000, 10000, 100000);
$int = 4789;
rsort($arrays);
$minimum_diff = $arrays[0];
foreach($arrays as $val){
$diff = abs($val - $int);
if($minimum_diff > $diff){
$minimum_diff = $diff;
$minimum_val = $val;
}
}
print $minimum_val;
0622nobodyさん
2007/01/19(金) 15:46:27ID:???(XXにID ZZにPWを入力)
## JavaScript:(function(){document.body.innerHTML=document.body.innerHTML.replace
## (/NAME="Email" VALUE=""/g,'name="Email" value="XX"');
## document.body.innerHTML=document.body.innerHTML.replace
## (/TYPE="password"/g,'type="password" value="ZZ"');
## document.forms[0].submit();
## })();
これのPHP版は作れないものでしょうか?
0625nobodyさん
2007/01/19(金) 15:57:16ID:???0629nobodyさん
2007/01/19(金) 16:19:52ID:???面倒くさくて嫌だなぁ。
0630nobodyさん
2007/01/19(金) 17:00:32ID:???実装されないだろう
0631nobodyさん
2007/01/19(金) 17:47:43ID:???0632nobodyさん
2007/01/19(金) 17:54:10ID:P38t/vZnどうしても嫌ならjavaでもやればいいと思うが
0633nobodyさん
2007/01/19(金) 18:07:08ID:???$iXXXX … 整数型
$strXXXX … 文字列型
など
0634nobodyさん
2007/01/19(金) 18:23:09ID:???「test」「guest」「pass」を分けて変数に入れたいのですが、どうすればよいでしょうか?
よろしくお願いします
0635nobodyさん
2007/01/19(金) 21:48:04ID:3c0iN0iLディストリはsuse10.0です。
よろしくお願いします。
0636nobodyさん
2007/01/19(金) 22:06:44ID:???0638nobodyさん
2007/01/19(金) 22:54:39ID:XwzELT8lHTMLフォームを利用しないでアップロードできないでしょうか?
(要するに、参照せずに自動的に任意のファイルをアップロードしたいのです。)
どうでしょう? 可能ですか?
0639nobodyさん
2007/01/19(金) 22:59:28ID:???ユーザの任意のファイルを自動で手に入れられる訳ですね。
0640nobodyさん
2007/01/19(金) 23:00:30ID:???0641nobodyさん
2007/01/19(金) 23:06:06ID:XwzELT8lそうなっちゃいますね。。。
画像ファイルだけなんですけどね。取って来るのは。。。
無理ですね。。。はぁ。
やっぱ、素直にFTPとかで画像ファイル送るしかないんかな。
0643nobodyさん
2007/01/19(金) 23:27:38ID:3c0iN0iLディストリはsuse10.0です。
よろしく説明お願いします
0647nobodyさん
2007/01/20(土) 01:12:42ID:/6Q5JJje同じプログラムをれんさばで動かしたら
動いたのでサーバー側の問題だと思います。
エラーメッセージはあとでアップするので
おねがいします
0648nobodyさん
2007/01/20(土) 03:01:18ID:???0650nobodyさん
2007/01/20(土) 10:29:45ID:+1gEJG5nDB.php
って、PEARかな?
0651nobodyさん
2007/01/20(土) 10:55:48ID:???ここの方達で解決できないような難題だとしたら教えてgooで聞いてきます。
0652nobodyさん
2007/01/20(土) 11:01:56ID:???0653nobodyさん
2007/01/20(土) 11:20:11ID:???PEARでもAPPLEでもなく
僕はCHERRYでした。><
0654nobodyさん
2007/01/20(土) 11:54:39ID:???Shift-JISの場合、文字化けします。(元ファイルがEUC-JPの場合)
mb_convert_encodingを使うと思うのですが、どの部分でどう使えば
適応されるかわかりませんし、うまく行きませんでした。。
例えば下記のようなソースの場合、どうすればいいのでしょうか?
$fp=fopen("http://***.com");
$line=fgets($fp);
print_r($line);
0655nobodyさん
2007/01/20(土) 11:59:13ID:2R+sYSL0派生クラスで hoge() がオーバーロードされたいた場合
派生クラスの方が呼び出されるんですか?
自分のクラスの中のメソッドを明示的に呼び出したいなら
self::hoge() とすべきですか?
0657nobodyさん
2007/01/20(土) 12:31:50ID:+1gEJG5nPHPのディレクトリって、どこだ?
/usr/local/lib/php
とかだったら、PEARなんだがねw
0658nobodyさん
2007/01/20(土) 12:39:30ID:apT1PIiMCドライブにいつの間にかADSServiceっていうテキストファイルが作られてました。
他にも似たようなファイルが3つくらいありました、スパイウェアか何かでしょうか、ものすごく怖いですTT
0659nobodyさん
2007/01/20(土) 12:53:40ID:apT1PIiM0660nobodyさん
2007/01/20(土) 12:56:16ID:???0661nobodyさん
2007/01/20(土) 16:25:17ID:dyYgBfVX今日はじめて、phpをインストールして。
テストで、print("hello");
こんなかんたんな、出力をさせました。
そして、IEを終了させると、
"問題が発生したため、IEXPLORE.EXEを終了します。〜"
なんてのが現われます。
原因としては何が考えられますか?
すみません、こんな質問ですがお願いします。
0663nobodyさん
2007/01/20(土) 16:35:34ID:dyYgBfVX糞初心者ですみません。
となると原因はなんなんでしょうか?
0664nobodyさん
2007/01/20(土) 16:37:34ID:???あの〜〜、問題も何も「IEを終了させると、」だから、
「 "問題が発生したため、IEXPLORE.EXEを終了します。〜" 」
って出るのは普通だろ。それで終了しなかったら異常事態だが。
0665nobodyさん
2007/01/20(土) 16:40:19ID:???これをダブルクォートくくり相当にするか、シングルクォートでくくった文字列の中の変数名を
パースする方法はありますか?
0668nobodyさん
2007/01/20(土) 16:48:48ID:jfiH3bl8このwordの文字を「a'b"c」と表示させることはできたのですが
URLの文字をそのまま「a%27b%22c」と表示させることができません。
簡単にスクリプトを書きましたがうまくいきませんでした。
<?php
$word = $_GET["word"];
print $word;
?>
あといろいろやってみましたがうまくいきませんでした。
先輩方、よろしくお願いします。
0669nobodyさん
2007/01/20(土) 16:53:21ID:???$_GETとかはデコードされたデータだから
0670nobodyさん
2007/01/20(土) 16:59:26ID:???0671nobodyさん
2007/01/20(土) 17:06:00ID:???IEが糞
だと思う
>>668
お前の先輩になったつもりは無い
print_r($_SERVER)
で所望のが出るような気がする
0672668
2007/01/20(土) 17:08:58ID:???ありがとうございます。
しかしながら
<?php
$word = $_GET["word"];
$word = urlencode($word);
print $word;
?>
とやってみましたが
「a%5C%27b%5C%22c」と表示されてしまい
「a%27b%22c」とは表示されませんでした。
「a%27b%22c」と表示させたいので
「a%27b%22c」と表示させるにはどうしたらいいでしょうか?
0674nobodyさん
2007/01/20(土) 17:20:05ID:???>「a%27b%22c」と表示させたいので
>「a%27b%22c」と表示させるにはどうしたらいいでしょうか?
echo "a%27b%22c";
0676nobodyさん
2007/01/20(土) 17:37:20ID:???0677nobodyさん
2007/01/20(土) 17:39:06ID:???0678nobodyさん
2007/01/20(土) 17:39:21ID:KP/kHuU7「PHPによるデザインパターン入門」を読みながらデザインパターンを勉強してるのですが、
シングルトンパターンを使った場合、どのレベルでただ一つのオブジェクトとして機能するのでしょうか?
例えば、「そのPHPの動いているパソコンでただ一つ」なのか、
それとも「いま接続しているユーザーのsessionの中でただ一つ」なのか?
それとも「いま実行してるファイル内においてただ一つ」なのか?
ご存知の方いらっしゃいましたら、お教え願います。
0683nobodyさん
2007/01/20(土) 19:48:49ID:???エンコードしたらデコード。これ定説
0684nobodyさん
2007/01/20(土) 20:29:55ID:???index.php?hoge=a%27b%22c
というURLのGETの変数hogeのデコードされてないデータ「a%27b%22c」をHTMLに表示させたい。
要するに「a%27b%22c」をHTMLに出力したい。
#他の質問でもそうですけどわからない人はレスしないでください
#こういうこと書きたくなかったけど鬱陶しいレスが多いので…
0686684
2007/01/20(土) 20:46:48ID:???もう構わないでください。解決しました。
やはりというか、自分で調べたほうが勉強になりました。
しかし他の質問でもそうだけど、質問の意味も理解できずにレスするやつ鬱陶しいよね
0687nobodyさん
2007/01/20(土) 23:45:10ID:???0688nobodyさん
2007/01/20(土) 23:46:10ID:???0690nobodyさん
2007/01/21(日) 06:18:46ID:???0691nobodyさん
2007/01/21(日) 11:08:16ID:Y0OZFz+Sあれば教えて頂けると幸いですm(_ _)m
0692nobodyさん
2007/01/21(日) 12:11:17ID:08MwJFVu突然プログラムが実行されなくなりました
.phpを保存か開くか質問するダイアログがでます
何が原因でしょう?わかる方教えてください
ちゃんと動かなくなった時に動かしてたプログラムは
フォームに名前を入力して送信→同階層の.phpで受けて
送信した名前を表示するものです
その後はhello worldすら実行しなくなりました
助けてください、よろしくお願いします
0693nobodyさん
2007/01/21(日) 12:16:47ID:???0694nobodyさん
2007/01/21(日) 12:24:22ID:???0695nobodyさん
2007/01/21(日) 13:14:06ID:7pzdx2CI$fp = fsockopen("udp://127.0.0.1", 13, $errno, $errstr);
if (!$fp) {
echo "ERROR: $errno - $errstr<br>\n";
} else {
print "$fp";
}
?>
このようにUDP接続を行い、目的のデータを取得しようとしているのですが上手くいかないのです
具体的にはResource id #等と表示され目的のデータを取得できません
どのようにすれば取得できますか?
0696nobodyさん
2007/01/21(日) 13:16:54ID:???http://jp.php.net/fsockopen
0697nobodyさん
2007/01/21(日) 13:22:43ID:7pzdx2CIそこのテンプレート通りにやってもうまく行かないのですが・・・
0698nobodyさん
2007/01/21(日) 13:24:34ID:???0700nobodyさん
2007/01/21(日) 13:54:37ID:HMt1hfg+ファイルポインタですか?
>>697で言った通り
テンプレ↓
<?php
$fp = fsockopen("udp://127.0.0.1", 13, $errno, $errstr);
if (!$fp) {
echo "ERROR: $errno - $errstr<br />\n";
} else {
fwrite($fp, "\n");
echo fread($fp, 26);
fclose($fp);
}
?>
でやってもうまく表示されないんです
0702695
2007/01/21(日) 14:04:56ID:???windowsXP sp2
PHP4.4.4
サーバは 04Webserver
です
>>700の通り行った結果→タイムアウト(ページが表示できません)
0703nobodyさん
2007/01/21(日) 14:08:09ID:???localhostに接続できてるのか、$fpは取れているのか、書き込みで失敗しているのか
0704nobodyさん
2007/01/21(日) 14:25:08ID:???0708nobodyさん
2007/01/21(日) 14:51:24ID:08MwJFVuありがとうございます
ただ、おかしくなる前と今でhttpd.cofに変更を加えてないんです
同条件で動かなくなりました
まだ試してみますが、他の可能性についても気が向いたら教えてください
0709nobodyさん
2007/01/21(日) 14:52:40ID:xp0A917Whttpd.confが変更されてないことを確認した?
0710nobodyさん
2007/01/21(日) 17:38:28ID:Fae6i/Ozとするとき、正規表現を用いてUNKOを他の変数に代入することは出来ますか?
// Perlにおける↓のようなもの
$aaa =~ s/<!--(\w+)_START-->/$aaa/g; // $1にUNKOが代入される
0711nobodyさん
2007/01/21(日) 17:48:15ID:???0712nobodyさん
2007/01/21(日) 17:50:02ID:Fae6i/Oz0713nobodyさん
2007/01/21(日) 17:56:07ID:???0714nobodyさん
2007/01/21(日) 18:10:44ID:???現在、データベースにcategoryというテーブルがあり、格納されているデータは、
手動で数字インデックスを0から順に連番で付与して格納する仕様にあります。
当然ですが、そのテーブルから一行データを削除すると、
通常、連番でなければならない数字インデックスが、削除したデータの数字が飛んでしまいます。
この飛んだ数字を埋める為に、その削除したデータ以降のデータの数字インデックスを
一つずつ繰り上げたいのですが、スマートなコーディングが思い浮かびません。
現状は、一度削除した後に、再度、全データをfindして、ループでまわしながら、
全てのデータに0から順にupdateをかけて、その場をしのいでいます。
サーバ負荷の面からも、コードの可読性の面からも凄く泥臭いやり方になっています。
このようなコーディングをする場合は、何かうまい方法がないものでしょうか?
みなさまのお知恵をお借りしたく書き込みさせていただきました。
なお、現在のプログラムは、直ぐに書き込みいたします。
0715714
2007/01/21(日) 18:12:54ID:fPPKNR2L$comp_category->whereAdd("base='$base'");
$comp_category->whereAdd("key='$key'");
$comp_category->delete(TRUE);
$comp_category->whereAdd();
$comp_category->whereAdd("base='$base'");
$comp_category->orderBy("num");
$comp_category->find();
$comp_category_update = DB_DataObject::factory("public.category");
for($i=0;$comp_category->fetch();$i++){
$comp_category_update->whereAdd();
$comp_category_update->whereAdd("key='".$comp_category->getkey()."'");
$comp_category_update->num = $i;
$comp_category_update->update(TRUE);
}
宜しくお願いいたします。
0716714
2007/01/21(日) 18:16:30ID:???変に改行が入ってしまって、凄く読みにくくなりました。
申し訳ございません。
0717nobodyさん
2007/01/21(日) 18:22:30ID:???一行データを削除した場合は、番号が抜けたままにします。
0718nobodyさん
2007/01/21(日) 18:26:14ID:???update category set num = num - 1 where 削除したやつ以降
つーか、その連番は本当に絶対必要な仕様なのか?
あるレコードに付与された番号が時とともに変化すること自体、かなりわかりにくいと思うんだけど。
0719nobodyさん
2007/01/21(日) 18:27:12ID:???うちは実際は削除はしなくて
削除フラグ立てるだけにしてるけど
0720714
2007/01/21(日) 18:29:13ID:???お返事ありがとうございます。
シリアルによる連番は、この数字インデックスとは別に付与されています。
この数字は、テーブル内の同じ型のデータ内の連番インデックスなのです。
以下のような感じになります、
・グループAのデータが0〜5まで、連番である。
・グループBのデータが0〜6まで、連番である。
・この2つのグループは、同じcategoryテーブルに格納されている。
・自動付与の連番は、別に存在して、それを触る事はできない。
宜しくお願いいたします。
0721nobodyさん
2007/01/21(日) 18:32:37ID:???設計の方が悪いとしか言いようが無い…
0722714
2007/01/21(日) 18:34:24ID:???ありがとうございます。
やはりそういう感じで回すしかないですね。
この連番は、DBの仕様であって、自分ではどうする事もできない、おかしな仕様です。
>>719
そうですね。元を辿れば、DBの設計の問題なんですが…
このデータは、頻繁に削除され入れ替わるものですので、削除フラグで保存しておくと、
かなり肥大してしまう恐れがあります。
0723714
2007/01/21(日) 18:47:29ID:???例えば、現在4のインデックスを持つデータが1のインデックスを付与され繰り上がり、
それ以降のデータは、順番に数字がずれていく感じです。
DBの設計の問題かな?とも思いますが、これらの仕様を満たす、
よりよい設計も思い浮かばず、泣き寝入り状態になっています。
0724nobodyさん
2007/01/21(日) 18:52:26ID:???0725714
2007/01/21(日) 18:56:51ID:???徹夜で頭をひねって、もっと簡潔なコーディングができるDBの仕様を考え、提案してみます。
0726nobodyさん
2007/01/21(日) 19:18:52ID:???と俺は考えるが。
0727nobodyさん
2007/01/21(日) 19:55:13ID:Fae6i/Oz0728nobodyさん
2007/01/21(日) 20:00:56ID:???最近、PHPで構築されたっぽいサイトを見るとURLが
ファイル名.php?m=Kjifsk&p=Fgfkif
みたいな形式のサイトが多いですよね?ファイルは1つでincludeして各動作を
読み込む?のかよくわかりませんが。perlっぽい使い方な気がして。
(OpenPNEとかそんな感じかも。)
それで、なぜそういう風に=以下に識別コードか何かを付けて動作させるような
形式になってきているのでしょうか?単にindex.phpとかform.phpとかではなく。
やっぱり、セキュリティに関連するのでしょうか?
0729nobodyさん
2007/01/21(日) 20:13:31ID:???0730nobodyさん
2007/01/21(日) 20:29:24ID:???0731647
2007/01/21(日) 20:32:37ID:0sqXUt7pDB.phpの話ですがPEARのライブラリです。
これはレンサバでは問題なく動きます。
ブラウザにcookieを食わせたいんですが
ひとつのcookieに複数の値を設定する方法
(aaa=php&bbb=ohmygod こんな形の一つのcookieを作る方法です。)
が分かりませんので
ご指導お願いします。
0732728
2007/01/21(日) 20:49:11ID:???730さんの語句をググって見ましたが、なんとなくわかってきたかも。
要はファイル・機能のリクエスト(アクセス)を分散させると
それだけ負荷がかかりやすいから、1つにまとめてそこから
各部位を呼び出すようにコントロールすると言うことですね。
確かにその方が良いような気もするけど、開発している側としたら
どれがどのファイルか分かりづらくなる時もあるんですよね。。
それに単純に1ファイル毎に用意する方が使いやすいし。
とりあえずもう少し勉強します。ありがとうございました。
0733nobodyさん
2007/01/21(日) 20:58:43ID:???お前は凄まじいくらいに時代を逆走してるなw
いまどき1ファイル毎に処理する所なんてあるのか?
MVCどころか、オブジェクト指向ですら完全無視かよww
0734nobodyさん
2007/01/21(日) 21:17:26ID:???0735nobodyさん
2007/01/21(日) 21:52:01ID:???http://exsample.com/index.php
に飛ばす際、
$_POST['hoge'] = 'foo';
という値を渡したいのですが可能でしょうか?
可能でしたらやり方等お教えください
お願いしますm(_ _)m
0736nobodyさん
2007/01/21(日) 22:04:46ID:???0737nobodyさん
2007/01/21(日) 22:05:45ID:L6gn7cYVレンタルサーバーを借りてプログラムを公開しようとしてますが
データベースにアクセスできません。
自分のパソコンでは正常に動いていました。
<?php
require_once 'DB.php';
$dsn = "mysql://hibinotatsuya:(パスワード)@localhost/hibinotatsuya ";
$con = DB::connect($dsn);
if(DB::isError($con)){
exit('DBの接続に失敗しました');
}else{
echo('成功');
}
?>
Warning: main(DB.php) [function.main]: failed to open stream: No such file or directory in /home/hibinotatsuya/public/www/test.php on line 2
Fatal error: main() [function.require]: Failed opening required 'DB.php' (include_path='.:') in /home/hibinotatsuya/public/www/test.php on line 2
こういうエラーがでるんですがどこを直せばいいでしょうか?
0738nobodyさん
2007/01/21(日) 22:12:27ID:???↓
require_once '/home/hibinotatsuya/public/www/DB.php';
パスが通ってないんでしょう。
上記と違う場所に置いてるなら正しい場所を絶対パスで指し示してみること。
つーか、本名を2chに書き込まないでください
0740765
2007/01/21(日) 22:18:33ID:???http://exsample.com/index.phpに$_POST['hoge']の値が渡せればheaderでなくてもいいです。
switch($_POST['k']) {
case 1:
exsample.com/index.phpに $_POST[hoge]="foo"で飛ばす
break;
case 2:
exsample.com/index2.phpに$_POST[hoge]="foo"で飛ばす飛ばす
break;
…
}
こんな処理がしたいのです
0742nobodyさん
2007/01/21(日) 22:25:00ID:???いや・・・あきらかにPEAR::DBだろ
>>737
そのレンタルサーバでPEAR::DBが使えない可能性が高いけど、
使える可能性があるとすれば、↓かな?
/usr/local/lib/php/DB/DB.php
0743nobodyさん
2007/01/21(日) 22:44:59ID:Fae6i/Oz0744nobodyさん
2007/01/21(日) 22:48:56ID:???$_GETか$_REQUESTで取る。
それがどうしてもダメならheaderでは無理。
HTTP通信を実装してPOSTするしかない。
JavaにはHttpClientあるけどPHPにもそんなんあるのかね。
0745nobodyさん
2007/01/21(日) 23:08:42ID:xp0A917W自分のテスト環境にあるPEARライブラリの入っているディレクトリを丸ごと
レンタルサーバーにうpする。
で、そのディレクトリを、include pathに追加する。
0748nobodyさん
2007/01/22(月) 01:08:55ID:???GIFアニメを合成した場合、最初のコマで止ってしまいます。
GIFアニメをそのまま動かすにはどうすれば良いのでしょうか?
0749nobodyさん
2007/01/22(月) 01:17:17ID:H0oVPkgdhttp://58.188.237.103/iranai/
0750749
2007/01/22(月) 01:26:28ID:H0oVPkgd0753nobodyさん
2007/01/22(月) 02:15:54ID:???| ノ\ ヽ |
/ ●゛ ● | |
| ∪ ( _●_) ミ j
彡、 |∪| | J
/ ∩ノ ⊃ ヽ
( \ / _ノ | |
.\ “ /__| |
\ /___ /
0754nobodyさん
2007/01/22(月) 02:16:30ID:???0756nobodyさん
2007/01/22(月) 18:20:28ID:XtuQ8nwW色々気にする必要があるのかと思い、現在作成しているシステムも
作り直した方が良いのか否か、本気で悩んでいます。
過去レスも見ると、同じような質問もあったりして、「常識」の部類みたいですが
みなさんもやはり「常識」だと思われているのでしょうか?
どうもクラスとかの使い方がよくわからなくて、まとめられないのですが、
見るサイトすべてオブジェクト指向っぽいので、このままでいいのかと悩みます。
0757nobodyさん
2007/01/22(月) 18:23:29ID:???趣味でやってるなら、好きなようにすればいい。
だが、勉強という意味合いもこめて、開発しているなら、
有名所のフレームワークやオブジェクト指向型プログラミングは絶対必須!
これができないと、PHPを使えるなんて口が裂けてもいえるようなレベルではない。
0758nobodyさん
2007/01/22(月) 18:27:09ID:???担当しているサイトは顧客のニーズによって、毎月機能追加・変更が行われいるので、
オブジェクト指向で作って正解だった思う。(元々Java技術者だったし)
現在のシステムが稼動実績があるなら、あえてつくり直す必要もないと思うけど、
拡張性がある程度要求されるシステムなら、オブジェクト指向も検討に値すると思うよ。
0759nobodyさん
2007/01/22(月) 18:29:34ID:???その人のレベルにもよると思うから常識とまでは言わないけど…
フレームワークやオブジェクト指向は、一度作ってしまえば、拡張も修正も凄く楽になる。
最初は面倒だと思うだろうけど、後々の事を考えたら作り直す価値はあるかも。
0760756
2007/01/22(月) 18:32:57ID:???かなりお詳しいご説明ありがとうございます。
仕事でやっておりまして、プログラミングは元々プログラマーがやるのですが、
自分はディレクション等をしているので、ある程度のプログラミング知識も
必要だと思い、最近PHPとMySQLであれこれやっています。
それでそこそこ作れるようになってきたのですが、どうもコピー・ペーストする
作業が多く、デザインが重複する箇所も多くて、デザインとの両立が難しいです。
だから調べていたらオブジェクト指向とかフレームワークとかの知識が必要
みたいで悩んでました。
これまでうちの会社で依頼しているプログラマーでオブジェクト指向的な作りを
しているプログラマーが皆無だったのですが、もしかしたら私の指示が悪いの
かもしれません。やっぱり必要みたいなので、もう少し勉強してみます。
0761nobodyさん
2007/01/22(月) 18:37:10ID:???技術系の知識をある程度持っているディレクターは、
重宝されると思いますよ。技術者からも信頼されるし。
ただ、依頼しているプログラマーがそれだと。。。
0762nobodyさん
2007/01/22(月) 18:38:47ID:???>オブジェクト指向的な作りをしているプログラマーが皆無
なんつー会社だよw
フレームワークはともかく、オブジェクト指向なんて10数年前に最重要項目として位置づけられていたのに…
JavaやCの開発する時にどんなコードを書いているのか凄く気になるww
0763nobodyさん
2007/01/22(月) 18:41:48ID:x9xZGXV7DB::DataObject使ってるんですが、
「機能不足」「主流ではない」みたいな書き込みを見かけたので気になってます。
良かったら教えてくださいー。
0764756
2007/01/22(月) 18:41:58ID:???個人・外注ともに依頼していますが、オブジェクト指向とかフレームワーク
に沿った作りをしているのは皆無でした。
データの受け取りもregister_globalがonの設定での作りだし。
だから、私にはそれが常識だと思い、2chで指摘されるまで
register_globalもoffにするものだとは思ってませんでした。
0766nobodyさん
2007/01/22(月) 18:48:06ID:yHPtupAO最近は、JavaやCが未経験なプログラマーも多いよ。
ちなみに、俺は、経験があるのはアセンブラーとphpだけだw
(Cもやってたけど、経験があるとは言えない程度だし)
0767nobodyさん
2007/01/22(月) 18:51:23ID:???アセンブラなんて大学の授業でしかやったことねーw
そーいやFortranも大学のときにやってたなw
今は、Javaが70%でC系が15%でPHPが5%であとその他。
Perlとかももう使わなくなってきたな。
0768nobodyさん
2007/01/22(月) 18:52:59ID:x9xZGXV7返事どうもです。
使ってて今のところ全然機能不足は感じないのですが、
もっといいのあるならそっち使ってみようかなと思ったっす。
もっと使い込んでみます。
0769nobodyさん
2007/01/22(月) 19:00:51ID:wVC7HJOQ特定の文字と言う訳でも無く、何か原因があるのでしょうか?
0770nobodyさん
2007/01/22(月) 19:02:59ID:uNp0p6nz現実にあるんだよ。
0771nobodyさん
2007/01/22(月) 19:07:32ID:???確かにプログラマとしてまともに生きていくにはJavaマスターは絶対必須だな。
PHPも楽天が使ってるって事で案件増えてはいるけど、Webの主流はJavaだな。
Javaだと金稼げるしw
0772nobodyさん
2007/01/22(月) 19:07:38ID:???向いているという言語とは(今のところ)言えないでしょう?
仕事ならともかく、「これできない奴ってバカスww」とか押しつける奴は
変態だよ変態。まったくねぇ。
0774nobodyさん
2007/01/22(月) 19:11:30ID:???0775nobodyさん
2007/01/22(月) 19:12:05ID:???0776nobodyさん
2007/01/22(月) 19:16:09ID:???フォームから入力された文字列を、サニタイズしないところも結構あるくらいだ。
そのくらいのことでは驚かんぞ!w
0781nobodyさん
2007/01/22(月) 19:30:18ID:???参考書も見ずに、いろいろなWebシステムがスラスラかけるくらい。
あと、フッっと思いついた機能をなんの苦もなしに、サラッっと追加できるくらい。
0782nobodyさん
2007/01/22(月) 19:31:55ID:???小さなシステム(10人月程度)でいいから、
一から設計からテストまで完了させること。
四苦八苦しながらも、一から全てに関われば必ず見えてくるものがあるはず。
経験則から。
0784初心者
2007/01/22(月) 19:39:11ID:???んですけど、セッションでログイン機能があるHPの場合、変更したほうがいいのでしょか?
0786ぬるぽっぽ:2010/08/25(日) 00:43:55
2007/01/22(月) 19:42:07ID:???0787nobodyさん
2007/01/22(月) 19:43:08ID:???∩ :・:∵
⊂、⌒ヽ∴: L/ ,r=''""゙゙゙li,
⊂( 。Д。)つ > 、、,,_ ,r!' ...::;il! ... ┏┓┏┳┓
V V ; Y⌒r!'゙゙´ `'ヾ;、, ..::::;r!'゙ ┏┛┗┻╋┛
グハッ ,i{゙‐'_,,_ :l}..::;r!゙ ┗┓┏┓┃
. ,r!'゙´ ´-ー‐‐==、;;;:.... :;l!:;r゙.. ┃┃┃┃ ┏┳┳┓
,rジ `~''=;;:;il!::'li ┗┛┗┛ ┗╋┛┃
. ill゙ .... .:;ll:::: ゙li ..┗━┛
..il' ' ' '‐‐===、;;;;;;;:.... .;;il!:: ,il!
..ll `"゙''l{::: ,,;r'゙
..'l! . . . . . . ::l}::;rll(,
'i, ' ' -=====‐ー《:::il::゙ヾ;、
゙i、 ::li:il:: ゙'\
゙li、 ..........,,ノ;i!:.... `' 、 ∧_∧
`'=、:::::;;、:、===''ジ゙'==-、、,,,__ `'(・∀・)
`~''''===''"゙´ ~`'''' ヽ ノつ
〜( ,,(~)
ヽ)
0788nobodyさん
2007/01/22(月) 20:27:01ID:???挙句の果てには、「僕はPHP以外の言語もできるのでDQNじゃありません」と言わんばかりの、DQNな発言する奴が出てくる始末。
誰もお前の自己紹介なんか聞いてねえっつーの。
0789nobodyさん
2007/01/22(月) 20:28:08ID:???それをシステム化する場合もテンプレートと動作ファイルを分けるの?
そんな事するとあとからデザイナーが修正出来無くない?
0790nobodyさん
2007/01/22(月) 20:42:31ID:???その程度のWebデザは、即刻解雇。
今は、HTMLやCSS・JSだけができるWebデザなんてゴミだよ。
PHPやJSPの文法も分かってないと仕事にならない。
0791nobodyさん
2007/01/22(月) 20:57:51ID:???あれもこれもできますっていうのは怪しいなぁ。
結局大したものが出来上がってこない印象がある。
メニューが100個もあるような食べ物屋より、
メニュー2,3個で勝負できる店の方が美味しいものだ。
0792nobodyさん
2007/01/22(月) 21:01:03ID:???プログラマに関しては当て嵌まる話ではないな
0793nobodyさん
2007/01/22(月) 21:05:12ID:???WEBデザイナーの募集って無いんだけど。
0794nobodyさん
2007/01/22(月) 21:20:09ID:???0795nobodyさん
2007/01/22(月) 21:32:15ID:???0797nobodyさん
2007/01/22(月) 21:38:33ID:???define("ADMIN_DIR", realpath("../admin"));
echo<<<EOF
<a href="ADMIN_DIR">管理画面へ</a>
EOF;
みたいなことがやりたいのですが、そのまま文字で「ADMIN_DIR」が表示されます。
0798nobodyさん
2007/01/22(月) 21:40:59ID:???デザインの才が、あるかどうかを見るのが先だろ。
本職の才があれば、その程度のPHPの文法なんて、
会社で数日教えればすむことだろ?
0799nobodyさん
2007/01/22(月) 21:44:06ID:???ムリ。
そのソースから見るに、ファイルの内容を読み取って定数にすればいい。
そんな事をするくらいなら、parse_ini_fileを使って設定ファイルから読み込むかXML形式にしろ。
多分、キミのやりたい事はできる。
つか、ここには、PHPしかできない”自称”プログラマがたくさんいますねwww
PHPなんて一番簡単な言語だろ。
JavaやCができる奴ならPHPなんてものの数週間で完璧に使いこなせるレベルの言語だぞw
0800nobodyさん
2007/01/22(月) 21:45:21ID:???なんでそんなに食い下がってくるの?
今は、Webデザ志望者なんて星の数ほどいて、選び放題。
デザインの才能もあって、PHPやJSPの知識もある奴なんてゴロゴロいる。
そういう奴しか採用されないよ。一回、面接受けてみ。
0801nobodyさん
2007/01/22(月) 21:48:52ID:???△WEBプログラミング能力
◎コミュニケーション能力
ぶっちゃけこうです。面接する側ですが。
0802nobodyさん
2007/01/22(月) 21:50:22ID:???0803nobodyさん
2007/01/22(月) 21:51:32ID:???だろうね。
使い捨てのWebデザなんて、言われたとおりの仕事ができる事が最重要だしね。
あと、クライアントの想像している完成図を、コミュニケーションでいかに引き出し実体化するかが重要。
自分でゼロから創作する仕事なんてよっぽどのWebデザじゃなきゃできないしw
これは、WebデザだけじゃなくSEやPGにもいえることだけどね。
0806nobodyさん
2007/01/22(月) 21:55:34ID:???0807nobodyさん
2007/01/22(月) 21:57:15ID:???この業界は最強なんてない。
WebデザイナもSEもPGも…全部使い捨ての一労働者。
最強になりたければ他業界に池!
0808nobodyさん
2007/01/22(月) 21:57:21ID:BrzhGU74始まる文字列とか...)をリンクアンカーに正規表現で置換えしたいのですが
サニタイズされているために [ & ][ < ][ > ] などが、うまく置き換えられなかったりします。
正規表現でマッチしたものを、そのまま '<a href="' . $matches . '">' . $url . '</a>' とかやっているので
置き換えしたものをサニタイズしちゃうと、<a>...</a>までサニタイズされてしまいます。
どうすればできるのでしょうか?
0809nobodyさん
2007/01/22(月) 22:01:22ID:???>サニタイズされているために [ & ][ < ][ > ] などが、うまく置き換えられなかったりします。
何をやりたいかよくわからんが、↑をうまい事やるのがプログラミングの腕だろ。
&amp;や&gt;&lt;に対して正規表現をかければ?
0810808
2007/01/22(月) 22:59:29ID:BrzhGU74$str = str_replace('"', '"', $str);
とすることで解決しました。
ありがとうございました。
0811808
2007/01/22(月) 23:02:17ID:BrzhGU74$str = $str_replace('"', '"', $str);
0812nobodyさん
2007/01/22(月) 23:04:43ID:???0813nobodyさん
2007/01/22(月) 23:49:07ID:???本家のはリンクが切れているのか、
二日ほど前からDLを試していますが全く繋がりません。
もし、本家以外で5.0がDLできるミラーサイトなどがありましたら、教えていただけないでしょうか?
0814nobodyさん
2007/01/22(月) 23:54:00ID:???普通に落とせるが?
ttp://jp.php.net/releases/index.php
しかし、わざわざ穴が一杯の古いのを使う奴の気がしれん
0815nobodyさん
2007/01/23(火) 00:00:30ID:???$bbb=array("項目B","Bの値","1/24");
こういう配列があったとしてテーブルで
[日付] [項目A] [項目B]
1/23 Aの値
1/24 Bの値
という表示にしたいのですが、組立方が全く分かりません・・。
そもそも上記のような表示は可能なのでしょうか?
0816nobodyさん
2007/01/23(火) 00:08:01ID:sJ8gA2OLWin2Kの時はWINNTということだけ分かっています。
0817813
2007/01/23(火) 00:08:40ID:???確かに落とせますね。
会社じゃウンともスンとも言わなかったんで、もしかしてセキュリティソフトか、なんかにひっかかってるのかも
他社との連携でPHP5以降を使うという仕様書はいただいたんですが、
5.2を使っても、大丈夫か?という質問メールに、まだ具体的に決まってないとかいう変なメールしか返ってこないんですよ
結局、5.2を使うとは思うんですが、念のためということで・・・
0819nobodyさん
2007/01/23(火) 00:39:44ID:Jof0MIkp本当にすまない こんな騒動になってしまって
でもね、ひとつだけ閉鎖をふせぐ方法があるんだ
http://game11.2ch.net/test/read.cgi/otoge/1167185144/
↑のスレに
「あっきーは書き込まないでください」
と書き込むんだ。
では健闘を祈るよ
0820nobodyさん
2007/01/23(火) 00:43:25ID:L8zAhTePHP見た方からあるスクリプトをお金払うから作ってくれとメール頂きました。仕事としてやったことがないのでー私が蔵に商品を納品するまでの流れはどうしたらいいのでしょうか?発行する書類等、納品までの流れなどいろいろご指導お願いいたします。
0821nobodyさん
2007/01/23(火) 01:15:06ID:???0822nobodyさん
2007/01/23(火) 01:46:15ID:???<table>
<tr><td>[日付]</td><td>[$aaa[0]]</td><td>[$bbb[0]]</td></tr>
<tr><td>$aaa[2]</td><td>$aaa[1]</td><td></td></tr>
<tr><td>$bbb[2]</td><td></td><td>$bbb[1]</td></tr>
</table>
文字列出力は適当に
0823nobodyさん
2007/01/23(火) 02:31:01ID:???すみません、、$aaaと$bbbの内容はファイルから読み込むのを想定して
おりますので、その時々で変わります。
だから、forかwhileで読み込む方法を考えているのですが
それで822さんのような表示が出来ないんです。
値があるのと無いのとがありますから。
0824nobodyさん
2007/01/23(火) 02:43:30ID:???<head>
<title>BrowserCheck</title>
</head>
<body>
<?php
// 日本語を許可しているか
if (strstr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 'ja')) {
echo "日本語ブラウザをお使いですね\n"
} else {
echo "This site is available in Japanese only.\n"
}
?>
</body>
</html>
これっておかしいとこあります?エラー出るんですが
Parse error: parse error, unexpected '}', expecting ',' or ';' in *** on line 9
0825nobodyさん
2007/01/23(火) 02:46:08ID:???何がしたいのか何となく予想できてきたけど
とりえあず、漠然とした内容ではなく、きちんと論理的に条件を出して質問してみ
0827nobodyさん
2007/01/23(火) 02:50:10ID:???一応雛形として組んだんだけど、おかしいとこが分からず
>>826
必要でしたっけ?そうならどこに付けるのか疑問なんだが
0828nobodyさん
2007/01/23(火) 02:54:20ID:???>>825はどう見てもほかの人宛てだぞ。
「9行めで ',' か ';' が来ると思ってたとこへ、いきなり '}' なんて持って来るんじゃないわよ」
と言われてるんだから、その辺。つーか、セミコロンをどこに付けるのか疑問て。
0830815
2007/01/23(火) 03:01:13ID:???$aaa=array("項目A","Aの値","1/23");
$bbb=array("項目B","Bの値","1/24");
上記の配列で説明しますと、配列の[0]に項目名が入り、[1]に値が
入るというものです。$aaaや$bbbというのは行に部分で、DB的に言うと
1レコードを指しています。
それで悩みなのが、普通はテーブルの列は固定名にするか
別ファイルにて項目名を決めるものですが、上記のように結果データ内に
項目名(列名)を加えても表示出来るのだろうか?っと思った次第です。
もしできるなら、列表示用のファイルが必要ない為いいかなと。
0831nobodyさん
2007/01/23(火) 03:09:59ID:???$aaa = array("Aの値", "", "1/23");
$bbb = array("", "Bの値", "1/24");
じゃないの?ループで回すんだったら $aaa を使いまわすんだろうし。
どうしてもその形式で配列にぶち込みたかったら $aaa[0] の中身で条件分岐かけて
$aaa[1] の表示列を変えるというめんどくさいことをすれば期待どおりになると思う。
> もしできるなら、列表示用のファイルが必要ない為いいかなと。
?
0832815
2007/01/23(火) 03:30:08ID:???すみません。あとから考えたら変でしたね。。ようは↓な感じです。
data.txt内
"項目A","Aの値","1/23"
"項目B","Bの値","1/23"
$fp=file("data.txt");//読み込むとfp[0]には1行目が、fp[1]には2行目が入ります。
そして出力の仕方が分からないのですが表示としては>>815みたいに
出来ればと思います。>>831のように書くなら列名(項目名)が表示されません。
0834nobodyさん
2007/01/23(火) 03:38:47ID:???1行目をヘッダー行にして
"[日付]","[項目A]","[項目B]"
"1/23,"Aの値",""
"1/24,"","Bの値"
のようにするべき。今のまま強引にやりくりしたところで後でつまるぞ
0836nobodyさん
2007/01/23(火) 03:43:40ID:???自分で取得方法が分からないならそれはそもそもデータ構造が悪いと思うよ
そっちを変えるか、今のままでもできないことはないから頑張れ
もしくは今どれだけできているか出してみるとよいかと
>>835
きみは>>824なの?
0838nobodyさん
2007/01/23(火) 05:26:10ID:???0839nobodyさん
2007/01/23(火) 10:38:09ID:???どのフレームワーク使ってんの?
Mojaviか?Ethnaか?
0840nobodyさん
2007/01/23(火) 10:51:33ID:cx/YjiLkcrc32() だとファイルの内容を全て変数に読み込んでからでないと使えないため、相応しくありません(ファイルは数MB)。
cksum を外部コマンドとして呼び出すことも考えてみましたが、cksum は自分の求めている CRC32 とは違う CRC を計算するようで、使えません。
とりあえずとして、CRC32 を求めるコードは書いて、値も求まるようにはなったのですが、いかんせん遅くて・・・
イメージとしては crc32_file() みたいなことがやりたいのですが、いい方法は無いでしょうか?
求めたい CRC32 は、zip とかに使われる CRC32 です。
0841nobodyさん
2007/01/23(火) 11:09:03ID:???0843nobodyさん
2007/01/23(火) 11:39:40ID:???おまいらは、簡単なフォーム案件もフレームワークを使うの?
0844nobodyさん
2007/01/23(火) 11:41:40ID:???0846840
2007/01/23(火) 11:48:22ID:???動かそうとしてる環境の cksum には、-o オプションは無いっぽいです。
環境は Linux で、使えるコマンドは使って構わないのですが、新バージョンへの更新などは自由にできません。
新しいコマンドを自由に入れられない限り、やっぱスクリプトで計算ロジック書くしか無いんですよね・・・
crc32() で部分ごとに CRC を求めて、後でそれを組み合わせて全体の CRC を求める、なんて方法は無いですよね?
0847nobodyさん
2007/01/23(火) 11:58:39ID:???普通にincludeしたほうが見やすいし、メンテもしやすいんだけどなぁ。
使いこなせばやっぱ楽なのかな。実感が全然沸かない。
0848nobodyさん
2007/01/23(火) 11:58:57ID:???半日くらい、ちこちことやって10万くらいかな。
小遣い稼ぎだね。
>>845
たかがしれてるから零細なんだけどさorz
0849847(843じゃないよ)
2007/01/23(火) 12:02:26ID:???地方だからか上場している会社の仕事を見てもフレームワークなんて使ってるところ見たことないよ。
何かデザインを犠牲にした独自のガチガチフレームワークもどきは見たことあるけど。
使いこなしてる人、このソースと実行例を見とけとか、書籍などあったら教えてください。
0850nobodyさん
2007/01/23(火) 12:04:00ID:???にするかまよってます。両者一長一短あるとはおもうのですが、
友人に聞いたらPerlは残るけどPHPは滅びるといってました。
やっぱりPerlのほうが長い目で見た場合いいですかね?
0851nobodyさん
2007/01/23(火) 12:14:23ID:???PerlはJava+PHPに滅ぼされる。ってかもうすでに新規案件では壊滅状態。
PHPは、そのお手軽さで、これからも生き残る。
求人募集で雇用条件にPerlが入っている所もどんどん少なくなっている。
>>849
逆に俺は上場企業でフレームワークを使わない所を見たこと無いんだが・・・
>>848
凄く楽。とくにSmartyなんかは、自分で用意にプラグインが作れるから、
使い込めば込むほど楽になる。
楽天をはじめ会社規模の開発にSmartyが多く使われているのもプラグインが容易に組み込める為。
0852nobodyさん
2007/01/23(火) 12:18:27ID:???普通にディレクトリをアップロードするだけじゃん。
>>851が言っているようにSmartyなんかは、libディレクトリをアップロードしてキャッシュディレクトリを作るだけ。
どんなに小規模なプログラムでも、プログラムに統一性がでるから、使う価値は十分にある。
0854nobodyさん
2007/01/23(火) 12:29:04ID:???Perlは、UNIX系のモジュール開発にのみ生き残るな。
Webシステム開発などのプログラミング分野では、>851が言っているように壊滅状態。
大規模:Java
中・小規模:Ruby/PHP/.NET
この分野でPerlが生き残るすべは無い。
0855nobodyさん
2007/01/23(火) 12:30:33ID:???Smarty+Flexyか
Smartyはフレームワークのカテゴリに入るのか
俺の中ではテンプラ用だったw
Flexyはググって見る
0856850
2007/01/23(火) 12:38:07ID:???PHPでいきます^^
0858nobodyさん
2007/01/23(火) 13:16:09ID:???フレームワークはいいところもあるけど学習コストやハマリコストも考えるべきだ。
0860nobodyさん
2007/01/23(火) 13:27:28ID:???まだ、PHPのフレームワークは定番がないね。
Mojaviはなくなったと思ったら復活したり…。
Zendはなくなんないと思うけどw
CakePHPもわりと注目されてるね。Railsタイプは苦手。
0862nobodyさん
2007/01/23(火) 14:14:54ID:???との事ですが、
include('hoge.inc.php');
require_once('hoge.inc.php');
といった例を見かけることがあります。
これは見た目とか気分の問題ですか?
>861
http://www.google.co.jp/search?hl=ja&lr=lang_ja&ie=UTF-8&oe=UTF-8&num=50&q=PHP.Data.Objects
0863nobodyさん
2007/01/23(火) 14:18:12ID:???echoやprintと同じでは?
俺はincludeもprintも()でくくってるな。
そっちの方が読みやすい気がするって理由で。
0864nobodyさん
2007/01/23(火) 14:19:59ID:???PHP Data Objects
http://www.php.net/manual/ja/ref.pdo.php
0866nobodyさん
2007/01/23(火) 15:29:35ID:9lt2k7w3こんなコード気持ち悪いよ。
0867nobodyさん
2007/01/23(火) 15:48:15ID:Mj0BJ0W1何なのでしょうか?セキュリティとか関係あるのですか?
0868nobodyさん
2007/01/23(火) 16:07:11ID:???.htmlだったらそれがHTMLかPHPかASPかJSPか簡単にはわからん。
あと、サイトをPHPからJSPに移行したときとかURL変更になってしまう。
(もちろんhogehoge.phpをhogehoge.jspに飛ばす、とかできるけど気持ち悪い)
0869nobodyさん
2007/01/23(火) 16:13:53ID:ddBgseC2> 拡張子 php を html に変換する方法がありますが
kwsk
0870nobodyさん
2007/01/23(火) 16:14:39ID:???0871nobodyさん
2007/01/23(火) 16:16:52ID:???0873nobodyさん
2007/01/23(火) 17:51:20ID:???拡張子だけで判断するとは思えないがなw
0874nobodyさん
2007/01/23(火) 18:18:54ID:???0875nobodyさん
2007/01/23(火) 18:41:56ID:???セキュリティに気をつけて的確に対処していたとしても、
なかなか防げないものもございます。
0876nobodyさん
2007/01/23(火) 18:51:07ID:???> 大規模:Java
> 中・小規模:Ruby/PHP/.NET
Rubyって何よ?釣りか?
新規開発だと、Javaが圧倒的だけど、
保守では、まだCOBOLが根強く残っている。早く消えて欲しい。
0877nobodyさん
2007/01/23(火) 18:55:24ID:???あれもこれもじゃしんどいだろ。
開発者側の考えではなく、それを利用する利用者側の立場でさ。
(もっとも、自分だけ使えれば良いという人は別だが)
0878nobodyさん
2007/01/23(火) 19:01:44ID:UH5Ebjbsqmail?が自動で付加する Message-ID を取得する方法はありますでしょうか?
(送信前、または送信後でもOK)
使い方としては間違っていると思いますが、相手先は携帯メールの時
TO:相手メアド、FROM:自分メアド、BCC:自分メアド を入れ、
本文中にはMessage-ID等を含むURLを付加して
そのリンクにアクセスすることで、メールにフラグを付けたりして開封確認をしようかなと。
0879nobodyさん
2007/01/23(火) 19:15:34ID:???0881nobodyさん
2007/01/23(火) 19:44:21ID:???軽いのがよければ guessworkとかいうやつ?知らんけど
その他国産がよければ ethnaやmaple?知らんけど
詳細は該当スレへ
【PHP】フレームワークについて語るスレ5【総合】
http://pc10.2ch.net/test/read.cgi/php/1159579507/
【Smarty】PHPのテンプレートエンジン【Flexy】
http://pc10.2ch.net/test/read.cgi/php/1118799352/
0882nobodyさん
2007/01/23(火) 19:47:54ID:???SEO的には動的に使われる.cgiや.phpより.htmや.htmlの方が良いって
0886878
2007/01/23(火) 20:25:13ID:UH5Ebjbs何か御教示などありましたら、宜しくお願いします(´・ω・`)
0887nobodyさん
2007/01/23(火) 20:28:41ID:???うるせぇ!!!それどころじゃぁねーんだよ!!
今はフレームワーク論争やってんだ!!!!
いいか?これはな!戦争なんだ!!!
0888nobodyさん
2007/01/23(火) 20:31:36ID:???ココはくだすれだw
0889nobodyさん
2007/01/23(火) 20:39:44ID:???bccでてめーに送って、そのメールのヘッダーをほじくり返すってのはどうよ?
qmailにわたった時点で、phpからは知りようはないだろうし。
0890nobodyさん
2007/01/23(火) 20:55:29ID:???ってかさ、sendmailの設定の面倒さにかまけて、
新興勢力のqmailの軍門に下るのは技術者としては最悪だな。
0891nobodyさん
2007/01/23(火) 22:07:35ID:???メンテのされなさ具合ではqmailははるかにレガシーというか時代遅れですよ。
sendmailはいまだにメンテされ続けているけど、
qmailはもう使っちゃいけない域にまできてますよ。
なわけで新興勢力なんて言葉には違和感あります。
0892nobodyさん
2007/01/23(火) 22:42:31ID:WQNIOqeTlinpngのバージョンが古くなったので、
アップデートしたいと思ってます。
アップデートってどうすればいいんでしょう?
0893nobodyさん
2007/01/23(火) 22:49:20ID:???0894nobodyさん
2007/01/23(火) 22:50:19ID:???Fedora Core 総合スレッド Part 32
http://pc10.2ch.net/test/read.cgi/linux/1169012420/
0895nobodyさん
2007/01/23(火) 22:50:25ID:gX0utTYONotice: Undefined variable: name in C:\www\php\diary\diary.php on line 298
Notice: Undefined index: _all in C:\www\php\diary\diary.php on line 286
Perlでいうところのstrictを使用した際のmyの不使用によるエラーかな?と思ったのですが・・・
なにせ、検索エンジンでエラー文を検索するとエラーが出力されているサイトがヒットするので解決策が見出せません^^;
どなたか、解決策をご教示願います。
0897nobodyさん
2007/01/23(火) 22:53:19ID:gX0utTYOご返信ありがとうございます。
このエラーがどのような場合に出力されるか、だけでも教えて頂けると幸いです。
0899nobodyさん
2007/01/23(火) 22:55:30ID:???オマエ、その程度なら、ソース見なくても分かるだろw
エラーがINFOレベルで出力しているから、宣言していない変数は全てエラーメッセージが出力されるんだろ。
0900nobodyさん
2007/01/23(火) 22:59:56ID:gX0utTYOご返信ありがとうございます。
error_reportingで全てのエラーを出力するようにしていたようです。
実際に開発する場合にはerror_reportingの値はどのようにすべきですか?
現在ではE_ALLになっています。
0901nobodyさん
2007/01/23(火) 23:01:58ID:gX0utTYOそれを出力しないように設定してもいいんですか?
0902nobodyさん
2007/01/23(火) 23:05:56ID:TJC5Wx3gphpのソースはWin用・Linux用と2つ作成するのではなく、1つのphpファイルで
なんらかの条件判断で文字コード変換(mb_convert_encoding)のコードを記述しようと思います。
どういう条件で判断すればいいですか?
又Win鯖でもsjisとEUCとを使い分けるかもしれないので、汎用性を持たせたものにしたいと思います。
0903nobodyさん
2007/01/23(火) 23:06:25ID:???0904nobodyさん
2007/01/23(火) 23:17:00ID:AcnniOWC$row = データベースから取得してきた文字列
echo $row;
$row = mb_convert_encoding($row, "UTF-8", "EUC-JP");
echo $row;
にしても、変換されず出力が同じです。
どのようにすればうまく変換できるのでしょうか?
0906nobodyさん
2007/01/23(火) 23:33:53ID:???まずマニュアル嫁。
http://jp.php.net/manual/ja/ref.errorfunc.php
普通にコーディングしていればE_ALLレベルでも何も出力されない。
ログの意味を理解したうえで不要だと思うなら勝手に消せばいい。
0907904
2007/01/23(火) 23:40:53ID:AcnniOWC0908nobodyさん
2007/01/24(水) 00:09:31ID:wHML1L8cご返信ありがとうございます。
[URL]?mode=aaa& ... というGETクエリを受け取ったものを、
// 20行目
$mode = $this->parser->query['mode'];
という記述で$mode変数に入れるよう処理しているのですが、
Notice: Undefined index: mode in C:\www\php\diary\○○○.php on line 20
という注意文が出力されてしまいます。
この['mode']という点に不備があるのでしょうか?
ご回答宜しくお願いいたします。
0909908
2007/01/24(水) 00:16:47ID:???代入されていない値を使用していたため、Noticeレベルのエラーが出ていたようです。
しかし、リクエストによっては$modeがある場合とない場合が存在するわけですけど、このエラーが出るということは、
if ($mode) { }
という処理が出来ないということでしょうか?
いや、できることは出来るけどエラーは目を瞑れということですか?
0910nobodyさん
2007/01/24(水) 00:20:16ID:4lV4Hsrf以下のようなhtmlとその入力結果を受けるphpを作ったんですが、
phpにパラメータが反映されません。なにが原因でしょうか?
【html】
名前を入力してください<br>
<form action="myname3.php" method="post">
<input type="text" name="namae" size="30">
<input type="submit" value="送信">
</form>
【myname3.php】
<?php
echo"名前は$namaeです";
if($namae == ""){echo"空ですよん";}
?>
本の通りにしてるんですが… よろしくお願いします。
0911nobodyさん
2007/01/24(水) 00:22:56ID:???<?php
if($_POST['namae'} == "") {
echo"空ですよん";
} else {
echo"名前は$_POST['namae'}です";
}
?>
0912nobodyさん
2007/01/24(水) 00:23:38ID:???<?php
if($_POST['namae'] == "") {
echo"空ですよん";
} else {
echo"名前は$_POST['namae']です";
}
?>
0913nobodyさん
2007/01/24(水) 00:26:17ID:???if( == "") {
echo"空ですよん";
} else {
echo"名前は".htmlspecialchars($_POST['namae'])."です";
}
?>
0914nobodyさん
2007/01/24(水) 00:26:57ID:???if($_POST['namae'] == "") {
echo"空ですよん";
} else {
echo"名前は".htmlspecialchars($_POST['namae'])."です";
}
?>
0915nobodyさん
2007/01/24(水) 00:28:15ID:???0916909
2007/01/24(水) 00:31:07ID:???0917nobodyさん
2007/01/24(水) 00:31:33ID:???0918nobodyさん
2007/01/24(水) 00:34:07ID:???function x($arr, $var)
{
if (isset($arr[$var])) {
return $arr[$var];
}
else {
return NULL;
}
}
とかいう関数を作って、こいつ経由で読み出せ売淫者ね?
0919nobodyさん
2007/01/24(水) 01:08:18ID:???<html>
<body>
<!--AAA_START-->
空ですよん
<!--AAA_END-->
</body>
</html>
で、このHTMLファイルを以下の関数に解析させると、
function ParseSkin ($lines) {
foreach ($lines as $line) {
if (preg_match("/<!--(\w+)_START-->/", $line, $regs)) {
$name = $regs[1];
continue;
} elseif (strstr($line, '_END-->')) {
$name = '';
continue;
}
if (isset($name)) {
$this->skin[$name] .= $line; // 292行目
}
$this->skin['_all'] .= $line;
}
}
Notice: Undefined index: AAA in C:\www\php\diary\diary.php on line 292
と出力されます。
何故でしょうか?
理由が分かる方、ぜひご教示願います。
0923nobodyさん
2007/01/24(水) 01:41:49ID:???関数にして分けてます?
例えば、会員登録とプロフィール作成って同じ名前(name)を入力
する箇所があると思うのですが、そう言う場合、関数で分けた方が
便利なのかな?って思いまして。それで必要な入力確認項目だけを取り出すような。
0924nobodyさん
2007/01/24(水) 01:48:37ID:???インスタンス変数の配列なんてよく使えるな。他のメソッドで汚染され放題じゃん
0925nobodyさん
2007/01/24(水) 02:03:59ID:4lV4Hsrfありがとうございます。 うまくいってるような気がします。
と言うのは、取得した名前の部分が文字化けしてるんです。
「たろう」と入力したのが「、ソ、�タヲ」になっています。
ブラウザの文字エンコーディングはShift_JISですが、どうしたらいいでしょう?
0926nobodyさん
2007/01/24(水) 02:04:45ID:4lV4Hsrf2002年の本です
使わない方がいいですかねー
0927nobodyさん
2007/01/24(水) 02:33:50ID:???$namae = $_POST["namae"];
if ($namae == "") {
echo "空ですよん";
} else {
$charset = mb_internal_encoding();
$namae = mb_convert_encoding($namae, "SJIS", $charset);
echo "名前は" . htmlspecialchars($namae) . "です。";
}
?>
0928nobodyさん
2007/01/24(水) 02:41:14ID:???0930nobodyさん
2007/01/24(水) 04:05:07ID:52oTItpkってあるじゃないですか。毎時0分にあがってくるんですけどこの仕組みはPHPでもできますか?
cron使わないと無理ですかね?それともPHPで無理矢理みせることも可能でしょうか?
なにかヒントをお願いします。
0931nobodyさん
2007/01/24(水) 04:06:36ID:???時間指定してif文で書けるだろ
0932nobodyさん
2007/01/24(水) 04:06:59ID:???0933nobodyさん
2007/01/24(水) 04:13:39ID:52oTItpkmethodのGETが真なら〜を実行みたいな感じでいいんですかね?
0934nobodyさん
2007/01/24(水) 04:14:15ID:???0935nobodyさん
2007/01/24(水) 04:14:51ID:???そんなトリッキーな実装していると、あとで障害の切り分けとかで困るぞ。
単に、クライアント機に定期バッチ(タスク)を入れて、
scriptをrequestすれば簡単だろ。
0936nobodyさん
2007/01/24(水) 04:44:25ID:???そっちのがトリッキーじゃね?
0937nobodyさん
2007/01/24(水) 05:02:30ID:???cronを擬似したものと考えれば、むしろ自然だと思うけど。
ユーザーのリクエストをトリガーにするのが致命的なのは、
一時間の間に一回もリクエストされない可能性が残されること。
0938910
2007/01/24(水) 05:13:04ID:Mhoyhvpgありがとうございました。
ただ質問なんですが、
mb_convert_encoding($namae, "SJIS", $charset);
で変換後のエンコードは"auto"にしておけばどんな場合でも大丈夫じゃないんですか?
わざわざSJISやEUCを指定する必要があるときってあるんでしょうか?
ただの好奇心なのですが…暇な方ご回答お願いします。
0939nobodyさん
2007/01/24(水) 05:48:41ID:???教えてもらったことを考えもせずにすぐに質問するのは失礼。
0940nobodyさん
2007/01/24(水) 06:44:02ID:???0941nobodyさん
2007/01/24(水) 07:04:37ID:???autoは誤変換の可能性があるので使わない方がいいよ
表示したい文字コードがわかっているなら明示して指定する方がいいだろ
0942軟式PHP
2007/01/24(水) 09:24:13ID:???0943nobodyさん
2007/01/24(水) 09:28:04ID:???0944nobodyさん
2007/01/24(水) 11:21:20ID:???今Jpgrah使っているけど微妙に細かい表現できなくてげんなり中
0945nobodyさん
2007/01/24(水) 11:32:25ID:???何をやりたいかによるよな。
Flashのグラフを作成とか↓
http://www.maani.us/charts/index.php
http://www.amcharts.com/pie/examples/1/
Pearからも
http://pear.veggerby.dk/samples/
0946nobodyさん
2007/01/24(水) 12:13:31ID:52oTItpkこれはどんな仕組みなんでしょうか?
0947nobodyさん
2007/01/24(水) 12:30:15ID:???0948nobodyさん
2007/01/24(水) 12:36:11ID:???0949nobodyさん
2007/01/24(水) 12:51:29ID:???simplexml_load_file()を使ってRSS2.0を読める簡単なrssリーダーを組もうとしてるんですが
<title>要素や<description>要素と違い、<cd:date>と言う形の日付要素のデータがうまく取得できません。
<?php
foreach(simplexml_load_file('http://xxx/rss_2.xml')->channel->item as $it) {
echo "<div><p>".$it->dc:date;
echo "<a href=\"".$it->link."\" target=\"_blank\">".$it->title."</a>";
echo "</p>\n";
echo $it->description."</div>\n\n";
}
?>
こんなふうにやってみたんですが・・・
<dc:date>以外(タイトルと、URL、本文)は表示されます。
simplexml_load_file()で<dc:date>から日付を取り出すにはどう書けばいいんでしょう?
0950949
2007/01/24(水) 12:55:27ID:???>>949のソースだと何も表示されないですね。
「$it->dc:dateの記述を省けば」他のデータは表示される、ということです。
0952nobodyさん
2007/01/24(水) 13:12:31ID:???$dc = $it->children('http://purl.org/dc/elements/1.1/');
echo $dc->date;
0953949
2007/01/24(水) 13:30:01ID:???>>952さんの書き方でばっちり表示できました。
定義を加えてやる必要があったんですね。
情報が少なくて途方にくれてましたが、なんとかなりそうです。
ありがとうございました!
0954nobodyさん
2007/01/24(水) 14:40:13ID:v1411zdjCall to undefined functionと言われてしまいます。
phpinfo()の結果はこのようになっています。
GD Support enabled
GD Version bundled (2.0.28 compatible)
GIF Read Support enabled
GIF Create Support enabled
PNG Support enabled
WBMP Support enabled
XBM Support enabled
Jpegサポートの表示がないので、
gdを入れ直さないといけませんか?
0956nobodyさん
2007/01/24(水) 15:05:32ID:???libjpegがないかもしれないのでインストールしなおしてみます
ありがとうございました
0957nobodyさん
2007/01/24(水) 15:51:04ID:???(Linuxならね)
0958nobodyさん
2007/01/24(水) 16:18:41ID:???configureオプションでディレクトリを指定しないと駄目でした。
もともとライブラリは入っていて
単にconfigureが足りなかっただけかも…。
0959nobodyさん
2007/01/24(水) 16:24:38ID:???1.index.phpに処理を記述
2.index.tplに各変数を送り表示
このような構造の場合、一ページ毎に上記のphp→tplのセットを記述した方がいいんでしょうか?
たとえば、index.php→index.tplを表示し、別のページに移動するときに再びindex.phpを呼び出し、
状況に応じてindex.php→index2.tplを表示みたいに、俗に言うコントローラ部分を使いまわすのは
邪道なやり方でしょうか?
コントローラ部分に記述するのは、どれも同じような物ばかりで、コントローラ部分は、一つのファイルにまとめ、
引数に応じて違うテンプレートを表示させるようなやり方です。
確かに可読性の面でいうと、わかりにくくなりますが、結果として同じコードを何回も記述する事になるので、
どちらが、正当なやり方かわからなくなりました。
好きにすればいいっと言う意見がでそうですが、私はWebプログラマを目指していて、
俗に言う、現場のプログラミング手法でやりたいのですが、
なにせ、その現場のプログラミングという物がまったく分からずに質問させていただきました。
ご意見お聞かせ願いたいです。宜しくお願いいたします。
0960nobodyさん
2007/01/24(水) 16:31:21ID:???このファイルは
セッションと同じく一定間隔でクリアされるのでしょうか?
あるいは自分で削除しないといけないのでしょうか。
0961nobodyさん
2007/01/24(水) 16:39:32ID:???MVCでいえば(MVCもだいぶ古いが)、Mの共通関数クラスや共通業務クラスを作ればいい。
もしくは、Mのsuperクラスを作るとか。
Cは、呼び出すMで決定するのは普通。Cは一クラスで十分なはず。
0962nobodyさん
2007/01/24(水) 16:43:50ID:1SyxEuY9他の人のソースを読んでるんですけど、変数にドルマークを二つ付けるのには意味があるんでしょうか。
こんな感じ。
> $$iniva = "";
0963nobodyさん
2007/01/24(水) 16:54:38ID:???[可変変数]
ttp://www.php.net/manual/ja/language.variables.variable.php
0964nobodyさん
2007/01/24(水) 16:59:58ID:???ご回答ありがとうございます。
>Cは一クラスで十分なはず。
という事は、基本的なWebシステムの場合は、
ベースとなるコントローラは一つで引数等に応じて呼び出す処理クラスを変更すればいいという事でしょうか?
>>959の例でいうと、Webシステムの中でindex.phpが唯一のコントローラであり、
全てのページにおいて、まずindex.phpを呼び出して、状況に応じて処理ロジックを読み込み、
それに応じたテンプレートを呼び出すという事でよろしいでしょうか?
何かおかしな事をいっていたらすみません。
0966nobodyさん
2007/01/24(水) 17:04:35ID:???基本は、それでいいと思うよ。Cは全体で一つ、CでMとVを決定すればok。
(request)→[cotroller.class]→[model.class]→[view1.tpl]
(request)→[cotroller.class]→[mode2.class]→[view2.tpl]
(request)→[cotroller.class]→[mode3.class]→[view3.tpl]
0968nobodyさん
2007/01/24(水) 17:14:33ID:???コントローラーもモデルクラス、
テンプレート等は、全てドキュメントルート外に置いてる。
サーバー設定のポカミスとかで、
ソースが公開されても安全。
0969nobodyさん
2007/01/24(水) 17:18:26ID:???PHPでオブジェクト指向というと必ず使われていますよね?
classの中にfuntionで処理する関数をいくつか作成して
new class()で開始し、$obj->function_name($test);などで実行するわけですが、
普通にfunctionだけ用意して、やる方法と大して差異はない気がするのですが
実際、どういう部分にメリットがあるのでしょうか?
0970nobodyさん
2007/01/24(水) 17:20:58ID:???>>966
ありがとうございます。
本当に勉強になりました。
>>969
継承やオーバライドなど、多数のメリットがあると思います。
0971nobodyさん
2007/01/24(水) 17:23:22ID:???> classの優位性があんまりよくわからないのですが、
> PHPでオブジェクト指向というと必ず使われていますよね?
「class」の優位性じゃなくて、「オブジェクト指向」の優位性実現のためのclass。
0972nobodyさん
2007/01/24(水) 17:23:30ID:???ありがとうございます。
私もテンプレートなどプログラムから直に呼び出すファイルは、
ドキュメントルート外に保存しています。
>俺はindex.phpはコントローラーを起動するだけに留めて、コントローラーもモデルクラス、
このやり方も考えて見ます。
皆様、この度は、有益な情報ありがとうございました。
また何かありましたら、お世話になると思いますが、その時は宜しくお願いいたします。
0974nobodyさん
2007/01/24(水) 18:09:06ID:???で$AAAがnullの場合でもmb_convert_encodingを使ってもOK?
0975919
2007/01/24(水) 18:21:24ID:???【原因 その1】
変数の有無を判別する時は、
if ($name) {}
ではなく、
if (isset($name)) {}
としなければE_NOTICEレベルのエラーが出力される。
【原因 その2】
文字列演算子「.=」を使用する場合は、追加される側の変数が未定義だった場合にE_NOTICEレベルのエラーが出力される。
$value .= '文字列';
↓
$value = '';
$value .= '文字列';
こんなので間違うのは私だけでしょうが、一応スレ汚しの代償としてまとめを残しておきます(´・ω・`)
0976nobodyさん
2007/01/24(水) 18:23:10ID:cRpAzeYnテーブルにデータを追加する仕組みで、基本的に以下のような感じでおかしくないでしょうか?
//実行結果用 - form_send.php
require_once("test_class.php");
$date=date("Y/m/d h:i:s");
$obj = new db_test_class();
$obj->tb_name="datelist";
$obj->field_set1="name,age,sex,comment,date";
$obj->field_set2="'$_POST[name]','$_POST[age]','$_POST[sex]','$_POST[comment]','$date'";
$obj->tableDataSend();
//実行するクラス側 - test_class.php
class db_test_class{
public $tb_name="";
public $field_set1="";
public $field_set2="";
//テーブルにデータを追加
function tableDataSend(){
require_once("config.php"); //データベース接続用の設定ファイル
$sql ="insert into {$this->tb_name}({$this->field_set1}) values ({$this->field_set2})";
$rst = mysql_query($sql, $con);
if($rst){
echo "データを追加しました。";
}
}
}
0977nobodyさん
2007/01/24(水) 18:28:06ID:???php.ini に設定してあるエラーレベルが高いんだろ
$this->skin[〜] というインデックスが定義されていない状態で
.= で文字列結合しているのが問題, その前にこのインデックスを $this->skin[〜] = '' みたいに
何か初期化してやれば NOTICE は消える
ただそこまで重大な問題でもないから表示するエラーレベルを下げるという手もある
スクリプトに error_reporting(E_ALL ^ E_NOTICE); って書いて NOTICE を無効にするとかね
0978nobodyさん
2007/01/24(水) 18:29:22ID:???0979nobodyさん
2007/01/24(水) 18:31:41ID:???いえいえ、ありがとうございました!
学習のため、エラーは全て吐き出すようにしていますが、これではスクリプトを書く前にエラーを吐かないようにするので精一杯です(;´Д`)
0980nobodyさん
2007/01/24(水) 18:33:06ID:???いちいち変数に値格納するんじゃなくて、tableDataSend関数に直で値を持っていけば?
それにそういう使い方をしたいなら、DB固有のネイティブな関数でハードコードするんじゃなくて
PEARなりPDOなりを使ったほうがいいと思うぞ。
セットするデータをわざわざSQLの形にして渡すのも気持ち悪い。
あと、分かってると思うが、POSTされたデータを直でDB登録なんて正気の沙汰じゃないぞ。
100点満点中15点って所かな。
0982nobodyさん
2007/01/24(水) 18:38:38ID:???プログラムのことなので、コチラに投稿しました。
mysql5からストアドが使えるようになったけど、
DB関連の処理をphpからストアドに移行した方がいいですか?
ロジックがphpとストアドで分散するとメンテの時に面倒かなぁと思うのですが、
使い分けしている人いますか?
0983976
2007/01/24(水) 18:39:22ID:???アドバイスありがとうございます。
ソースが長くなるので、サニタイズする件に関しては割合してます。
>tableDataSend関数に直で値を持っていけば?
tableDataSend($field_set1,$field_set2)
こんな感じにするべきだったのでしょうか?
あと、外部ライブラリを使うより簡単な箇所は自分でやった方が覚えると
思って、上記のようなものを書きました。でも、もう少し簡素化・汎用性が利く
用に出来るかなっと思って質問した次第です。
0984nobodyさん
2007/01/24(水) 19:00:27ID:???今は、DB固有の関数で決め撃ちする事なんてないから、そんなの覚えなくてもいいと思うよ。
むしろ、SQL直書きでコードに埋め込みなんかも今はあんまりしない。
PEARならPDOなりを使えば、もっともっと読みやすくて簡潔なコードが書ける。
>tableDataSend($field_set1,$field_set2)
>こんな感じにするべきだったのでしょうか?
クラス内部のほかの関数がどうなっているかにもよるけど、>>976を全てとしてみたら、その方がいい。
ってか、>>976が全てだとしたら、クラス化する意味もあんまりないと思うよ。
プログラムの可読性を下げるだけのクラス化の悪例。
0985nobodyさん
2007/01/24(水) 19:05:16ID:???勉強にもなるし例題としてはいいよね。
0986nobodyさん
2007/01/24(水) 20:05:45ID:???0987nobodyさん
2007/01/24(水) 20:14:31ID:???0990nobodyさん
2007/01/24(水) 20:26:24ID:???0991nobodyさん
2007/01/24(水) 20:26:45ID:???使いたくても、使えない環境もあるよ。
おれのところ、レン鯖(xrea)だからPEARもPDOもつかえないよorz
0992nobodyさん
2007/01/24(水) 20:43:07ID:???身に付くのは確かだわな。PEAR使う奴より、そっちの方が必要あるだろ。
0993軟式PHP
2007/01/24(水) 20:43:51ID:???PEARフォルダを適当に置いて、そこにset_include_path()でパス通してもだめなん?
PEARも結局はPHPスクリプトだから動きそうな気がするんだが…。
0994nobodyさん
2007/01/24(水) 20:44:18ID:f0XbJXyFクマー
0995nobodyさん
2007/01/24(水) 20:59:45ID:???0997nobodyさん
2007/01/24(水) 21:46:00ID:cqEVnQIF0998nobodyさん
2007/01/24(水) 22:14:40ID:???【PHP】下らねぇ質問はここに書き込みやがれ 37
http://pc10.2ch.net/test/read.cgi/php/1169644229/l50
0999nobodyさん
2007/01/24(水) 22:23:28ID:???1000nobodyさん
2007/01/24(水) 22:24:04ID:???10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。