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

【PHP】くだらねぇ質問はここに書き込みやがれpart7

■ このスレッドは過去ログ倉庫に格納されています
00019662005/07/12(火) 01:47:09ID:qOoYFCn7
PHPに関するくだらない質問用すれです。
ここなら本スレで回答のないお前の下らない質問に回答があるかも知れません。
次スレは>>970あたりが建てて下さい

・過去スレ
【PHP】くだらねぇ質問はここに書き込みやがれ
http://pc5.2ch.net/test/read.cgi/php/1099322141/
【PHP】くだらねぇ質問はここに書き込みやがれpart2
http://pc5.2ch.net/test/read.cgi/php/1105218084/
【PHP】くだらねぇ質問はここに書き込みやがれpart3
http://pc5.2ch.net/test/read.cgi/php/1107780435/
【PHP】くだらねぇ質問はここに書き込みやがれpart4
http://pc8.2ch.net/test/read.cgi/php/1110697712/
【PHP】くだらねぇ質問はここに書き込みやがれpart5
http://pc8.2ch.net/test/read.cgi/php/1114787573/
【PHP】くだらねぇ質問はここに書き込みやがれpart6
http://pc8.2ch.net/test/read.cgi/php/1117945031/

立ってなかったんで>>970に近かった自分が勝手に立てちゃいました。
0233nobodyさん2005/07/18(月) 23:58:39ID:Mt/K/zKf
全てのリンクURIにあるクエリを付加させたいとします。
たとえばセッションIDとか。この場合、リンクタグを書く際にいちいち
<a href="〜/?sid=<?= $sid ?>">次のページへ</a>
のように書くか、関数かなにか作って
<?= generateLink("http://〜/", "次のページへ", $query) ?>
↓ 下のように出力される
<a href="http://〜/?sid=xxx&name=xxxx">次のページへ</a>
のように書くかのどちらかくらいしか思いつきません。

前者はいちいち書くのが面倒だし、書き忘れると大変です。
後者はデザイン担当の人が使い方を覚えるのを嫌がるのでできれば避けたいです。
皆さんはどちらを使ってますか。あるいは他のやり方で解決してたりしますか?
0234nobodyさん2005/07/19(火) 00:12:35ID:???
>>233
セッションidの自動付加(session.use_trans_sid)以上の機能が必要なのかな?
0235nobodyさん2005/07/19(火) 02:50:03ID:???
xslファイルをメモリ上に生成してxmlに適用するのってどうやればできるんですか?
0236nobodyさん2005/07/19(火) 03:20:15ID:???
例えば echo $_GET["hoge"]; とだけ書いてある get.php に
http://php.domain/get.php?hoge=a+b+c
でみたいにアクセスすると、表示されるのは
a b c
と + (プラス)が (空白)に置き換わるのは仕様??
マニュアルのどっかに書いてある?それとも RFC かしらん?
0237nobodyさん2005/07/19(火) 03:45:17ID:???
>>235
DOMDocument::loadXML()を使うんだ

>>236
PHPの仕様。URLデコード済みのデータが入る
0238nobodyさん2005/07/19(火) 05:52:32ID:IezOVCMv
PHP+MySQLでwebアプリを作っておりますが、DBについての基礎知識や経験が無いため、
いつもデータ型の決定やテーブルのレイアウトで悩みます。

データ型などを決定するにあたっての「原則」というか「常識」みたいなのはありますでしょうか?
リファレンスなどを見てもそれぞれのデータ型に関する教科書的な説明しかなくて、
もっと実用的に「実際にはこういうデータの時にこの型を使う」みたいなTipsを知りたいのですが、
そういうのをまとめたサイトもしくは書籍ってありませんでしょうか?

