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

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

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2005/09/03(土) 11:53:32ID:7OO4C5e5
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/
【PHP】くだらねぇ質問はここに書き込みやがれpart7
http://pc8.2ch.net/test/read.cgi/php/1121100429/
【PHP】くだらねぇ質問はここに書き込みやがれpart8
http://pc8.2ch.net/test/read.cgi/php/1123431535/
01661542005/09/06(火) 02:13:14ID:???
>>165
その関数を使うことでなんとかなりそうな気がしてきました
本当にありがとうございます
0167nobodyさん2005/09/06(火) 02:16:56ID:???
IEのスタイルシートのバグの多さから、
UA取得して、IEで閲覧時にはIE用のスタイルシート。
といった感じに、スタイルシートをブラウザごとで使い分けるために
PHPを使用しようと考えているのですが、
そういうことはPHPでできそうでしょうか?
0168nobodyさん2005/09/06(火) 02:21:35ID:???
MDB使ってんだけど、
DBに登録するときにエラーチェックしてる?
漏れ、最近べつに必要ねぇんじゃねーか?
と思い始めた。
$result = $db->query($sql);
if (MDB::isError($result)) {
die ($result->getMessage());
}
0169nobodyさん2005/09/06(火) 02:34:20ID:???
>>167
可能だけどphpを使わずに
ブラウザバグを回避する方法も色々開発されている。
01701672005/09/06(火) 02:35:48ID:???
>>169
レスどうもありがとうございます。
回避する方法も開発されているのですかー。
それは知りませんでした。
少し回避する方法を探してみてだめそうならPHPでやってみたいと思います。
0171nobodyさん2005/09/06(火) 02:37:32ID:???
>>167
サーバサイドでやるなら、HTML内に各ブラウザ用のCSSを埋め込むか、
各ブラウザ用のCSSを予め用意しといて、外部CSSを読み込ませる部分の記述を動的に変えるとか。

あと、サーバサイドでやらんでも、クライアントサイドで各UAのバグ・実装不足などを突付いて
CSSの特定の部分を特定の部分だけ読めないように記述するCSSハックという手法もある。

>>168
sql投げたら勝手にquery送ってdieまでやってくれるメソッドを実装しちゃえば気にしなくて済む。
01721672005/09/06(火) 02:42:23ID:???
>>171
レスどうもありがとうございます。
クライアントサイドでやるならJSかと思ってたのですが、
CSSハックというやり方もあるんですね。
聞いたことがない言葉なので早速調べてみたいと思います。
0173nobodyさん2005/09/06(火) 07:44:51ID:???
>>164
俺ならeach(),prev(),next()使う
01741512005/09/06(火) 11:29:55ID:???
>>159-162
皆様のおかげでinputのテキストのデータを反映させることが出来るようになりました。

しかし同じ方法で画像データを反映させると画像のある場所が文字データとなって反映されてしまうのですが・・・
ちゃんと画像データとして反映させる方法があったら教えて下さい。
0175nobodyさん2005/09/06(火) 11:45:39ID:???
phpマニュアルのファイルアップロードのとこを目玉かっぽじってよーく読め
01761012005/09/06(火) 12:10:17ID:???
自己解決しますた。
ふつうにfopenでftpすればできますた。便利だなぁ。
0177nobodyさん2005/09/06(火) 12:14:15ID:???
いままで、画像のアップロードなんかする場合は一度tempディレクトリに
アップしておいて確認画面でtemp内の画像を表示、登録時には
tempディレクトリから正式なディレクトリへ移動っていう方法をつかってたんだけど、
>>162のレス読んで画像ファイル自体をセッションファイルへ入れちゃうって
方法があるのを知って目から鱗なんだけど、実際にセッションファイルへ
バイナリファイルを入れるのはバイナリを一度文字列に変えなくちゃ駄目だよね?
serialize()かなんかを使うのかな?
0178nobodyさん2005/09/06(火) 12:35:36ID:3UvZ8ZqB
すみません、既存のブログにcsv読み込みができ、読み込んだcsvを自動でテーブルタグ化
って機能を追加するのって、現実的ですか?
プログラムは素人なんですが、どのくらいの値段なんでしょうか?
0179nobodyさん2005/09/06(火) 12:45:37ID:???
>>178
読み込んでテーブルタグ化するだけなら簡単。
これだけだと2〜3万かな。
1万でもやる奴がいそうだが。

