【PHP】下らねぇ質問はここに書き込みやがれ 28
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2006/09/03(日) 21:01:08ID:???まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆質問する場合の注意
1. 自分のIDを表示させること。(メール欄に何も記述しないでください)
2. サーバーのOS、WebサーバーとPHPの種類やバージョン等を明記すること。
3. 己の行った操作、変更などを詳しく明記すること。
4. エラーメッセージはそのまま表記すること。「エラーが出ます」では絶対分かりません。
5. 質問者としても態度をわきまえること。
6. 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・質問者は必ずIDを表示させてください。(メール欄に何も記述しないでください。)
・2回目以降は最初に質問した際のレス番号を名前欄に入れてください。
(逆に回答者は質問者に対して>>(アンカー)をつけて答えてください。)
・解決しなくても回答をもらった場合はお礼を言う。
(荒らし、煽りは除く。逆に煽られたときも、無闇に反論せずスルーすべし)
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークはそれぞれの該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
・オブジェクト指向については良スレがないから本を買え。理解できないならムリに使うな。
・速さについては自分でベンチをとってここに書け(違う環境の人も調べてくれるかも)
0376nobodyさん
2006/09/08(金) 13:26:24ID:???「死ね」が脅迫になるとは初耳だねw。
確かに322はちょっとおかしいけど
よくありがちなミスだったから今後のために良いと思うよ
0377nobodyさん
2006/09/08(金) 14:31:03ID:???乗り遅れた事を激しく悔やむ。
0378nobodyさん
2006/09/08(金) 15:11:56ID:???(ASPでいうところのServer.MapPath)みたいなのをPHPで
行うとすればどのような方法が良いでしょうか?
0379nobodyさん
2006/09/08(金) 15:19:10ID:???も少し説明すると、独自にログファイルを生成したいのですが、
どの階層のファイルからcallされても、トップの下にあるLogフォルダに
(URLでいうと *****.com/log/日付.log)な感じで生成したいのです。
realpathだと、自分自身からの相対パスでないと駄目なようなので。
できれば、上流からのパスで指定したいです。
0381nobodyさん
2006/09/08(金) 15:51:17ID:???そうなんですけど、/opt/の下にある仮想ディレクトリにあるので、
使えないのです。
美しくないけど、グローバル定数に入れておくのが一番楽ですかね orz
0382nobodyさん
2006/09/08(金) 18:23:15ID:???fopen('http://USER:PASSWORD@domain/', ・・・・)
という書き方でdigest認証を突破することはできますか?
もし駄目なら何か方法はありますか?
けして悪用するわけではないで教えてください。
0383nobodyさん
2006/09/08(金) 18:33:41ID:???それならdirname(__FILE__)とかでいいんだろうけど
固定のディレクトリって決めてるなら
むしろabsoluteな指定の方がいいんじゃないか
いまいち説明を把握できてないかもしれん
0384nobodyさん
2006/09/08(金) 19:58:35ID:???1. 自分のIDを表示させること。(メール欄に何も記述しないでください)
2. サーバーのOS、WebサーバーとPHPの種類やバージョン等を明記すること。
3. 己の行った操作、変更などを詳しく明記すること。
4. エラーメッセージはそのまま表記すること。「エラーが出ます」では絶対分かりません。
5. 質問者としても態度をわきまえること。
6. 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
0385nobodyさん
2006/09/08(金) 22:02:26ID:???どっかに落ちてないでしょうか
0386nobodyさん
2006/09/08(金) 22:13:13ID:???0387nobodyさん
2006/09/08(金) 23:09:18ID:???そんなもん5分で自作しる。
function decrgb($c) {
return array(
hexdec(substr($c, 1, 2)),
hexdec(substr($c, 3, 2)),
hexdec(substr($c, 5, 2)),
);
}
var_dump(decrgb("#00FFA0"));
出力結果
array(3) {
[0]=>
int(0)
[1]=>
int(255)
[2]=>
int(160)
}
0390nobodyさん
2006/09/08(金) 23:18:55ID:???0392nobodyさん
2006/09/08(金) 23:35:40ID:???文字の位置って hexdec($c{1} . $c{2}) みたいな感じ?
substrとどっちがマシか微妙な感じだけど…
0393nobodyさん
2006/09/08(金) 23:42:29ID:???まあ、ヘビーなループに放り込まない限りは期待した結果を得られればいい。
0394nobodyさん
2006/09/08(金) 23:49:01ID:Bt7aH3H50395nobodyさん
2006/09/09(土) 00:03:49ID:???項目がたくさんあるのですが、どうやったら簡単に
DBから引っ張った値を表示できますかね?
テキストボックスと、チェックボックスと、ラジオボタンと
動的に項目数が増える項目があるのですが。
0396nobodyさん
2006/09/09(土) 00:06:31ID:???まず自分でソースを書いて分からない所を聞いてください。
ここはWEBプログラムする人の板です。
あとID出して下さいね。
詳細は>>1を一読の事。
DBから値を取得して、必要なHTMLを表示するとしか答えにくい質問のような・・。
0398nobodyさん
2006/09/09(土) 00:26:47ID:???チェックボックスやラジオボタンが出てくるような設定画面だと、
設定可能な有効範囲とか種類が決まってないといかんと思う。
そういったデータをどのように格納しておくかで設計も決まってくるかと。
0399395
2006/09/09(土) 00:33:37ID:???あとはコーディングするだけなのですが、
いかんせん項目が多いので
楽な方法で実装したいのですが。。
別に根気よく書けば問題ないのだが、
どうやれば一番効率いいかなと思って。
0400nobodyさん
2006/09/09(土) 00:44:12ID:???DBでもiniファイルでもあるいは単なるPHPの配列データでもいいから
設定項目と設定値の型と設定可能範囲などを記録したもの作って、
あとはそれ読み込んでループで回しながらデータ通りにHTML吐くだけかと。
0401395
2006/09/09(土) 00:52:22ID:???なるほど。ありがトン
60部品くらいある画面6画面も3日で作らないといけなくて、
困っていますた。
あと、追加ボタンがあって、動的に増えていく項目もあるのですが、、
これはどう扱えばいいのでしょう。DBからの読み書きがあるのですが。。。
これも悩みの種なのです。設定項目数が一定しないから、iniにも書きづらいです
0402nobodyさん
2006/09/09(土) 01:10:10ID:???0403nobodyさん
2006/09/09(土) 01:18:59ID:???聞いてる限りじゃ3日どころか1日でやる仕事だがw
動的に増えるフォームはその登録項目自体に現在の項目数をhiddenで持たせて
追加ボタンクリック→1個増やして表示、でいいんじゃないの?
iniには初期数と最大数でも格納しときゃいいと思うが。
イマイチレベル低すぎて、どこで困ってるのか分からんです。
なんか仕様を整理して後はその通りに実装する、ってだけで終わる話にしか聞こえない。
0404nobodyさん
2006/09/09(土) 01:34:07ID:???作り方がどうこうっていうより、各項目の状態を仕様としてまとめられてない時点で
多分今のあなたにはそれを効率よく作ることは無理だと思う。
諦めて地道に作った方がいいんじゃないのか?
0405nobodyさん
2006/09/09(土) 01:35:22ID:???必要なのは言語の勉強ではなく設計の勉強。
言語仕様が分かればプログラムが書けると思うのは壮絶な勘違い。
0406395
2006/09/09(土) 01:47:06ID:???あと製造開始まで2,3日あるからそれまで仕様をまとめます
3日といわず1日でできるように。。
HTML_QuickForm教えてくれた方もありがとうございました
0407nobodyさん
2006/09/09(土) 01:49:31ID:???レイアウトはかなり作りこまれたものになると思うし。
とりあえず3日かけてベタ書きするのみ。
そういう仕様にしてしまったのなら。
「使いづらいからページ分けて」と言われ、嫌にならないことを祈るよ。
0408nobodyさん
2006/09/09(土) 02:25:23ID:???渡された画面を動的生成できるように作るだけだろ?
0409nobodyさん
2006/09/09(土) 06:26:39ID:???>「死ね」が脅迫になるとは初耳だねw。
>>322が慌てて自己弁護に走り出しました。
しかしもう手遅れです。彼はもう既に犯罪者なのですから。
0410nobodyさん
2006/09/09(土) 07:18:40ID:stHF8kGV0412nobodyさん
2006/09/09(土) 11:27:16ID:???最低限の条件の上での設計になるだろう。で、その設計
通りに作ると、当初想定していた条件範囲内での変更
であれば簡単に対応できる。
しかし、設計の想定条件を越える変更を加えようとすると
折角時間かけて設計したのにグズグズになってしまうこともある。
そうなると、あぁ〜前提条件ミスったな。とか
あれもこれも、欲張るんじゃなかった。とか
いっそのことベタ書きでもよかった。とか後悔することもある。
結構、バランス難しいと思うけどね。
0413nobodyさん
2006/09/09(土) 11:27:33ID:???ホントに脊髄反射だな。
そもそもhiddenデータも含めてエラーチェックされてれば
セキュリティ的な問題は出ないよ。
0416nobodyさん
2006/09/09(土) 11:52:34ID:???0417411
2006/09/09(土) 12:25:54ID:???セキュリティは重要な時代になってると思うよ?CSRFあるしな
hiddenの件は書き方足りなかったね。すんません。
案外、(hidden=画面から見えない項目)<>ユーザからの入力項目
と認識してない人が多いから。hiddenもSubmitの都度他の入力項目と
同じと考えようね。(hiddenであろうとなかろうと、って認識してない
人が多いって事)ということを言いたかった。
0418411
2006/09/09(土) 12:35:04ID:???まぁいっか・・・
0419nobodyさん
2006/09/09(土) 12:47:01ID:???0420nobodyさん
2006/09/09(土) 13:09:25ID:bt/VDzRMPEARのDB_DataObjectで「UPDATE」するときの質問です。
DB_DataObjectのインクルードや設定ファイル読み込みが終わったとしします。
numが1のデータを探して年齢を変更するといった場合は
$hoge=DB_DataObject::factory("hoges");
$hoge->get(num,1);
$hoge->age = 15;
$hoge->update();
でできるのですが、numが1で名前がyamadaのデータの年齢を変更するといった場合がうまくできません。
$hoge=DB_DataObject::factory("hoges");
$hoge->whereAdd('id = 1');
$hoge->whereAdd('name = yamada');
$hoge->age = 15;
$hoge->update();
PEARのドキュメントをみても、複数絞込みのUPDATEの例がなくてこまっています。
直接SQL query()をなげるしかないのでしょうか。
0422かむかむ
2006/09/09(土) 15:03:38ID:WZEde27eもっと効率的な方法ありますでしょうか?
class Globals {
public $user = array();
//POST
function Post($element) {
if(!is_array($element)) {
$this->user[$elsement] = htmlout($_POST[$elsement]);
} else {
foreach($element as $element=>$key) {
$this->user[$elsement][$key] = htmlout($_POST[$elsement][$key]);
}
}
}
//GET
function Get($element) {
if(!is_array($element)) {
$this->user[$elsement] = htmlout($_GET[$elsement]);
} else {
foreach($element as $element=>$key) {
$this->user[$elsement][$key] = htmlout($_GET[$elsement][$key]);
}
}
}
0424かむかむ
2006/09/09(土) 15:22:41ID:WZEde27e返レスありがとうございまする!
基本的に分かりやすいのがベストだと思っているんでこんなクラス名・メソッド名にしました(`□′)b
$global = new Globals;
$global->Post('text');
$global->Get('hoge');
こんな感じでインスタンスしてますが、できればGET,POST関係なくとれれば(内部で対応)できればと考えてます
$global = new Globals;
$global->_GP('text');
$global->_GP('hoge');
0425420
2006/09/09(土) 15:24:18ID:bt/VDzRMありがとうございます。やはりそうですかね。できれば、テーブル構造の変化も予想されるので、直接SQLを記述する方法は取りたくなのです。
query();使う以外に方法はないものでしょうか。
0426nobodyさん
2006/09/09(土) 15:40:56ID:???フォームからの書き込みをphpで処理し
xmlとして出力するものを作っています。
Operaで全角文字を書き込むと、
一部の文字が勝手に実体参照に変換され送られています。
(たとえば「〜」が「?」に)。
このため、文面の一部としてフォームに書き込まれた「&」を「&」に変換する際、
既に実体参照に変換された全角文字の先頭の「&」までもが
更に「&」に変換されてしまい、ぐちゃぐちゃになってしまいます。
Firefoxではこうしたことは起きないようです。
どなかたうまい解決法を教えてくださいませんか。お願いします。
0428nobodyさん
2006/09/09(土) 15:48:31ID:???「&」を「&」に変換する際、
更に「&」に変換されてしまい、
です。すいません。
0429428
2006/09/09(土) 16:10:49ID:WZEde27e0430nobodyさん
2006/09/09(土) 16:15:29ID:???そういうのをクラスにするのは、ただの無駄だと思うけど。
どうしてもGET, POSTを統一したければ
$var = (getenv("REQUEST_METHOD") == 'GET') ? $_GET : $_POST;
こんなんで、十分では。
0431426
2006/09/09(土) 16:16:40ID:???やっぱり実体参照を全部実体に変換して、
その上で再度実体参照に変換するしかないですよね。
0432nobodyさん
2006/09/09(土) 16:59:51ID:???ちょ、おまw
こんなことができなくなるよ。
<form method="post" action="example.php?foo=getdata">
<input name="foo" type="text" value="postdata">
</form>
0433nobodyさん
2006/09/09(土) 17:11:07ID:???0434nobodyさん
2006/09/09(土) 17:41:53ID:???0438nobodyさん
2006/09/09(土) 20:19:18ID:???0439nobodyさん
2006/09/09(土) 20:22:38ID:???仮に出来たとしてもやるべきではないわな。
POSTなのにわざわざURL引数としてパラメータ指定する意味がわからん。
0441nobodyさん
2006/09/09(土) 21:51:01ID:???いや、GETとPOSTの組み合わせは問題ないと思うけど
Firefox、Opera、IE、Safari、au W31CA、DoCoMo So505is、Lynx で問題無かったし、
W3C のHTMLチェックと、HTML-lint のチェックも通ったよ
それに、HTMLの仕様をざっと読んだ限りでは問題点は発見できなかった
見落としているかもしれないが…
0443初心者ですいません
2006/09/09(土) 23:05:47ID:7mfku9TF<?php include("○○○.php"); ?>
これは外部からphpを呼び込めますが。
これを拡張子がHTMLでも呼び出したいのですが
方法とかあるのでしょうか?
拡張子がphpの場合は、うまいことよびだされるのですがhtmlにすると
エラーがでて無理です。
.htaccessとうでやり方がありましたら教えて下さい m(_ _"m)
0445nobodyさん
2006/09/09(土) 23:15:12ID:???やっときちんとID出してる質問者さんが・・
読み込んだHTMLがPHPとして問題があるからエラー出てるのかな
0446nobodyさん
2006/09/09(土) 23:22:40ID:???HTTP的には「POSTメソッドのリクエスト先URLがexample.php?foo=data」
となっているというだけ。というのがより正しいような気がする。
で、本題だけど、少なくとも
<form method="post" action="example.php?foo=data">
<input name="hoge" type="text" value="postdata">
なんていうのは多くのサイトでやってることだよね?
でできる?できない?と意見が割れてるのは
<form method="post" action="example.php?foo=data">
<input name="foo" type="text" value="postdata">
と同じ名称(foo)を指定した場合のことですよね?
ちょっと読んでて気になったのでまとめてみたずらー
0447nobodyさん
2006/09/09(土) 23:25:10ID:???そのHTMLファイルの拡張子をPHPに変えるというのも一つの手だな
じゃあ俺はちょっくらラーメン食べに言ってくる
0449nobodyさん
2006/09/09(土) 23:26:49ID:???<?php include("○○○.php"); ?>
が書かれているものの拡張子をhtmlにしたいの?
それとも、
<?php include("○○○.html"); ?>
にしたいの?
前者なら、
AddType application/x-httpd-php .html
後者なら常に可能なはず。
動かないのであればエラーが出ているはず。
error_reportingとdisplay_errorsを適切に設定してみて。
0451nobodyさん
2006/09/09(土) 23:28:59ID:???0452441
2006/09/09(土) 23:29:12ID:???あ、なるほど
両方 name が "foo" だったのね
それは気がつかなかった
ちなみに、この場合だけど、リクエストURIと、POSTデータは別物なので、
両方とも同じ名称を用いてもHTTP/HTMLの仕様上問題は生じないはず
Webプログラミング言語がどうなってるかは知らないが php5 では少なくとも
問題は生じてないみたい
0454nobodyさん
2006/09/09(土) 23:38:37ID:???違います。パラメータ名の重複とか関係なく
FOMAではPOSTメソッドでactionに?〜を付けても無視される。
0455nobodyさん
2006/09/09(土) 23:41:54ID:???簡単に文字列に変換する方法はないでしょうか?
(string)で型変換してみましたが、変わりませんでした。
現在はimplodeでやっていますが、もう少し簡単にできる方法があればご教示お願いします。
0456初心者ですいません
2006/09/09(土) 23:47:59ID:7mfku9TF>>447-448
>>449
ありがとうございます m(_ _"m)ペコリ
>>449さんの前者のたとえが正解です。
大変参考になり助かりました!
検索をして勉強もかねてそのようにしたいと思います。
本当にありがとうございました。
ここできいてよかったです!
0457かむかむ
2006/09/09(土) 23:51:23ID:WZEde27e返レス有難うございまする!
では
$_POST['hoge']
$_GET['hoge']
でとるしかないのでしょうか?
0458nobodyさん
2006/09/09(土) 23:51:48ID:???どうでもいいけど、それでブラウザ依存とか言われたら困るんだけど
あくまでも 「FOMA の欠陥」 だから。
だいたい、メールアドレス の @ の前に "." を使えるようにして、それを RFC準拠だと主張したりするのがドコモだからね
Microsoft のメールサーバにも拒否されるまぬけなアドレス
勿論、Unixの多くのMTAでもこんな仕様違反のメルアドは使えないから不着トラブルも多発
0460nobodyさん
2006/09/10(日) 00:04:22ID:???最近、他のキャリアもDocomoの真似するようになってきて大迷惑だよね。
あんなメールアドレス通すなよなー。
0461nobodyさん
2006/09/10(日) 00:24:00ID:yhAV7xHo相対パス(例: ../hoge/foobar.html)を計算して、絶対URL(この例だと「http://example.com/hoge/foobar.html」)を求める
にはどうすればよいでしょう?
そのような関数が無ければ、自分で定義するしかありませんが、もしそうなら
正規表現であーだこーだやって絶対URLに変換するしかありませんよね?
0462かむかむ
2006/09/10(日) 01:03:50ID:IiyA9HmKそれだと配列にするのが手間なんですよね
0463かむかむ
2006/09/10(日) 01:06:43ID:IiyA9HmK絶対urlを相対パスにしてそれから絶対urlを求めるって支離滅裂じゃないかな?
0464nobodyさん
2006/09/10(日) 01:31:31ID:???うげ〜
そんなこっちゃ、多くのWebサイトは
FOMAからは正常にPOSTできないという
トラブル続発ってことですよね。
FOMAって市場に出てから結構経ってるのにねぇ〜
っていうかFOMAのブラウザが悪いのか?
あ、すれ違いな話題になってきたのですが、
興味あるので、ググルキーワードだけでも
おしえてもらえませんか?<(_ _)>
FOMA GET POST あたりでトライしてみたのですが
見つからなかったので
0466nobodyさん
2006/09/10(日) 01:33:43ID:ofHvlQB30468nobodyさん
2006/09/10(日) 01:37:48ID:ofHvlQB3別に詐欺とかそういう黒いことに使うつもりはありません。
ネットワークソフトの解説でわかりやすくするために使いたいのですが
教えていただけないでしょうか?
0469nobodyさん
2006/09/10(日) 01:38:27ID:NtN9U8j4if($a < -5) {
マイナス5よりも小さければ何々みたいな
0472nobodyさん
2006/09/10(日) 01:44:07ID:???ある、がここはプログラムをする人のスレなのですれ違い
移動してください
>>469
試せばすぐ分かります。
上と同じなのでプログラムする気が無ければ別のスレへ行ってください。
やって出来なかったのであればソースを提示してください。
0473nobodyさん
2006/09/10(日) 01:45:47ID:???試したけど出来なかったんです
でも今、最小値を一番頭にもってきたら出来ました
並び順なんて関係あるの
0474nobodyさん
2006/09/10(日) 01:54:30ID:???名前:772[] 投稿日:2006/04/07(金) 19:27:39 ID:jJE5oi/7
772?で公開した?URI?の?validation?システムをバージョンアップしました。
相対?URI?も解釈可能です。
【設置場所】?http://trashtoy.dw.land.to/app/uri/?
【ソース】?http://trashtoy.dw.land.to/app/uri/uri.zip?
【プログラミング経験】 3年?
【希望評価スタイル】 重箱の隅をつっつくような細かい指摘もどしどしお願いします。?
【自分の性格】 アーキテクチャにとことんこだわるタイプ。納期を守るのはたぶん苦手。?
【実行例】
http://trashtoy.dw.land.to/app/uri/?uri=../section/1.html#TOC&base=http://example.com/sitemap/index.html
http://trashtoy.dw.land.to/app/uri/?uri=file:///C:/Program%20Files/Internet%20Explorer
http://trashtoy.dw.land.to/app/uri/?uri=mailto:[email protected]
【備考】 花見をもっと楽しみたかった。
参考になればいいね
■ このスレッドは過去ログ倉庫に格納されています