ド素人の状態から一人でゼロから学んで一人で開発してるので、
周りに誰にも質問できる人がいなくて困っております。。。
0239nobodyさん2005/07/19(火) 06:00:58ID:???
PHPと関係ないようだし、DBの質問としても理解しがたい部分があるなあ
0240nobodyさん2005/07/19(火) 07:05:03ID:???
>>239
後々のことを考えると、DBの初期設計はかなり重要だぞ。
MySQLならPHPとの連携も深いしな。

まあ趣味程度のヤツならあまり気にしなくてもいいかもしれんが。
0241nobodyさん2005/07/19(火) 07:10:19ID:UElzZYBi
         ,/””   ”ヽ
        ,/   __ _ ゛
        /   /““  “” ヽ |
        |   / -━  ━.| |
        |   |.  “” l “ .|.|   
        (ヽ |   r ・・i.  ||   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
        りリリ  /=三t. |  <  その駄レス! 0円!! 
        |リノ.      |            ,、‐''""''、
         |   、  ー- " ノ           ,、‐゙     ',
.   _,r''''''ー/   ”ー-- "  ヽ         ,、-'"       j
  /   、 ,,,_ヾ ヽ───、;;;;;::.;、-'" ̄~~~゙゙゙"          /
 /   、` ~  ~゙''''''''''"~´  ゙'ソ.      ',        ....::::::::::::/
./   ... ´        .::::;/       ゙、..... ........:::::::::::::::::::::/
 '、:....:::::",         .:;rj゙         ゙、;;;;::::::::::::::::::;;;;、-''゙     ビシィッ!
.  ヽ;:::::"._      .:::i';/     ゙、      ゙、`~~~゙゙~ 、、、..,,_
.    ヽ、;;;;;>、:::...  ::::r'        ゙、     ゙、::::::         ヽ
       ',:::::::::゙i'r、;:::::::!.  ヽ      ゙、    .::〉::::::....      }
