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

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

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2006/04/09(日) 01:31:18ID:???
PHPに関するくだらねぇ質問用スレです。
ここなら本スレで回答のないお前の下らない質問に回答があるかも知れません。

まず読め【PHP マニュアル】
http://www.php.net/manual/ja/

本スレ【PHP】質問スレッドpart33【php】
http://pc8.2ch.net/test/read.cgi/php/1140027592/

【PHP】下らねぇ質問はここに書き込みやがれpart18
http://pc8.2ch.net/test/read.cgi/php/1142417901/

過去スレは>>2-3あたり
0331nobodyさん2006/04/14(金) 15:46:41ID:???
画像リンクとかってようするに毎回のHTML表示だろ?
困るのってその変なホスト名をよこしてきたユーザ本人だけでは。
0332nobodyさん2006/04/14(金) 16:15:18ID:???
>>322
PHPのCLI版で書いてcronで定期実行がスレに合ってるかな・・
シェルスクリプトでいいならそれでいい気もするけど
0333nobodyさん2006/04/14(金) 16:21:09ID:???
>>331
単純に考えてそうでも将来的にそれを利用した攻撃方法が発見されないとも言い切れないんだし、
htmlspecialcharsを通すべき。

03343262006/04/14(金) 16:21:41ID:???
>>327
使うんですよ
>>328
分かってますが?
>>329
基本的にドメインとダミーでバーチャル切ってるので問題なし
>>330
だから「html出力で画像のリンクに使用」といってるのですが…
>>331
そのとおりだと思っています
03353332006/04/14(金) 16:22:17ID:???
危険性のある変数だけエスケープするのでは無く、
エスケープしてはならない理由があり、かつ、安全性が確認できている変数のみエスケープしないというポリシーのが安全。

0336nobodyさん2006/04/14(金) 16:24:37ID:???
// HTMLタグの無効化
function h($value) {
return htmlspecialchars($value);
}

こんな関数作ったらどうです?
変数を h( と ) で囲むのはたいした手間じゃないでしょ。

高木浩光流のセキュリティ対策ブログでも読んでみたらどうかな
03373262006/04/14(金) 16:25:00ID:???
>>333
ご指摘の通りですね。
盲点でした。
htmlspecialcharsは通すようにします。
03383262006/04/14(金) 16:32:28ID:???
>>336
ついでなので以下のようにしておきました。
// HTMLタグの無効化
function h($value) {
return trim(htmlspecialchars($value));
}
0339nobodyです2006/04/14(金) 17:25:47ID:NgSqFnSx
if(error){
die(require_once('error.html'));
}
これは、何か問題が出てきますか?
0340nobodyさん2006/04/14(金) 18:25:52ID:???
>>339
if(error)って、もし error という定数が真なら if文 を実行するということだけど、それであってる?
変数じゃなくて定数ならいい。

あと、定数は一般的なコーディングルール、慣習では全て大文字で書き、単語をアンダースコアで区切る。
これは様々なC系言語やJavaでも同じ。(ただし必ず従わなければならない訳ではないが、それを配布するなら
従っている方が他の人が見やすい)
これは、pearコーディングルールでも同じ http://itbtech.itboost.co.jp/man/php_man/pear.standards.constants.html

例: DB_ERROR_MESSAGE

変数は小文字で初めて単語の区切りを大文字にする。


ちなみに、
if ($error) {
die(require_once('error.html'));
}
は、

$error or die(require_once('error.html')); と書く人もいる。

ただし、比較演算子の用途外利用なのであまりおすすめできない。
(ただ、使うことでコーディングがすっきりするときは使う)
戻り値の比較をしない分、if文の方が早いと思われる。
03413402006/04/14(金) 18:28:11ID:???
みすった。

require_once は関数では無く制御構文なので
pearコーディングルールと慣習によれば関数コールと区別するために、

require_once('error.html'); じゃなくて、
require_once "error.html"; と書くべきだな。