ブログに追加という部分が厄介で、多分可能だろうが
使っているブログシステムが何か分からないことには確答しかねる。
01801782005/09/06(火) 13:02:06ID:???
ありがとうございます。
ブログはblognです。データベースが使えないので。
0181nobodyさん2005/09/06(火) 13:16:00ID:???
どういう仕様なんだ。
blogの記事投稿画面でアップロードした画像を挿入するのと同じような感じで
csvファイルをアップロードして、記事投稿のフォームにテーブル化したcsvを挿入、ということ?
0182nobodyさん2005/09/06(火) 13:24:16ID:5K+uGMJD
レッツPHP!のネットツール「RSSブロガー」を改造したものを設置しました。
http://cefa.sakura.ne.jp/archives/2005/05/311555.php

設置した鯖は自宅鯖で、Windowsですがgo-pear.batを実行して
Pearのインストールは成功してると思います。

上記ページのとおり設置し、test.php内に
<?php include("http://www.mydomain.com/rssv.php?u=http://manabekawori.cocolog-nifty.com/blog/index.rdf"); ?>
を埋め込み、test.phpをブラウザで開くと

Warning: main(http://www.mydomain.com/rssv.php?u=http://manabekawori.cocolog-nifty.com/blog/index.rdf): failed to open stream: HTTP request failed! HTTP/1.0 400 Bad Request in d:\apache\users\aaa\home\test.php on line 15

Warning: main(): Failed opening 'http://www.mydomain.comrssv.php?u=http://manabekawori.cocolog-nifty.com/blog/index.rdf' for inclusion (include_path='.;D:\php\pear') in d:\apache\users\aaa\home\test.php on line 15
というエラーが出ます。

http://www.mydomain.com/rssv.php?u=http://manabekawori.cocolog-nifty.com/blog/index.rdf を直接ブラウザで叩いたり、
test.php内を
<iframe src="http://www.mydomain.com/rssv.php?u=http://manabekawori.cocolog-nifty.com/blog/index.rdf&n=3" width="360" height="500" scrolling="no" marginheight="0" marginwidth="0" vspace="0" hspace="0" frameborder="0"></iframe>
などとした場合にはちゃんとRSSを読み込んで表示するのです。

includeできない原因として何が考えられますでしょうか?
0183nobodyさん2005/09/06(火) 13:27:28ID:???
userのIDとパスワードをMySQLで管理してまつ。
会員サイトで、「パスワードを忘れた方はこちら」というのがあります。

よくあるのは、

登録時のメールアドレスを入力して
・パスワードが直接メルアドに届く
・パスワード再設定用のURLが届く

サイト上で秘密の質問に答えるとその場でパスワード表示


などがあると思います。
セキュリティの面と、作成の手間を考え、どの方法が手っ取り早いかアドバイスお願いします。
メールアドレス宛にパスワード送るのならめっちゃ簡単だけど、それじゃセキュリティが甘いだろうし。

パスワード再設定用のURLが届く方法というのも具体的にどういう手法を使っているのか分からない。
助けてください。
0184nobodyさん2005/09/06(火) 13:42:42ID:???
>>183
メールアドレス+その他の情報との照合で
メールアドレスに送るのが良いのでは?
0185nobodyさん2005/09/06(火) 13:45:44ID:???
>>183
どっちもまずい
・メールアドレス(場合によって+ID)を入力->パスワード送信
他人がなりすまして送信しまくりなスパムが簡単に出来る。
共用メールアドレスなんて可能性もなきにしもあらず。
・リマインダでパスワード表示
偶然にでも画面見ちゃった第三者が、ユーザがパスワード変更するためにアクセス出来るし、
同じパスワードを複数サイトで使いまわす人がいるってのもあるし、テキストとして表示しちゃうのはまずい。

メールアドレスな方法だと、ワンタイムな変更用urlを発行してメールを送るとか。
システム側では、DBなりに変更用urlに使うランダム文字列とユーザID、発行日時(もしくは有効期限)を格納。

リマインダな方法だと、パスワードをそのまま表示でなくて、パスワード変更用のフォームを表示するとか。
0186nobodyさん2005/09/06(火) 13:45:50ID:???
>>184

メールで直接パスワードが届くのはどう思いますか?
俺個人としては「別にいいんじゃね?」って感じなんだけど、
神経質な友人は「漏洩したらどうすんの!」って言ってます。

ユーザー名は記述しないし、最初に登録したアドレスに送るわけだし、
仮にメールがバレタとしても特に問題はないような気はするんだけど。
01871852005/09/06(火) 13:47:23ID:???
よく分からない日本語に orz
×第三者が、ユーザがパスワード変更するためにアクセス出来るし、
○第三者が、ユーザがパスワード変更する前にアクセス出来るし、
0188nobodyさん2005/09/06(火) 13:49:51ID:???
>>185
>メールアドレスな方法だと、ワンタイムな変更用urlを発行してメールを送るとか。
>システム側では、DBなりに変更用urlに使うランダム文字列とユーザID、発行日時(もしくは有効期限)を格納。
>リマインダな方法だと、パスワードをそのまま表示でなくて、パスワード変更用のフォームを表示するとか。

あー、この返かなり参考になります。
ランダム文字列を発行してユーザー情報に格納、
その文字列をフォームに入力する(もしくはURLクリックする)ことによって
パスワード変更のフォームが登場。

こんな感じでよいでしょうか。
0189nobodyさん2005/09/06(火) 13:51:56ID:???
>>183
パスワードをそのままサーバ側で記憶しているのは、セキュリティ(というかプライバシー)上望ましくない。
であるから、1、3番目は、無い。
0190nobodyさん2005/09/06(火) 13:54:28ID:???
>>182
urlencodeしてください

<?php
// test.php
$rssv = 'http://www.mydomain.com/rssv.php';
$rdf = urlencode('http://manabekawori.cocolog-nifty.com/blog/index.rdf');
include "$rssv?u=$rdf&n=3;
?>
01911782005/09/06(火) 13:55:28ID:???
>>181
まったくその通りです。わかりにくくてすみません。
0192nobodyさん2005/09/06(火) 13:57:15ID:???
mb_send_mailが遅いんだけどなんで?
10秒くらい関数から帰ってこない

コマンドラインでsendmailを使っても遅いわけじゃないから
なにかPHP側でやってるのか
01931902005/09/06(火) 13:58:10ID:???
最後ダブルクォート抜けてた・・・
0194nobodyさん2005/09/06(火) 13:58:33ID:???
メールの送受信は暗号化されない場合が多いし、メールのログにパスワードが残るのを嫌う人もいるだろう。
まぁ、それにしたってメールが暗号化云々というのは根本的にアレだし、ログの問題もログ消して、パスワードとっとと変更しちゃえばいい話なんだけど。
サイトで扱う情報の重要性、機密性とかサイトの規模考えつつ、適当なとこで妥協すればいいと思う。

>>188
それでもいいし、メール送信する時に
http://www.hoge.gov/password_change.php?code=変更用ワンタイムコード
みたいなurlを本文に入れてあげれば、ユーザが入力する手間もなくなる。

んで、ワンタイムコードは変更用フォームにアクセスした時点か、フォームからサブミット掛かった段階で無効にする。
有効期限を発行から数時間くらいに設定して、フォームアクセス時にワンタイムコードを無効にすれば
セキュリティ的にも割とまともな物が出来るんじゃないかなぁ。
0195nobodyさん2005/09/06(火) 14:04:45ID:???
>>194
サイトで扱う個人情報はメアドくらいなものなのですが、
個人情報保護法がなんだかんだとうるさいご時世なので、
ある程度はしっかりとしないとと思った次第です。

194さんの方法を参考にあれこれと試行錯誤してみたいと思います!
01961822005/09/06(火) 15:57:21ID:5K+uGMJD
>>190
サンクスです。

>>190にダブルクォートを入れて試ししましたが、
Warning: main(http://www.mydomain.com/rssv.php?u=http%3A%2F%2Fmanabekawori.cocolog-nifty.com%2Fblog%2Findex.rdf&n=3): failed to open stream: HTTP request failed! HTTP/1.0 400 Bad Request in d:\apache\users\aaa\home\test.php on line 15

Warning: main(): Failed opening 'http://www.mydomain.comrssv.php?u=http%3A%2F%2Fmanabekawori.cocolog-nifty.com%2Fblog%2Findex.rdf&n=3' for inclusion (include_path='.;D:\php\pear') in d:\apache\users\aaa\home\test.php on line 15

と、エラーメッセージのURLがエンコードされただけとなりました。

ネタ元でもあるブログサイトで動いてるphpを使って
<?php include("http://www.kotono8.com/rss/rssv.php?u=http://manabekawori.cocolog-nifty.com/blog/index.rdf"); ?>
とすると上手く表示されるので、こちらの鯖の設定などがまずいのか悩んでます。
0197nobodyさん2005/09/06(火) 16:22:22ID:???
>>192
特に特別なことはやってないけどね。
普通のmail関数だとどう?
0198nobodyさん2005/09/06(火) 16:35:25ID:???
MD5でハッシュ化した文字列を解読することって可能?
0199nobodyさん2005/09/06(火) 16:41:11ID:???
>>198
解読って・・ハッシュは暗号化じゃないぞ?
0200nobodyさん2005/09/06(火) 16:47:53ID:???
ハッシュに該当する文字列を求めることは可能かもしれないが。
0201nobodyさん2005/09/06(火) 16:49:51ID:???
>>199
解読というか復元?

つまり、「93c92ee0505ea7c5ee8f6d92dc21114f」このハッシュから

元の文字列が何か分かりますか?と言うことでつ。

分かるとすれば、そう言う関数があるのか、

もしくはどのような方法を使ってどのくらいの時間がかかるのか知りたいのです。
0202nobodyさん2005/09/06(火) 16:53:30ID:???
>>201
こんなのがあった
http://www.vector.co.jp/soft/unix/util/se365582.html
0203nobodyさん2005/09/06(火) 16:58:01ID:???
>速度重視で4文字は約0.2秒でクラックできます

すげぇなぁ…。んー、セキュリティ的に良いと思ったんだけどな…。
0204nobodyさん2005/09/06(火) 17:01:12ID:???
2ちゃんのトリップからキーを捜すようなもんだろ
まず無理だろう
0205nobodyさん2005/09/06(火) 17:02:35ID:???
PHP+MySQLで顧客管理のサイトを作っています。
たとえば、

名前:年収:勤務地
aaaa:600:埼玉
bbbb:700:東京
cccc:550:千葉
dddd:500:神奈川
eeee:800:北海道

というデータを、年収を「600万以上」で検索しても
550万のデータも「条件90%合致」ということで表示したいのです。
検索条件に100%合致しなくても、ある程度は表示(100%から順にソートして表示)したいんですが、
どういう仕組みでそれを実現すればいいか思い浮かびません。
いい方法ありましたらご教授願います。
0206nobodyさん2005/09/06(火) 17:08:12ID:???
>>205
年収だけなら、540万円以上のデータを抽出して
600万円未満に90%合致フラグを立てれば良いだけ。
それ以外のデータは一致度の基準を立ててくれないと何ともいえない。
0207nobodyさん2005/09/06(火) 17:08:54ID:???
>>205
年収の600にたいする割合を計算して0.9以上で検索、ソート
0208nobodyさん2005/09/06(火) 17:12:00ID:???
WHERE 年収 >= 条件*0.9 ORDER BY 年収 DESC
でいいんじゃないの?

合致度を出したければSELECTで (年収 / 条件) AS 合致度 って感じで出して表示すればいいかと。
100%以上は等しく100%と表示したければ、合致度 > 1 の場合は等しく 100 としてphp側で扱えばいい。

つか完全にSQLの話だわな
0209nobodyさん2005/09/06(火) 17:14:33ID:???
>>206
レスどうもです。
実は年収だけじゃなくて、勤務地も東京を指定しても
埼玉、神奈川といった近辺も合致させたいんです。
基準としては、年収-50万で合致率からマイナス10%、
近県ならマイナス10%といった減算方式で、80%までなら
抽出したい、といった具合です。
勤務地に関しては、名称ではなく数値で格納してあるので

埼玉:10
東京:11
神奈川:12
千葉:13
北海道:50

検索値の前後±1の地域をマイナス10%で抽出する、といった感じです。
どうやって抽出すべきか、どうやってソートしたらいいか全く見当がつきません。
よろしくお願いします。
0210nobodyさん2005/09/06(火) 17:18:15ID:???
>>207-208
なるほど、合致率もSQLで取得するんですね。
年収オンリーでの考え方は把握しました。どうもです。

条件が複合したときがさらに厄介です。
ヒント(っつか答え)はいただいたので、自分でも考えてみます。
0211nobodyさん2005/09/06(火) 17:20:37ID:???
>>209
ここで聞く話じゃないよ。板違い。

MySQL 総合 Part5
ttp://pc8.2ch.net/test/read.cgi/db/1121561160/

こっち。
0212nobodyさん2005/09/06(火) 17:28:09ID:???
>>211
スミマセン。
向こうでマルチになってしまいますがご勘弁を。
お邪魔しました&ありがとうございます。
0213nobodyさん2005/09/06(火) 17:54:54ID:???
なんでこう、仕様を小出しにしやがる奴が多いんだ
0214nobodyさん2005/09/06(火) 18:29:58ID:???
PHPをピーエッチピーと呼んでもいいですか?
0215nobodyさん2005/09/06(火) 19:40:48ID:???
せくせ、です。
0216nobodyさん2005/09/06(火) 20:34:33ID:???
>>203
ブルートフォースって四文字限定なら8^4でたった4096回試行するだけだよ?
そもそもどんなアルゴリズムでも4文字のハッシュが破られないなんてありえねぇよ。

でもまぁ、君のそのよりよいセキュリティを求める姿勢はすばらしい。
ぜひ強固なシステムを作ってください。
0217nobodyさん2005/09/06(火) 20:36:51ID:???
あ、ごめん4294967296だね。
でも4文字なら破れるのはいっしょ。
0218nobodyさん2005/09/06(火) 20:40:43ID:vNTyf3ur
これからPHP勉強しようとおもってまつ
開発環境で悩んでて今使ってる
windows XP home にapache,php等をインストールするのがいいのか
fedoraあたりのディストリをインストールしたlinuxPCのがいいのか
置き場所の問題もさることながらlinuxPC予定機がAMD550MHzなんでつ
windowsは2.8GHzなんでちと迷ってます
開発は主にwindowsでやって、まとまってきたのをレン鯖にうpするのがいいのか
開発からlinuxのがいいのか
ご意見お待ちしてます。
0219nobodyさん2005/09/06(火) 20:51:31ID:???
Windows環境で開発、Linuxの鯖へアップって方法でやってるけど
それほど困ったことは無い。
メール関係だけは本鯖使ってテストするけど。
両方環境用意できるならLinux鯖の方が良いんでない?
0220nobodyさん2005/09/06(火) 21:22:55ID:oQLGoVGc
作りたいものが何も無いときって、どうやって作りたいものを探しますか?
0221nobodyさん2005/09/06(火) 21:25:28ID:???
>>218
Linux環境作れるんならlinux環境の方が良いんでは?
レンサバだと制限があるから、同じ設定にしたりも出来るだろうし。
よほどシビアなもの作るんで無ければ、取りあえずWinで作っても
十分大丈夫だろうけど
0222nobodyさん2005/09/06(火) 21:27:59ID:???
>>220
「探す」つーのと「作りたい」つーのは相容れない気がするが、
ネタを探しているのなら、web制作板かwebprog板の
作ってくれスレや探してますスレあたりをウロウロしてれば見つかるかと。
0223nobodyさん2005/09/06(火) 21:45:13ID:???
>>219
情報thx
ちなみにどの位の物を作ってるのかちょっと知りたいです

>>221
linux環境は作り難い、が正確なところでして
winで作ってレン鯖にうpで問題ないならそれに越した事がないのが現状でして
0224nobodyさん2005/09/06(火) 21:51:55ID:???
>>222
そうっすよねぇ。作りたいものを探すのは難しい・・・

>>223
レンサバ借りてるんなら、レンサバにアップして動作確認するのは
駄目なんですか?
俺はいつもそうやってます。
0225nobodyさん2005/09/06(火) 21:58:46ID:???
>>224
レンサバでも専用ならいいけど、共用なら何かあった時に他の人の迷惑になる可能性も
あるんでローカルでできる動作確認はなるべくローカルでやったほうがいいよ。

どんなアプリを書くかは知らないけど、レンサバと同じOSが用意できるのなら、
それに越したことはないと思うけど。
02262192005/09/06(火) 22:07:57ID:???
>>223
どの位のものって規模とかのことかな?
小さな企業サイトのCMSやオンラインショップとかがメインかな。
大抵そういうところは月額1万以下の共用レンサバって感じだし、
出来ることも限られるのであんまり環境を変えることなくWinで開発できる。
この規模だと複数人で開発することもないし、自分の環境だけで
完結できるってのも大きいかもしれない。
0227nobodyさん2005/09/06(火) 22:14:31ID:???
GDライブラリが入っているかいないかtelnetで調べる方法を
教えてください m(_ _)m
0228nobodyさん2005/09/06(火) 22:19:22ID:???
>>223
鯖構築経験がなくて、とっとと開発したいなら素直にWinでいい気がする。
スペック的には鯖にする予定のマシンがAMD(K6-3?)550MHzって話だけど、それだけあれば十分かと。
(ファイルゴリゴリ動かしたりするなら、逆にWin機より早いくらいかもしれない)

Win機の方が、鯖に上げて…って部分がなくなるから、開発は楽。
(リモートからでも、ローカルにあるような感じ編集出来る開発環境はあるけども)

鯖の勉強もしたいなら、Win機で開発しながら暇見て鯖構築していけばいい。
0229nobodyさん2005/09/06(火) 22:20:39ID:???
>>227
なんでわざわざtelnetで?
GD使うソースをアップして実際に動かして動くかどうかで見ればいいんじゃ?
0230nobodyさん2005/09/06(火) 22:48:14ID:???
>>223
参考程度に、私は WindowsXP + XAMPP + PHPEclipse って環境で勉強中
手元にLinux鯖もあるけど経験が浅くて躓く事が多いから、馴れてるWin環境を選んだ。

>>228で出てるけど、自分が使い慣れてる環境で始めるのが余計な事を考えなくて済んで良いと思う。
0231nobodyさん2005/09/06(火) 23:39:36ID:???
MySQLのtextフィールドに、30KBのデータが入ったレコードが100件あるとします。
このとき、それらを全部取り出すと無駄だし負荷も高いので、
データのアタマの一部分だけ(たとえば3KBだけ)を全レコード抜き出したいのですが、
どういうSQLを発行すればいいのでしょうか・・・。

いろいろリファレンス見ましたが、抜き出すデータサイズを指定できるSQL命令は
無いようでした。PHPにもそういう関数はありませんよね・・・??
0232nobodyさん2005/09/06(火) 23:59:08ID:???
>>231
マルチバイトが含まれているときっちりサイズは合わないが
SELECT SUBSTRING(カラム名, 1, 3072)
ではダメ?
0233nobodyさん2005/09/07(水) 00:07:14ID:???
ereg()を使って文字列を比較したいのですが、検索したい対象語が多く
あるので配列($word)にしたいと思っています。
この場合、ereg($word,$strings)で動作するのでしょうか?
試しているのですが動いてくれません。foreach文か何かで片っ端から
やるしか無い?
0234nobodyさん2005/09/07(水) 00:20:16ID:???
>>232
ありがとうございます!
SUBSTRINGというのは初めて知りました。
サイズは厳密に合わなくてもいいのですが、
今回のtextフィールドには日本語の文章が格納されていまして、
その場合だとどこか(最後の一文字?)で文字化けが発生するのでしょうか、、、
0235nobodyさん2005/09/07(水) 00:32:25ID:???
>>233
>検索したい対象語が多くあるので配列($word)
この日本語だと「検索を実行する対象の文字列」が複数あるように読めるのに
>ereg($word,$strings)
これを見ると、「検索条件」が複数が複数あるように読めるんだけど、どっちだ?

つか、phpマニュアルくらい読もうや
http://php.s3.to/man/function.ereg.html
bool ereg ( string pattern, string string, array [regs] )
どっちにしろ、stringってなってるから配列は無理な事はわかるだろ。

んで、検索条件が複数という事であれば、正規表現にはorに該当する表現がある。
(abc|zyx)
0236nobodyさん2005/09/07(水) 00:51:54ID:???
>>235
「検索条件」が複数あります。分かり難くてすいません。
csvのデータファイルから条件に合致する項目を抜き出すプログラムを
書いているんですが、その条件が頻繁に変わる可能性があるので、
できれば外部ファイルに、
$word = array('abc','def',・・・)といった形で持っていたかったんです。

>マニュアル
以後気を付けます。
0237nobodyさん2005/09/07(水) 01:03:36ID:???
phpの正規表現とperlの正規表現の違いを載せたサイトを教えてください。
0238nobodyさん2005/09/07(水) 01:13:03ID:???
PHPの正規表現のpregはPerl互換なので大体同じものです。
0239nobodyさん2005/09/07(水) 02:11:16ID:???
http://pc8.2ch.net/test/read.cgi/tech/1125991797/30
嘘つきJava厨が発生したので貼っておきますね。
0240nobodyさん2005/09/07(水) 02:48:42ID:???
あながち間違いとも言えん罠
0241nobodyさん2005/09/07(水) 02:59:28ID:???
間違いとは言えないなぁ、確かに。
言葉は悪いけどその通りな部分も多少なり。

でも、言及してるASP厨、PHP厨とやらにオブジェクト指向を理解してない人が多いのは確かだろうけど
理解してないことが致命的になるような言語でもないしなぁ、別にいいじゃんって気も。

というか、WebProg上がりじゃないマ板の人間がそんなすげぇかって言うと
似たようなのがゴロゴロしてるような気がするけど(自分はマ板住人でWebProgも覗きに来る)。
0242nobodyさん2005/09/07(水) 03:10:16ID:???
どうでもいいよ。意図した通りにプログラムが動きさえすれば。
0243nobodyさん2005/09/07(水) 03:17:33ID:???
最近の厳しい個人情報保護うんたらかんたらのせいで、
もうWebサービスなんてやれないじゃないか!って思ってるのは漏れだけ?

100%のセキュリティなんて存在しないし、限りなくそれに近づけようとすれば莫大なコストがかかる。
それで何か情報が漏れでもしたら運営者が叩かれる。
あー、やってらんねぇ。
せっかくの革新チャンスなのに、つまらない世の中になってきたもんだ。
0244nobodyさん2005/09/07(水) 03:24:12ID:???
逆に、上手いことやって信用を得られれば他と差をつけることが出来る、とプラスに考えようぜ。
というか、個人情報保護法で困るようなセキュリティポリシだとそれはそれで不味い気が。
0245nobodyさん2005/09/07(水) 03:50:55ID:???
>>244
>個人情報保護法で困るようなセキュリティポリシだとそれはそれで不味い

そういうことを言ってるのではなくて。
どんな立派なポリシーを持とうが、どんなに気をつけてようが、被害に遭うときは遭う。
そうなったときの、運営者(開発者)が負わなければならない責任が大きすぎるのが問題。
それだけのリスクに見合うだけのコストを料金に上乗せできればいいが、そうもいかない。

そもそも、世間的に高セキュリティが簡単に構築できるもんだと思われてるんのが難点。
悪意ある犯罪者のせいで個人情報漏洩でもしたら、「セキュリティ対策をしてないほうが悪い」と
いうのが当たり前のような風潮になってるのが恐ろしい。
0246nobodyさん2005/09/07(水) 07:02:55ID:???
おまいさんはなんかズレてる。
なにがあったか知らんが茶でも飲め。
0247nobodyさん2005/09/07(水) 07:44:52ID:???
以下のようなプログラムで画像を送信するフォームを作成しているのですが
画像ファイルのある位置が文字ファイルで表示されるだけで画像を表示させることが出来ません。

例えばCドライブにある『Sunset.jpg』というファイルを送信しようとしても
確認画面では『C:\Sunset.jpg』と文章で表示されるだけで画像が表示されません。

画像をうまく送信できるようにするにはどうしたらよいのでしょうか。

<!-- 送信画面 db_form.php -->
<FORM enctype="./image" name="pl_info" action="./db_pre.php" method="post">
<INPUT TYPE="hidden" NAME="_template_confirm" VALUE="./db_pre.php">
<input type="hidden" name="MAX_FILE_SIZE" value="30000" />
<input type="file" id="upfile" name="upfile">
<INPUT type="button" name="SUBMITBUTTON" value="確認画面へ" onClick="NEXT()"><
</FORM>

<!-- 確認画面 db_pre.php -->
<?=$_POST['upfile']?>
<form name="pl_info" action="./db_insert.php" method="post">
<INPUT TYPE="hidden" NAME="_template_confirm" VALUE="./db_insert.php">
<INPUT type="submit" name="INSERT_DB" value="登録する" onClick="next()">
</form>
0248nobodyさん2005/09/07(水) 07:54:25ID:???
>>247
どこからそんな無茶苦茶なソース(HTML、PHP共に)を
引っ張ってきたのか知らないけど、
phpのマニュアルを読んでごらん。
ttp://www.php.net/manual/ja/features.file-upload.php
0249nobodyさん2005/09/07(水) 09:50:03ID:npPFuG98
なんとなく解決はしてるんですが、いまいちスッキリしないので ( ゚д゚)ノ ハイ!質問!

FORMからの変数受け渡しについて、
#test1.php
<form action="test2.php" method="POST">
<input type="text" name="Test" size="10">
<input type="submit" value="送信">
</form>
#test2.php
<? print "Test ==> " . $Test; ?>   →何も表示されない
<? print "Test ==> " . $_POST['Test']; ?> →入力された値が表示される

test2.php内で、上の$Testのように書けばOKとどこかで見たのですが、
下の$_POST['Test']としないとダメっぽいのはなぜでしょう。
勝手に上がPHP3X、下がPHP4以降用、とか考えているのですが。(今の環境は5.0.4

さらに、この$_POSTを使うとして、checkboxから1つまたは複数の値が渡される場合は、
普通に配列使って受け渡しできます?
$_POST['chk[$i]'] とかでループ、表示するのかなぁと。

初歩的なことですが、どなたかお願いします。
0250nobodyさん2005/09/07(水) 10:18:46ID:???
>>249
変数の受け取り
 <? print "Test ==> " . $Test; ?> → PHP4.1以前の書式
 <? print "Test ==> " . $_POST['Test']; ?> → PHP4.2以降の書式

 4.2以降でも、php.iniのregister_globalsをOnに設定すれば使用可能だけど、セキュリティ面を
 考慮して下記のように変更されたので、特別な理由がなければ下の書式を使用すべし。

要素の配列
 HTML側はname属性に [] を付ける
  <input type='checkbox' name='chk[]' value='1'>
  <input type='checkbox' name='chk[]' value='2'>
 PHP側は下記のような形式で受け取る
  for ($i = 0; $i < count($_POST['chk']); $i++)
   echo $_POST['chk'][$i]

 [$i]は直接の値(0や1)でも良い。

こんなのでいい?
0251nobodyさん2005/09/07(水) 10:30:18ID:???
>>247
確認画面で
<?php var_dump($_FILES); ?>
または
<?php print_r($_FILES); ?>
をやってみな。
ついでに$_POSTもやってみたほうがよいかも。

あと、送信画面のフォームタグを
<FORM enctype="multipart/form-data" (ry
に直す。
02522492005/09/07(水) 10:41:32ID:npPFuG98
>>250
うわぁ、完璧っす。(TдT) アリガトウ

for ($i = 0; $i < count($_POST['chk']); $i++)
   echo $_POST['chk'][$i]
これで配列MAXまでループ・表示すね。
がんばります〜
0253nobodyさん2005/09/07(水) 10:47:34ID:???
>>252
つ foreach
0254nobodyさん2005/09/07(水) 11:06:48ID:???
PHP : 5.0.4
Apache : 1.3.33
の環境でエラーが出ます

if(hoge){

//変数代入処理がちょこっと
header("Location:http://hoge.hoge");
break; <-何故かココでエラー
}

原因は何が考えられますか?
ヒント下さい
02552542005/09/07(水) 11:12:08ID:pxwqcsIm
エラーメッセージ忘れました。
Fatal error: Cannot break/continue 1 level in /hoge〜

ようは駄目なのか・・・
0256nobodyさん2005/09/07(水) 11:20:16ID:???
>>254
breakで何をしたいんだ?breakってforループとかswitchの中で使うんだが。。。
単にそこで処理を抜けたいのならexitだと思う。
0257nobodyさん2005/09/07(水) 11:36:30ID:wV2Se0T2
PHP:4.3.10
Apache: 1.3.31
OS: Win XP
の環境で、変数つきでincludeできません。

#test.php
<?php
print $_GET['name'];
?>

#test2.php
<a href="test10.php?name=aaa">アンカーから呼び出し</a>
<?php include("test10.php?name=aaa"); ?>

とすると、アンカーから呼び出すとaaaがprintされるのですが
includeすると
Warning: main(test10.php?name=aaa): failed to open stream: No such file or directory in c:\apache\users\xxx\home\test2.php on line 10
とエラーが出ます。

原因としてなにを疑えばいいのでしょうか?
02582542005/09/07(水) 11:39:47ID:???
>>256
ありがとう
マニュアル見たらそうでした。

どっかのスクリプトで使ってたんでこれで良いのかとオモテタ。。。
0259nobodyさん2005/09/07(水) 11:53:42ID:???
>>257
includeはそのように使用するものではありません
無理矢理やるとすると、以下のようになります

#test.php
<?php
print $name;
?>

#test2.php
<?php
$name = $_GET['name'];
include("test.php");
?>

>原因としてなにを疑えばいいのでしょうか?
includeに対する貴殿の知識不足が原因です
0260nobodyさん2005/09/07(水) 11:57:26ID:???
ホームページ制作中で質問です。
コンテンツが50で今後増え続けるので、更新の為にもフレームチックな格好をとりたいのですが
ttp://www.hakusi.com/up/src/up3497.jpg
こんな感じで呼び出すにはどういう風にすれば良いでしょうか。

phpにすれば良いと言われたのですが、そんな高等な技術を持ち合わせていないのでお願いします。
0261nobodyさん2005/09/07(水) 12:04:17ID:???
>>260
PHPで無理ならスレ違いだと思うんだが?
0262nobodyさん2005/09/07(水) 12:06:14ID:???
>>260
SSIじゃ駄目なのか?
02632602005/09/07(水) 12:21:31ID:???
本音を言えば今後更新が極力楽になればどれでも良いんですorz
鯖がせっかくSSI、PHPに対応しているので出来ればやってみたいんですが、触った事が無いので・・・
0264nobodyさん2005/09/07(水) 12:34:23ID:???
>>260
JavaScript使うならDreamWeaver使ったほうが楽じゃね?

ブラウザによってまだ挙動がことなることもあり
コードが煩雑になりやすいから
PHPなどのサーバサイド言語つかったほうが楽と言えば楽だけど。
0265nobodyさん2005/09/07(水) 12:34:59ID:???
>>263
俺もPHPに触ったこと何て無いぞ。



>>257
include てのは外部ファイルを読み込み時に使うモンだ。
■ このスレッドは過去ログ倉庫に格納されています