.       ',::  l:/;;;::゙'ーr゙、   ヽ    ゙.、.:::::;/'ー 、、;;;;____;;::、-'"
        }、 l:::::::~゙''''! i .........ヽ........:::::;r゙''"
        |  l::::::::::::::l  .〉、;;;;;;::、-'rーi''゙
        ノ  i;;;;;;;;;;;;;j::::/;;;;;;;;ノ:..  |: j
0242nobodyさん2005/07/19(火) 08:07:48ID:???
>>238
逆に言えば教科書的な説明で十分なくらいしかルールがないと思った方がいいんでは。
ド素人がいきなりカッチリしたもの作ろうって方が間違いでしょう。
0243nobodyさん2005/07/19(火) 08:18:32ID:???
>>238
俺も同じ境遇だったから(一人で開発、ド素人でゼロからって点で)、かなり共感。
DBのレイアウトは最初とまどった記憶がある。
まーでも「DB レイアウト」とかキーワードにググればけっこうでるんじゃない?

あとはあんまり考えすぎないほうがいい。
DBの場合、運用し始めてからでは変更が加えづらい
ってのが気になると思うけど(実際そうだけどさ)、
まったく変更できないわけじゃないし、
気に食わなかったら最初からやり直せるのも自分だけでやってることの利点。
もしくは気に食わない部分をいかに少ない変更でやりくりするかってのも抑えるべきポイント。

特に一人でやってると、期限がないし、プッシュしてくれる人がいないから、
こだわり始めると立ち止まりがちになる。
それよりはちょっと思い切ってさっと進んだ方がいいものができる。
ある程度こだわるのも重要なことなんだけどな。
ガンガレ!
0244nobodyさん2005/07/19(火) 08:36:23ID:???
ぐぐるならそんな微妙な単語じゃなくて「データベース 設計」だろ。
0245nobodyさん2005/07/19(火) 08:46:16ID:???
上のキーワードはネタだろ。
phpスレ的に言えることはパクれってことかな。
0246nobodyさん2005/07/19(火) 11:23:54ID:???
スレ違いには違いない
むしろ板違い
0247nobodyさん2005/07/19(火) 17:34:07ID:QxSJ/3p1
抽象クラスとインターフェイスを継承・実装する場合、
その2つで同じメソッドを宣言(抽象クラスでは抽象メソッドとして)するのはダメなのでしょうか?
またダメな場合どちらで宣言した方がいいのでしょうか?
0248nobodyさん2005/07/19(火) 17:59:05ID:Kj4TO5G6
COBOL詳しい人にPHPを覚えてもらおうと思うのですが、
どうでしょう?すんなりなじんでくれるでしょうか?
02492382005/07/19(火) 18:12:44ID:IezOVCMv
>>242、>>243
ありがとうございます。
そんなに気にしなくてもいいものなんでしょうか。。。
一人で開発してるとは言え、いちおう事業としてシステム提供しようと
思っていますので、スケーラビリティとかメンテナンスとかも考慮しなければ
いけないのかな、とかなり悶々と悩んでおります。

たとえば、ある数字(たとえば何かの通し番号)ひとつ格納するにしても、
「TINYINT」にしようか「SMALLINT」にしようか、それとも「VARCHAR」でいいのかな?とか…。

あるいは、数十文字程度しか入力されないであろう文字列用のフィールドでも、
念のために「TEXT」にしておこうかな…とか。たとえばVARCHAR(50)よりもTEXTにした場合、
領域が無駄に消費されるとか、レスポンスが悪くなるとかってあるのでしょうか?
効率が悪くなるとか・・・そういうの悩みはじめるともう尽きません。
0250nobodyさん2005/07/19(火) 18:15:33ID:???
>>249
だから板違い。
データベース板に行け
0251nobodyさん2005/07/19(火) 18:18:36ID:???
>>249
心配するな。
その程度のことも判断できない、勉強もしない、勉強の仕方も判らないヤツが
作ったシステムに銭を払おうとは誰も思わん
0252軟式PHP2005/07/19(火) 18:20:03ID:???
>>248
学生レベル程度にCOBOLを組めるけど、COBOLは忘れて
心機一転で覚えてください。というしかないw

0253nobodyさん2005/07/19(火) 18:22:57ID:???
>>248
そのお方はCOBOL以外の別の言語は知っているのかな。
知っているのなら、そう心配することはないと思う。
COBOLしか知らないのなら、そんな方は相手にせずに
アルバイトでも雇ったほうが効率はいいと思うよ。
02542382005/07/19(火) 18:32:09ID:IezOVCMv
>>251
というか、もう第一弾で作ったシステムには既に数十社の顧客がおりますが…。
月商もあなたの給料の3〜4ヶ月分くらいはあると思います。

今のところシステムには特に問題は出てないですが、より良いものにしたいのです。

>>250
>WEBプログラミング@2ch掲示板
>Oracle, PostgreSQL, MySQL といったデータベースの話などをテーマにしています。
0255nobodyさん2005/07/19(火) 18:37:43ID:???
そろそろ失せろやカス
0256nobodyさん2005/07/19(火) 18:40:47ID:???
>>255
喪前は>>251か?ww
偉そうに上に立ったつもりが思わぬ反撃されて逆ギレするのはダセーよ(藁

>>238
とりあえずDB関連の本を何冊か読んでみろ。そんでもう一回質問しる。
0257nobodyさん2005/07/19(火) 18:43:00ID:???
自演乙
0258軟式PHP2005/07/19(火) 18:44:27ID:???
ageてたら自演の匂いがするからsageたほうがいいよ。
0259nobodyさん2005/07/19(火) 18:45:06ID:???
>>251=>>255=>>257=見てて恥ずかし過ぎる・・・カコワルイ
0260nobodyさん2005/07/19(火) 18:46:50ID:???
>>249
うわ、2〜3年前の自分を見るようだ。
とりあえず、数値以外は
全 部 テ キ ス ト に し て お け

変に設計勉強してテーブル分けると自分でどうにもならなくなる。
困ったらフィールド追加で免れろ。

そんな感じで作った奴もトラブルなくちゃんと動いてるし、なによりメンテしやすい。零細企業が立派な決めごと作ってもしかたないのと一緒。

0261nobodyさん2005/07/19(火) 18:48:58ID:kS82naWb
PHPのマニュアルを読んでいて気になったんだけども、
UNIX/WindowsともにApache2.0.xでPHP4を実運用するなって旨の
文書を見つけた、これって今のVersionのApache2.0.x+PHP4.4でも
云えることなのかな?

#参考URL
http://php.s3.to/man/install.apache2.html
>"Apache 2.0とPHPの組み合わせを(Unix、Windows
>どちらのプラットフォームでも)実運用環境で使用しないでください。"
0262軟式PHP2005/07/19(火) 18:52:49ID:???
スレ違いだとは思うけど俺も一言。
全部テキストってのは俺はしないけど、260の言うようにある程度冗長性を持たせて
データ型は作った方がいいと思われ。MySQLは途中で型変更出来るが
PostgreSQLなんかは途中で型変換出来ないので。
あと、最低限の正規化はやっといたほうがいいと思う。関数を作らないプログラムみたいに保守性・拡張性がガクンと落ちる。
0263nobodyさん2005/07/19(火) 18:55:48ID:???
>>238
つ[ http://allabout.co.jp/career/database/subject/msub_sekei.htm ]
0264軟式PHP2005/07/19(火) 18:56:11ID:???
↑突っ込まれると嫌なので一応PostgreSQLも型変換をやろうと思えば出来る。
一時的なカラムを作成して、そっちに一回移してホンニャカってやる。
0265軟式PHP2005/07/19(火) 18:58:23ID:???
>>261
http://www.php.net/manual/ja/install.unix.apache2.php
「PHP と Apache 2.0.x の互換性に関する注意: PHP の以下のバージョンは、Apache 2.0.x の最新版での動作が確認されています。 」
っていうところが参考になると思われる。
0266nobodyさん2005/07/19(火) 19:01:06ID:???
>>254が精一杯強がっているみたいでカワイイ
0267nobodyさん2005/07/19(火) 19:01:56ID:???
数値と文字列の使い分けで悩んでいるようだと、SQLをうまく使わずにデータファイル代わりにDBを使っている状態じゃないかな?
ソート時の辞書式・数値式やjoinする時の事を考えるとデータ型ってのはある程度決まってくる。
その上で、冗長なデータ排除や効率化のためのテーブルのレイアウト(てか、データベース設計、テーブル設計と言うかな)の話になってくる。
ここまでの話はPHPが関係する部分は無いから、専用板であるDB板が良いと思われ。
書籍スレもあったんじゃないかなぁ。

>>261
本家のマニュアルを読んでください。
0268nobodyさん2005/07/19(火) 19:07:46ID:???
>>265
おおっ、成る程、サンキュー

>>261
いやいや、ホント申し訳ない、
キチンと検索せんといかんね。
0269nobodyさん2005/07/19(火) 20:22:22ID:???
$a = "<FONT size='2'>hoge</FONT>";

このようにすると$aには<FONT size='2'>hoge</FONT>という文字列が格納
されるわけですが、
$aにサイズ2のhogeという文字列を格納したい場合、
(つまりHTMLを反映させた後の状態を格納したい場合)
どのようにすればいいのでしょうか?
ヒアドキュメント以外で方法はあるでしょうか?
0270nobodyさん2005/07/19(火) 20:35:41ID:???
$a = 'サイズ2のhoge';
0271nobodyさん2005/07/19(火) 20:42:31ID:???
>>269
サイズが2倍になったhogeを文字列に格納したいってことか?
であればムリ。ヒアドキュメントを使ってもムリ。
いったい、その文字列を格納して何をしたいんだ?
0272nobodyさん2005/07/19(火) 20:49:27ID:???
>>269
よく分かんないけど、文字列そのものとその属性値を分離したいってことなら、配列に格納するくらいしか無いんじゃないかな?
そいでもって、出力する時にhtmlとして整形する。
(下のようにsprintfなりヒアドキュメントなりテンプレートエンジンのフィルタなり。xslの方に飛びぬけるのもありか...)

$a = array('str'=>'hoge','size'=>2); // 文字列は'hoge'、属性値は2
echo sprintf("<font size='%d'>%s</font>",$a['size'],$a['str']); // <font>を使って、size=2
echo sprintf("<span style='font-size: %dem'>%s</span>",$a['size'],$a['str']); // <span>を使って font-size: 2em
0273nobodyさん2005/07/19(火) 20:52:54ID:???
まぁ、格納するならstyle属性ぐらいにしとけ
0274nobodyさん2005/07/19(火) 20:59:57ID:???
なかなかいい釣り餌ですね
0275nobodyさん2005/07/19(火) 21:00:39ID:4ZlIiQSx
php 4.4.0でeacceleratorは動きますか?
makeし直して入れてみたんだけど、なんか動かないっぽ。
0276nobodyさん2005/07/19(火) 21:08:10ID:???
>>275
動く。手順を再確認。
0277nobodyさん2005/07/19(火) 21:15:37ID:???
>>276
どうも、動きました!
eAcceleratorをmakeしなおす時に、make cleanしてなかったためのようでした。
0278nobodyさん2005/07/19(火) 21:42:38ID:4ZlIiQSx
PHP 5.1がいつ頃 stable になるか、ある程度、予測はできないですかね?
0279nobodyさん2005/07/19(火) 21:53:53ID:???
暇なんでstableみたいなPHP 5.1つーのを作ってみるわ。もちろんWindowsネイティブな。少しまちなー。
0280nobodyさん2005/07/19(火) 22:13:06ID:???
>>261
マニュアルのその記述はいまいち情報不足。
prefork MPMとかCGI版とApache2との組み合わせで問題はまず起きない。
worker MPMとかperchild MPMと組み合わせた時にまだまだ問題が多いので
実運用では使うなつうこと。prefork MPMでApache2運用つうのも
Apache2の本来の実力じゃないしね。

あと ttp://php.s3.to/ のマニュアルは古いから、余り参照すんな。
Googleでの検索では上位にくるけど。
0281nobodyさん2005/07/19(火) 22:19:30ID:???
$keyword="aaa bbb ccc ・・・"
とスペース区切りの文字列(フィールドの数は可変)をそれぞれ
$word[0]="aaa"
$word[1]="bbb"
$word[2]="ccc"
・
・
・
と別の変数に格納するのはどうすればよいのでしょうか?
$ketwordのフィールドの数が決まっていればsplitで切り出せるんですが、
可変するため、うまく切り出すことができません。
0282nobodyさん2005/07/19(火) 22:25:34ID:???
>>281
explode
0283nobodyさん2005/07/19(火) 22:31:28ID:???
1年ぶりくらいで新しくなったchmもらったら全く使えなくなってたので誰かどうにかしてください。
0284nobodyさん2005/07/19(火) 22:31:32ID:???
>>281
最後の方読んでなかったorz
正規表現使わないんだったら、splitよりexplodeの方が高速だよ。

普通に
$word = explode(' ', $keyword);
でいけるでしょ。
list($word[0], $word[1], ・・・) = split(' ', $keyword);
とかしてない?
0285nobodyさん2005/07/19(火) 22:32:50ID:???
>>281
>$ketwordのフィールドの数が決まっていればsplitで切り出せるんですが

splitの使い方間違っていないか?
0286nobodyさん2005/07/19(火) 22:34:56ID:???
>>284
別に
$word = split(' ', $keyword);
でもいいわけだが。
0287nobodyさん2005/07/19(火) 22:35:15ID:???
すみません、PHPというよりは一般的な質問になるんですが、一応PHPで
コーディングしてるのでアドバイスいただけだらありがたいです。

今、ブログから更新通知Pingを受け取って新着エントリー一覧を表示する
プログラムを書いてます。
http://www.boundless-ocean.ne.jp/archives/000049.htmlあたりを参考に、
PEARのXML-RPC Serverを使ってブログのタイトルとURLを読み出すこと
はできました。

しかし、新しく作成されたエントリーのタイトルやURLをどうやって読み出せば
良いのか分からないのです。

普通のPingサイトだと(Myblog japanとか)個別にエントリーのタイトルとURL
も表示できているので、方法はあると思うんですが・・

よろしくお願いします。
02882812005/07/20(水) 02:03:20ID:???
>>284-286
レスありがとうございます。
splitで切り出したフィールドの扱いを勘違いしていました。
フィールド数が可変の場合はcount()でフィールド数を取得すれば良かったんですね・・・

$word = explode(' ', $keyword);
$cnt = count($word);
$cnt = $cnt -1;
for ($i = 0; $i <= $cnt; $i++) {
$word[$i] の処理;
}

のような感じで出来ました。
02892872005/07/20(水) 02:21:48ID:???
自己レスです。
RDFを読み出して、新しく作成されたエントリーのタイトルやURLを取得することにしました。
スレ汚しすまそ。
02902382005/07/20(水) 05:13:11ID:nMj8v/ee
>>260,>>262,>>267
ご指導ありがとうございます。
では、とりあえずあまり深く考えずに冗長性を持たせた構造にして、
正規化(←この概念を忘れてました!ありがとう!)に気をつけてやってみます。

あまりシビアでコンパクトにしてのちのち身動き取れなくなって困るよりも、
余裕を持って適当(?)に作ったほうが「大は小を兼ねる」と考えちゃって良い…みたいですね。
0291nobodyさん2005/07/20(水) 07:10:35ID:???

誰も何も言わないからか、凄い気になるんだが。。。
>>238は
・PHP+MySQLでwebアプリを作ってるが、DBについての基礎知識や経験が無い
・ド素人の状態から一人で学んで一人で開発して周りに誰にも質問できる人がいない
にも関わらず

・第一弾で作ったシステムには既に数十社の顧客がいる
・月商も>>251の給料の3〜4ヶ月分くらいはある。
のんだよな?

結構突っ込みどころ満載な気がするんだが。。。そうでもないのか?
くだらねぇ質問スマソ
0292nobodyさん2005/07/20(水) 07:38:57ID:???
>>291
脳内月商だからつっこまないで
0293nobodyさん2005/07/20(水) 07:55:09ID:???
>>291
自分が不利になると
「僕のパパは社長だからおまえ等みんなクビにするぞぉ」
っていう小学生と一緒
0294nobodyさん2005/07/20(水) 08:25:56ID:???
foreach使えばいいんでないの?>>288
0295nobodyさん2005/07/20(水) 11:00:15ID:???
>>290
数十社の顧客に納品されている正規化すらできていないDBを
見てみたい、激しく見てみたい。
0296nobodyさん2005/07/20(水) 11:12:39ID:???
第1〜3の正規化もしてないのか?
0297nobodyさん2005/07/20(水) 11:16:54ID:???
よくあるPHPのサイトで<a href="/?key=value">value</a>とやるとURLの後に/?key=valueとつきます。
例えばkey=value1のときはfile1をincludeして、key=value2のときはfile2をincludeすると言うのはどうやるのでしょうか?
ページは変わってもサイトの一部分だけしか変える必要のないときなどに使いたいのですが実際にどうすれば良いのか分かりません。
0298nobodyさん2005/07/20(水) 11:20:52ID:???
>>297
switch ($_GET['key']) {
 case 'value1': require_once('file1.inc.php'); break;
 case 'value2': require_once('file2.inc.php');break;
…
}
0299nobodyさん2005/07/20(水) 11:34:41ID:fiiwUfZg
質問です。

配列 $hairetu から「yahoo」という文字を検索し、見つかった配列番号(?)を取得

と言うのはどうやるんですか?$hairetu には1000行くらいあるとします。
0300nobodyさん2005/07/20(水) 11:43:58ID:???
array_search()
0301nobodyさん2005/07/20(水) 11:50:15ID:???
宿題は自分でやるものです。
0302nobodyさん2005/07/20(水) 11:51:19ID:???
>>300
あー!!array_search()ですか!!
あると思ったんだけどググっても見つからずに悩んでいました。
のどに詰まっていた納豆がスッキリ胃に入っていきました。トンクス
0303nobodyさん2005/07/20(水) 12:06:50ID:AeK1ZPXK
仕事場の蔵書をWEB管理するソフトが欲しいのですが、Web系初めてなんです。
スキルは C COBOL VBA SQL 位しかないもので。
PHP以外にいろいろありますが、皆さんがPHPやってる理由を
聞かせて頂けるとありがたいのですが
0304nobodyさん2005/07/20(水) 12:10:54ID:???
大学でPHPの講義とかあるなら受けてみたいもんだ
0305nobodyさん2005/07/20(水) 12:17:52ID:???
>>302
あると思ったのならググらずにマニュアルの配列関数見ればいいのに
http://jp2.php.net/manual/ja/ref.array.php
0306nobodyさん2005/07/20(水) 12:23:37ID:???
>>298
それをファイルをincludeさせたい部分に書くだけですか?
なんだか色々調べててフレームワークとかセッションとか出てきたんですが、これらは関係ないのでしょうか?
0307nobodyさん2005/07/20(水) 12:24:51ID:???
>>305
スマン
0308nobodyさん2005/07/20(水) 12:29:12ID:???
>>306
せっかくレスもらったんだから自分で試せばいいのに
03092992005/07/20(水) 14:10:38ID:fiiwUfZg
続けて質問です。

array_search() って完全一致じゃないと駄目なんですね。
部分一致でも検索できる方法ありますか?

例えば、hensu[10] = ヤフーショップ の場合に、 ヤフー だけの検索で引っかかって欲しいんです。
0310nobodyさん2005/07/20(水) 14:23:10ID:???
>>309
for count() mb_strpos()
0311nobodyさん2005/07/20(水) 15:02:03ID:???
>>310
ありがとう。ループで解決しました。
0312nobodyさん2005/07/20(水) 15:10:47ID:???
PHPの話じゃないかもしれませんがお教えねがいます。

<form method='POST' action='hoge.php'>
<input type='image' name='kbn' value='1' src="hoge1.gif">
<input type='image' name='kbn' value='2' src="hoge2.gif">
</form>
という2つのイメージボタンを持ったフォームで
どっちのボタンがクリックされたかを'hoge.php'で取得するには
どうしたらよいでしょうか?
'hoge.php'で$_POST['kbn']がNULLになってしまうので困っています;
どうかお助けください。
0313nobodyさん2005/07/20(水) 15:21:59ID:???
312です。
なんかinput type='image'はvalueは無効みたいですね。
nameを変えて座標がやってくるかどうかで判断しなくちゃですね。

他にいい方法っありますか?
0314nobodyさん2005/07/20(水) 15:23:58ID:???
>>313
んー。type=button にして、CSSで背景画像の変更とかじゃ駄目?
0315nobodyさん2005/07/20(水) 15:24:26ID:???
>>313
俺の環境ではちゃんと取得できた
var_dump($_POST);
で
array(3) {
["kbn_x"]=>
string(2) "47"
["kbn_y"]=>
string(2) "53"
["kbn"]=>
string(1) "1"
}
0316nobodyさん2005/07/20(水) 15:24:42ID:???
俺のサーバーじゃ$_POST['kbn']は普通に取得できたぜ
0317nobodyさん2005/07/20(水) 15:25:22ID:???
test.php
----------
<form method='POST'>
<input type='image' name='kbn' value='1' src="hoge1.gif">
<input type='image' name='kbn' value='2' src="hoge2.gif">
</form>
<?
echo $_POST['kbn']."<br>\n";
print_r($_POST);
?>
----------
0318nobodyさん2005/07/20(水) 15:31:42ID:???
Firefox + PHP5.0.4 なら取得できた
IE6 + PHP5.0.4 ならNGだった
0319nobodyさん2005/07/20(水) 15:38:30ID:???
CSVファイルを配列に読み込んで、○行目から×行目までを出力するとき、今までは

for($i=○;$i<=×;$i++){
 echo $array[$i];
}

と言うループでやっていましたが、もっとスマートな方法ありますか?
0320nobodyさん2005/07/20(水) 15:44:01ID:???
>>314
あっそれもいいかも
でも、buttonってsubmitできましたっけ
onClick='javascript:this.submit()'すれば
いいと思うけど javascriptは使わないポリシーなので
申し訳ない。

自分の環境ではやっぱり
$_POST['kbn_x']はとれても$_POST['kbn']はとれません。
これってPHPの環境変数の設定の違いでしょうか?
申し遅れましたがPHPのVerは4.3.10なんですれど。
0321nobodyさん2005/07/20(水) 15:56:29ID:???
>>318
ブラウザによって違うんですね。
ネスケ系のブラウザエンジンは取れるんですね。
了解しました。
03223152005/07/20(水) 16:24:06ID:???
本当だ
IEだとだめじゃ
0323nobodyさん2005/07/20(水) 16:28:36ID:???
さて、正しい動作はDotch!?
0324nobodyさん2005/07/20(水) 16:31:53ID:???
仕様書よむかぎりではIEが不正動作の様子。
割と有名な問題だから検索すれば対策みつかるよ。
0325nobodyさん2005/07/20(水) 17:00:43ID:???
phpで半角数字以外の文字を消すにはどうしたら良いか教えてください。

「x1xx」とか「,2dd」を「1」「2」にしたいです。
0326nobodyさん2005/07/20(水) 17:06:21ID:???
>>325
preg_replace('/[^\d]/' , '', 'x1xx');
0327nobodyさん2005/07/20(水) 18:20:44ID:???
>>326
�dです。
正規表現を勉強せねば・・・やっぱ慣れですかね?
0328>>2912005/07/20(水) 19:00:55ID:e5fXpd1f
>>292-293
ありがとう
0329nobodyさん2005/07/20(水) 19:17:11ID:???
charsetをShift_JISで書いたソースで
「―ソЫ�\噂浬欺圭構蚕十申曾箪貼能表暴予禄兔喀媾彌拿杤歃濬畚秉綵臀藹觸軆鐔饅鷭�x�x」
を送信すると$_POSTで取ったときに'\'(C5)が付いてくるのって
charsetを変えずにうまいこと解決するには
どのような対策がベストなのでしょうか?
0330nobodyさん2005/07/20(水) 19:21:58ID:???
>>329
magic_quotes_gpc = Off
0331nobodyさん2005/07/20(水) 22:43:59ID:0VkkmhCL
PHPでブラウザのキャッシュを外して表示させる場合は以下のように書け
と言う様な記事に遭遇しました。、

header("Content-Type: text/html; charset=文字コード");
header("Expires: Thu, 01 Dec 1994 16:00:00 GMT");
header("Last-Modified: ". gmdate("D, d M Y H:i:s"). " GMT");
header("Cache-Control: no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");



↑の文章で
「header("Expires: Thu, 01 Dec 1994 16:00:00 GMT");」
この時間の意味は何でしょうか?
解説によって時間が異なったりします。

0332nobodyさん2005/07/20(水) 22:54:07ID:???
>>330
あ〜そんな設定があったのですね。
やってみます。
ありがとぉ
■ このスレッドは過去ログ倉庫に格納されています