0342nobodyさん2006/04/14(金) 19:07:58ID:???
サニタイズでググったら論争で読むの疲れた
0343nobodyさん2006/04/14(金) 19:16:14ID:???
何でも検索結果を一番上から読めばいいってもんじゃないぞ。

せっかくGoogle先生が内容も少し表示してくれてるんだから、
0344nobodyさん2006/04/14(金) 20:57:11ID:Vr96m26a
HTTP_Requestについての質問ですが、
echo $req->getResponseBody();
これではlocationで転送(?)された先を表示することができないんですが、
できるようにするにはどうすればいいでしょうか。
0345nobodyさん2006/04/14(金) 21:01:58ID:???
プロにしかできない
0346nobodyさん2006/04/14(金) 21:11:12ID:???
俺はできる
0347nobodyさん2006/04/14(金) 22:31:00ID:29AM62vM
くだらない質問します。
if文の条件で、「$hogeがあれば」みたいにすることはよくあると思うのですが、
( isset ($hoge)) {
( $hoge != "") {
if ($hoge) {
(strlen($hoge) != 0) {
などなど、似て非なるものが沢山ありますが、
これはどういう基準で使い分けているのでしょうか?
0348nobodyさん2006/04/14(金) 23:19:47ID:???
>>347
自分がどういう意味を持たせるか、によるんじゃないかな。
$hoge という変数の存在自体を調べる意図があるなら isset だし、
$hoge の中身について評価する意図があるならそれ相応の判定式だし。

ただ気をつけなくちゃいけないのは、$hoge=="" みたいな判定式。
これは、$hoge が "" のときだけじゃなくて、0 のときや false のときにも成立しちゃう。
本当に "" であるかを判断したいならば、strlen($hoge)==0 や、$hoge==="" を使う。
strlen($hoge)==0 は、$hoge が未定義か "" か false の時に成立して、0 の時には成立しない。
$hoge==="" は、$hoge が存在してその中身が "" の時だけ成立する。

関数の中でも、0 と false どっちも返す可能性があるものがあるから、そういう判定の時にも気をつけて。
ex) strpos
0349nobodyさん2006/04/14(金) 23:25:17ID:dko7defd
>>344
俺も串作るときこれがわからなくて断念した
どうやるんだ
0350nobodyさん2006/04/14(金) 23:30:25ID:???
>>347
> ( isset ($hoge)) {
その変数が定義されているかどうか。
1度も代入してない、unset()した場合、NULLを代入した場合にのみelse条件になる。
主に初期背低が存在しない、特定のsubmitボタンが押されたか、などの存在チェックに使う。

> ($hoge) {
真として評価できる値が入ってるかどうか。
1度も代入していない、unset()した、NULL、FALSE、0、"0"、""、array()のいずれかが
代入された場合にelse条件になる。
一般的な数値チェック、論理チェックなどに用いられる。
たまに、文字列の有無を判定しようとしてこれを使って「0」を入力されたときにバグってるバカがいる。

> ( $hoge != "") {
> (strlen($hoge) != 0) {
文字列として空っぽかどうか。
1度も代入していない、unset()した、NULL、FALSE、""、array()のいずれかが代入された場合に
else条件になる。
FORMデータの入力有無など文字列の存在チェックにはこれを用いる。
03513472006/04/15(土) 00:44:06ID:mBWU3p7T
>348 350
すばらしい回答ありがとうございます。
人間リファレンスのようですね。
else条件のバリエーションをみるとなんとなく分かってきますね。
自分はなんとなくな理由でissetを多用してる気がします。
逆にstrlenはあまり使ってませんでした。
いずれもしっかりとした根拠なく使っていたので、これからは
意味合いをよく考えて適材適所な感じでいきたいです。
ありがとうございまいsた。
03523472006/04/15(土) 00:49:45ID:???
sage忘れたorz
>348 350
もう一度言いますがすばらしい回答ありがとうございます。
人間リファレンスのようですね。
else条件のバリエーションをみるとなんとなく分かってきますね。
自分はなんとなくな理由でissetを多用してる気がします。
逆にstrlenはあまり使ってませんでした。
いずれもしっかりとした根拠なく使っていたので、これからは
意味合いをよく考えて適材適所な感じでいきたいです。
ありがとうございまいsた。
03532872006/04/15(土) 00:59:45ID:???
>>352
そのレスの意味がわからない。
何故2回も。
もしかして未だに「sage」って書けば下がるとでも思ってるのか?
0354nobodyさん2006/04/15(土) 01:13:32ID:???
age
03553392006/04/15(土) 01:15:29ID:???
>>340-341
いろいろ問題があったようですね。
コーディングルール今度読み漁って見ます

ご丁寧にありがとうございました
0356nobodyさん2006/04/15(土) 01:20:44ID:???
>>344
これはgetResponseHeadでいいんじゃないの
0357nobodyさん2006/04/15(土) 01:24:51ID:???
だめだろ
0358nobodyさん2006/04/15(土) 02:19:58ID:???
socketでやらなきゃ。
0359nobodyさん2006/04/15(土) 02:29:00ID:???
10件あるデータを2列5行にして表示したいのですが、
どのように設定して、折り返したらよいかわかりません。

どこか参考になるサイトなどはご存じないでしょうか?
0360nobodyさん2006/04/15(土) 02:59:27ID:???
プログラムを「設定して」とか書いてる時点で根本的に間違ってるとオモ
0361nobodyさん2006/04/15(土) 03:31:09ID:???
>>359
お前さん、そこを考えるのがプログラミングの醍醐味じゃないか〜
0362nobodyさん2006/04/15(土) 06:36:20ID:???
ちょっと分からない事があるので教えて頂けませんか?

【je-pu-pu アクセス解析 有料版のご案内】ttp://je-pu-pu.jp/access/pay.php
月額\350らしいんだけど、どうも内部はこんな感じ→ ttp://je-pu-pu.jp/webalizer/

これってJE製作のツールでなくて、モロ海外フリーソフトのwebalizer↓なんでないかと思うんだけど。
ttp://www.ahref.org/webalizer.html()

勝手にコレの利用料で金取ってもいいの?ライセンス得てるんでしょうか?
それとも表面上は同じに見えるオリジナルなのでしょうか。
せいぜいあってもコードパクって部分的に改変しただけな気がするのですが・・・
もしかして人のフンドシで文字通り商売してるのでしょうか?
もしそうだったらレンタルするのが怖いです。

webalizerの権利関係詳しくないから誰かそっち方面強い人調べてみてくれないですか?
どうぞよろしくお願いします(´・ω・`)
03633142006/04/15(土) 07:02:43ID:???
>>316
気合入れてマンモス本、
自分で打ちながら最初からやり直してます。
また何かあったら教えてください。
0364nobodyさん2006/04/15(土) 07:51:05ID:???
>>362
無料で同じものがあるのに違法かもしれない有料レンタルに金払うやつは見る目がないって事で。
0365nobodyさん2006/04/15(土) 09:15:20ID:???
>>344
自分で処理して飛ばすしかないのでは
$a=file_get_contents('http://example.net/');
なら自動で処理してくれるんだけどなあ・・・


いちいち個別に対応するのが面倒だったので
いじって手抜き処理加えちゃったけど
0366nobodyさん2006/04/15(土) 09:19:27ID:???
>>362
ライセンスはGNU GPL。
金を取るのもレンタルするのもOK。
0367nobodyさん2006/04/15(土) 12:42:19ID:???
掲示板にトリップ機能をつけたいのですが、どのような方法で行えばよいでしょうか?
0368nobodyさん2006/04/15(土) 15:14:11ID:???
>>367
入力された値をmd5とかにかけて、上5桁を取る、とかじゃダメ?
0369nobodyさん2006/04/15(土) 15:37:56ID:???
正規表現で一致しているか調べたいんですが、
対象の文字列が.などを含んでいて、かつエンコーディングを変更したい場合、
エスケープしてからエンコーディングしたものをeregするのか
それともエンコーディングしてからエスケープしたものをeregするのか
どっちが正しいのでしょうか?

考えてたらぱにくってきました・・・おいらはあふぉです orz
0370nobodyさん2006/04/15(土) 15:44:03ID:???
>>369
基本はエンコーディングしてからエスケープ。
でないと無関係な部分(漢字の後ろ1バイトに含まれる正規表現文字など)まで
エスケープされてまともに比較できなくなる場合がある。
0371nobodyさん2006/04/15(土) 16:03:51ID:???
file_get_contentsでUser-Agent等のヘッダを送ることはできないものか
0372nobodyさん2006/04/15(土) 16:06:05ID:FisXV/Qr
rawurlencode()で、スラッシュ(/)はエンコードしたくないのですが、そのような指定は
できるのでしょうか?
0373nobodyさん2006/04/15(土) 16:19:24ID:???
>>371
fsockopen使え
0374nobodyさん2006/04/15(土) 16:39:27ID:???
まだ初めて二週間
ヘルプでキーワード検索すれば大概の場合自分のやりたい事が実現可能かどうかわかるので、アルゴリズムの基礎を学んだ方が効率良い事に気がつきますた
プログラムっておもすろいですね
0375nobodyさん2006/04/15(土) 16:42:31ID:???
quotemeta()の逆の関数ないですかね
03763722006/04/15(土) 16:44:33ID:FisXV/Qr
自己解決しました。
str_replace()で'%2F'を'/'に置換したんです。ありがとうございました。
03773752006/04/15(土) 16:52:52ID:???
レスおせーなあ
おまえら素人が必死に考えてる間にyahooで自己解決。
0378nobodyさん2006/04/15(土) 17:00:41ID:???
>>375
んなもん探さなくても5秒で自分で作れるだろうが
0379nobodyさん2006/04/15(土) 17:03:07ID:FisXV/Qr
ワラタ
0380nobodyさん2006/04/15(土) 17:04:15ID:???
ID ヲ ダシテシマッタ...
0381nobodyさん2006/04/15(土) 17:10:20ID:???
>>371
できる。
0382nobodyさん2006/04/15(土) 17:39:13ID:1qLGoaV/
どうもPHP初心者なんですが
入力された文字が全角カタカナかどうかの判別の方法がわかりません。
半角英字は↓でできました。
if ($ename != "" && !ereg("^[a-zA-Z \']+$", $ename)) {
 $error['ename'] = "<font color=\"red\"> 半角英字で入力してください。</font>";
}

その要領で全角カタカナでやったのですが、全部引っ掛かる状態になります。
if ($fname != "" && !mb_ereg("^[ァ-ヶ]+$", $fname)) {
 $error['fname'] = "<font color=\"red\"> 全角カタカナで入力してください。</font>";
}
$fnameの中に全角カタカナを入れています。
0383nobodyさん2006/04/15(土) 17:48:21ID:???
google初心者か
0384nobodyさん2006/04/15(土) 17:57:37ID:1qLGoaV/
mbstringのせいかなと思いphpinfoをだしてみたのですが、こんなかんじです。

mbstring
Multibyte Support enabled
Multibyte string engine libmbfl
Multibyte (japanese) regex support enabled
Multibyte regex (oniguruma) version 3.7.1
0385nobodyさん2006/04/15(土) 17:58:16ID:1qLGoaV/
mbstring.detect_order no value no value
mbstring.encoding_translation Off Off
mbstring.func_overload 0 0
mbstring.http_input pass pass
mbstring.http_output pass pass
mbstring.internal_encoding ISO-8859-1 no value
mbstring.language neutral neutral
mbstring.substitute_character no value no value
0386nobodyさん2006/04/15(土) 22:12:07ID:269HnUWO
$a に入っている数値が15だとして、
$a に入ってる数値が 18未満だったら・・・というif文を作りたいのですが

if($a == "15 <= 0") というのは不可能でしょうか?
不可能でしたら方法を教えていただけないでしょうか。
0387nobodyさん2006/04/15(土) 22:21:10ID:???
その条件式は、 $a という変数の値が"15 <= 0"という文字列と等しいかを調べている。
キミがやりたいのは、18より小さいかを調べることだろう。
ttp://www.php.net/manual/ja/language.operators.comparison.php
0388nobodyさん2006/04/16(日) 01:22:37ID:???
>>386
if($a < 18)
0389nobodyさん2006/04/16(日) 02:35:31ID:???
>>386
そこのあたりはどの言語やっても基本の部分なんだから
PHPの超初心者本とかかって勉強しとけよ
基本的な構文はC、Java、etc・・・ほとんど共通だ
0390nobodyさん2006/04/16(日) 03:26:56ID:???
>>385
> mbstring.internal_encoding ISO-8859-1 no value
これをSJISに設定
0391nobodyさん2006/04/16(日) 03:30:26ID:???
>>386
ひょっとして
if(0 <= $a && $a < 18)
っていう条件が書きたいって話?
03923862006/04/16(日) 09:39:55ID:???
>>391
あ、それが一番近いかもしれません。
0より大きくて18より小さい。
ありがとうございます。

>>387
よく考えてみるとそうですね。ありがとうございます。

>>388
その方がシンプルみたいですね。
参考になります。

>>389
二つの条件を一度にやるのがよくわかりませんでした。
勉強不足ですいません。
0393nobodyさん2006/04/16(日) 11:40:09ID:???
>>392
PHPの勉強不足って感じでなくてさ、日本語覚えたての3歳児って感じ
他の言語もやったことなくPHPから始めたんだろうけど
0394nobodyさん2006/04/16(日) 12:20:28ID:U9is4hyD
phpをはじめて半年くらいになります。
phpとmysqlで在庫管理システムみたいのを作ったのですが、
脆弱性というか、セキュリティ的なものは一切考えていません。
画像ファイルのアップロードをするときに、拡張子がjpgじゃないとダメとか、
10240バイト以下じゃないとダメとか、
あとhtmlspecialcharsとか書いたりしてますが、
そもそも何が危ないのかわかってません。
いくらわかってなくても、最低限これだけはやっとけみたいのは
ありますか?
0395nobodyさん2006/04/16(日) 13:19:17ID:???
>>394
あくまで「最低限」ってことならサイズ制限とファイル名をそのまま使わなきゃ
それで十分じゃないかって気がする。
真面目にやるなら画像形式のバイナリチェックが欲しいところ。
拡張子の判定はほとんど意味ない。htmlspecialcharsはどこでやってんだ?
0396nobodyさん2006/04/16(日) 13:27:06ID:???
>>394
PHPサイバーテロの技法―攻撃と防御の実際
ttp://www.amazon.co.jp/exec/obidos/ASIN/4883374718/
0397nobodyさん2006/04/16(日) 15:49:40ID:nblpYMkq
$result = mysql_query($sql);
$rows = mysql_num_rows($result);
if ( $rows < 0 ) error();

何かで参考にして上記のようにエラー処理をしてたんだけど
もしかして↓のようにすれば mysql_num_rows って必要ないですか?

$result = mysql_query($sql) or error();
0398nobodyさん2006/04/16(日) 15:54:10ID:???
>>397
num_rowsはエラーチェックじゃなく「データが1件以上あるかどうか」を判別している。
03993982006/04/16(日) 15:56:13ID:???
補足。それとは別にSQLの実行の成否を確認することは必要で、
それをやってるのが >$result = mysql_query($sql) or error();
よって >上記のようにエラー処理をしてたんだけど という前述コードは
「エラー処理を一切していない」
0400nobodyさん2006/04/16(日) 16:01:25ID:???
$rows = mysql_num_rows($result);
if ( $rows < 0 ) error();
おまけにこれなに?mysql_num_rows()って「0以上の数値」か「FALSE」しか返さないんじゃなかったか?
マイナスの場合なんてありえないだろ。何のチェックにもなってなくないか?
04013972006/04/16(日) 16:25:50ID:???
皆さんありがとうございます。
ttp://allabout.co.jp/internet/database/closeup/CU20030227/
昔このあたりを参考にしました。


if ( $rows < 0 ) error();
この部分は省略しようとしてやっちゃいました。実際は
if ( $rows > 0 ) { }
else { error(); }
こういう感じになってます。

0402nobodyさん2006/04/16(日) 16:37:45ID:???
まぁ、なんだ、
・SQLそのものがおかしくて失敗 -> mysql_queryの返り値を適切に処理
 or error()でやってるのはこの部分(まぁ適切かどうかは疑問だが)
・(mysql_num_rowsだからselectしてると仮定して、)select結果が一つもなかった時の処理
 こいつは正確にはエラーでは無い。結果が0個の時とそれ以外の時とで
 表示の仕方を変えたい時に使うことが多い。
0403nobodyさん2006/04/16(日) 16:38:58ID:???
>>401
> if ( $rows < 0 ) error();
この条件と
> if ( $rows > 0 ) { }
この条件は全然一致してないだろ
0404nobodyさん2006/04/16(日) 16:42:37ID:???
>>401
お前、意味も分からずにただ命令を並べてるだろう
04053972006/04/16(日) 16:54:32ID:???
>>403=>>404
ニートのパソヲタがなに言っても説得力ないよww人生の負け組乙。
0406nobodyさん2006/04/16(日) 17:23:24ID:???
パソヲタ・・・?
0407nobodyさん2006/04/16(日) 17:31:15ID:ifz+1Zn4
ユーザーエージェントで、KDDIというUAを取得かつSN33というUAを取得した場合、W41Sとし、それいがいはWとするってどうやるの?
KDDIのUAを取得したあとに、またif(preg_match〜ってするの?
04083972006/04/16(日) 17:39:38ID:nblpYMkq
>>405 は自分ではないですよ
04094042006/04/16(日) 17:43:40ID:???
>>408
言い逃れするなよww
0410nobodyさん2006/04/16(日) 17:51:51ID:???
>>409
404は俺だが。
0411nobodyさん2006/04/16(日) 17:56:03ID:???
>>407
if(preg_match('/(KDDI)-(\w+)/', $_SERVER['HTTP_USER_AGENT'], $match)) {
 $ua = $match[1];

}
0412nobodyさん2006/04/16(日) 17:58:21ID:???
>>407
失敗。

if(preg_match('/KDDI-(\w+)/', $_SERVER['HTTP_USER_AGENT'], $match)) {
 $ua = ($match[1] == 'SN33')? "W41A": "W";
}
0413nobodyさん2006/04/16(日) 18:39:52ID:???
次回テンプレ案

PHPプログラミングに関するくだらねぇ質問用スレです。
ここなら本スレで回答のないお前の下らない質問に回答があるかも知れません。

ここは "下らない質問でもして構わないスレ" であってそれを歓迎するスレではありません。
自分のしてる質問が下らない質問だということをわきまえ、謙虚になりましょう。
下らない質問をしてるんだから当然のように罵詈雑言も浴びせられるだろうが
全て甘んじて受けましょう。そうすればひょっとすると回答をしてもらえるかもしれません。
0414nobodyさん2006/04/16(日) 20:03:34ID:???
PHPでオブジェクト指向チックにコーディングしてる奴っているか〜?
0415nobodyさん2006/04/16(日) 20:06:03ID:???
それはプログラム全体を、って意味か?
クラスくらいは普通に使うが。
0416nobodyさん2006/04/16(日) 20:31:30ID:???
・絞込検索
・第三者が自由に書き込めるレビューの設置
・レビューと併せた投票システムの設置
上記の三つを作成したいのですが、
全くの初心者ですのでphpを勉強するのにお勧めの教本があれば教えて頂きたいです。
宜しくお願いします。
0417nobodyさん2006/04/16(日) 20:42:06ID:???
>>416
つttp://www.amazon.co.jp/exec/obidos/ASIN/4797320974/503-6104378-4423149
0418nobodyさん2006/04/16(日) 21:29:52ID:???
.phpファイルの何行目〜何行目の先頭に#をつける。
という処理はできないでしょうか?
0419nobodyさん2006/04/16(日) 21:30:35ID:???
>>418
できます。
0420nobodyさん2006/04/16(日) 21:31:35ID:???
>>419
よければヒントをいただけないでしょうか。
0421nobodyさん2006/04/16(日) 21:40:57ID:???
>>418
※ file()関数
※ for文、もしくはwhile文

上の二つが大ヒントだ!!
まぁ、ほかのやり方は山ほどあるけどね
0422nobodyさん2006/04/16(日) 21:43:57ID:???
>>421
file()で配列に読み込んで
forで[0]に#を入れる処理を繰り返しという感じですかね?
0423nobodyさん2006/04/16(日) 21:49:45ID:???
>>422
そこまで考えたんなら自分でやって試してみ
0424nobodyさん2006/04/16(日) 21:56:17ID:???
>>423
ありがとうございます。
やってみます。
0425nobodyさん2006/04/16(日) 22:11:36ID:U9is4hyD
あるサイトの問い合わせフォームのソースをみたところ、
checkboxのnameがcheck[]となっていました。
checkboxは10項目くらいあるんですけど、全部check[]です。
これはその後どうやってばらばらに受け取るんですか?
チェックボックスはラジオボタンとちがって、複数の値が送れる(?)ので
メールフォームとかで、チェックされたものだけを出力したいのですが、
いまいちうまくいきません。
0426nobodyさん2006/04/16(日) 22:12:41ID:???
$_GET['check']をvar_dumpなりしてみりゃすぐ分かるだろ。
04273942006/04/16(日) 22:20:16ID:U9is4hyD
>395
レスどうもです。
拡張子は意味無いんですか。勉強になります。
ファイル名はdate関数とかでリネームしてます。
てゆうかなんでそのままのファイル名は危険なんですかね?
htmlspecialcharsは普通にinput textをdbに入れる前に使います。
textareaの文章とかにも使います。これも意味ないですかね?

>396
その本は気になっていて、ちょっと読んだのですが、
難しそうで自分にはまだ早いかなと思ってしまいました。
もう一回読んでみます。
0428nobodyさん2006/04/16(日) 22:20:45ID:???
>>425
ヒントは配列だ
04294252006/04/16(日) 22:24:23ID:U9is4hyD
>426
var_dampって初めて知りました。print_fとは違うんですか?
配列に格納されていたとしても、入っているもの(チェックされたもの)だけを
判別して、取り出すにはどうすればいいですかね?
0430nobodyさん2006/04/16(日) 22:35:23ID:???
>>427
ああ、アップロード以外に文字列データもあるってことね >htmlspecialchars
それなら分かる。
しかし、普通はhtmlspecialcharsはHTML出力時に使うものであってDBに入れるときに使うもんじゃないぞ。
DBに入れるときはmysql_escape_stringしとかなきゃダメだろ。
拡張子はいくらでも嘘を書けるから、むしろ1度削除して自前で判定した拡張子を付加してやった方がいい。
■ このスレッドは過去ログ倉庫に格納されています