【PHP】下らねぇ質問はここに書き込みやがれ Part19
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2006/04/09(日) 01:31:18ID:???ここなら本スレで回答のないお前の下らない質問に回答があるかも知れません。
まず読め【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あたり
0367nobodyさん
2006/04/15(土) 12:42:19ID:???0369nobodyさん
2006/04/15(土) 15:37:56ID:???対象の文字列が.などを含んでいて、かつエンコーディングを変更したい場合、
エスケープしてからエンコーディングしたものをeregするのか
それともエンコーディングしてからエスケープしたものをeregするのか
どっちが正しいのでしょうか?
考えてたらぱにくってきました・・・おいらはあふぉです orz
0370nobodyさん
2006/04/15(土) 15:44:03ID:???基本はエンコーディングしてからエスケープ。
でないと無関係な部分(漢字の後ろ1バイトに含まれる正規表現文字など)まで
エスケープされてまともに比較できなくなる場合がある。
0371nobodyさん
2006/04/15(土) 16:03:51ID:???0372nobodyさん
2006/04/15(土) 16:06:05ID:FisXV/Qrできるのでしょうか?
0374nobodyさん
2006/04/15(土) 16:39:27ID:???ヘルプでキーワード検索すれば大概の場合自分のやりたい事が実現可能かどうかわかるので、アルゴリズムの基礎を学んだ方が効率良い事に気がつきますた
プログラムっておもすろいですね
0375nobodyさん
2006/04/15(土) 16:42:31ID:???0376372
2006/04/15(土) 16:44:33ID:FisXV/Qrstr_replace()で'%2F'を'/'に置換したんです。ありがとうございました。
0377375
2006/04/15(土) 16:52:52ID:???おまえら素人が必死に考えてる間にyahooで自己解決。
0379nobodyさん
2006/04/15(土) 17:03:07ID:FisXV/Qr0380nobodyさん
2006/04/15(土) 17:04:15ID:???0382nobodyさん
2006/04/15(土) 17:39:13ID:1qLGoaV/入力された文字が全角カタカナかどうかの判別の方法がわかりません。
半角英字は↓でできました。
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:???0384nobodyさん
2006/04/15(土) 17:57:37ID:1qLGoaV/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.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 に入ってる数値が 18未満だったら・・・というif文を作りたいのですが
if($a == "15 <= 0") というのは不可能でしょうか?
不可能でしたら方法を教えていただけないでしょうか。
0387nobodyさん
2006/04/15(土) 22:21:10ID:???キミがやりたいのは、18より小さいかを調べることだろう。
ttp://www.php.net/manual/ja/language.operators.comparison.php
0389nobodyさん
2006/04/16(日) 02:35:31ID:???そこのあたりはどの言語やっても基本の部分なんだから
PHPの超初心者本とかかって勉強しとけよ
基本的な構文はC、Java、etc・・・ほとんど共通だ
0390nobodyさん
2006/04/16(日) 03:26:56ID:???> mbstring.internal_encoding ISO-8859-1 no value
これをSJISに設定
0392386
2006/04/16(日) 09:39:55ID:???あ、それが一番近いかもしれません。
0より大きくて18より小さい。
ありがとうございます。
>>387
よく考えてみるとそうですね。ありがとうございます。
>>388
その方がシンプルみたいですね。
参考になります。
>>389
二つの条件を一度にやるのがよくわかりませんでした。
勉強不足ですいません。
0393nobodyさん
2006/04/16(日) 11:40:09ID:???PHPの勉強不足って感じでなくてさ、日本語覚えたての3歳児って感じ
他の言語もやったことなくPHPから始めたんだろうけど
0394nobodyさん
2006/04/16(日) 12:20:28ID:U9is4hyDphpとmysqlで在庫管理システムみたいのを作ったのですが、
脆弱性というか、セキュリティ的なものは一切考えていません。
画像ファイルのアップロードをするときに、拡張子がjpgじゃないとダメとか、
10240バイト以下じゃないとダメとか、
あとhtmlspecialcharsとか書いたりしてますが、
そもそも何が危ないのかわかってません。
いくらわかってなくても、最低限これだけはやっとけみたいのは
ありますか?
0395nobodyさん
2006/04/16(日) 13:19:17ID:???あくまで「最低限」ってことならサイズ制限とファイル名をそのまま使わなきゃ
それで十分じゃないかって気がする。
真面目にやるなら画像形式のバイナリチェックが欲しいところ。
拡張子の判定はほとんど意味ない。htmlspecialcharsはどこでやってんだ?
0396nobodyさん
2006/04/16(日) 13:27:06ID:???PHPサイバーテロの技法―攻撃と防御の実際
ttp://www.amazon.co.jp/exec/obidos/ASIN/4883374718/
0397nobodyさん
2006/04/16(日) 15:49:40ID:nblpYMkq$rows = mysql_num_rows($result);
if ( $rows < 0 ) error();
何かで参考にして上記のようにエラー処理をしてたんだけど
もしかして↓のようにすれば mysql_num_rows って必要ないですか?
$result = mysql_query($sql) or error();
0399398
2006/04/16(日) 15:56:13ID:???それをやってるのが >$result = mysql_query($sql) or error();
よって >上記のようにエラー処理をしてたんだけど という前述コードは
「エラー処理を一切していない」
0400nobodyさん
2006/04/16(日) 16:01:25ID:???if ( $rows < 0 ) error();
おまけにこれなに?mysql_num_rows()って「0以上の数値」か「FALSE」しか返さないんじゃなかったか?
マイナスの場合なんてありえないだろ。何のチェックにもなってなくないか?
0401397
2006/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:???> if ( $rows < 0 ) error();
この条件と
> if ( $rows > 0 ) { }
この条件は全然一致してないだろ
0406nobodyさん
2006/04/16(日) 17:23:24ID:???0407nobodyさん
2006/04/16(日) 17:31:15ID:ifz+1Zn4KDDIのUAを取得したあとに、またif(preg_match〜ってするの?
0408397
2006/04/16(日) 17:39:38ID:nblpYMkq0411nobodyさん
2006/04/16(日) 17:56:03ID:???if(preg_match('/(KDDI)-(\w+)/', $_SERVER['HTTP_USER_AGENT'], $match)) {
$ua = $match[1];
}
0412nobodyさん
2006/04/16(日) 17:58:21ID:???失敗。
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:???0415nobodyさん
2006/04/16(日) 20:06:03ID:???クラスくらいは普通に使うが。
0416nobodyさん
2006/04/16(日) 20:31:30ID:???・第三者が自由に書き込めるレビューの設置
・レビューと併せた投票システムの設置
上記の三つを作成したいのですが、
全くの初心者ですのでphpを勉強するのにお勧めの教本があれば教えて頂きたいです。
宜しくお願いします。
0417nobodyさん
2006/04/16(日) 20:42:06ID:???つttp://www.amazon.co.jp/exec/obidos/ASIN/4797320974/503-6104378-4423149
0418nobodyさん
2006/04/16(日) 21:29:52ID:???という処理はできないでしょうか?
0421nobodyさん
2006/04/16(日) 21:40:57ID:???※ file()関数
※ for文、もしくはwhile文
上の二つが大ヒントだ!!
まぁ、ほかのやり方は山ほどあるけどね
0425nobodyさん
2006/04/16(日) 22:11:36ID:U9is4hyDcheckboxのnameがcheck[]となっていました。
checkboxは10項目くらいあるんですけど、全部check[]です。
これはその後どうやってばらばらに受け取るんですか?
チェックボックスはラジオボタンとちがって、複数の値が送れる(?)ので
メールフォームとかで、チェックされたものだけを出力したいのですが、
いまいちうまくいきません。
0426nobodyさん
2006/04/16(日) 22:12:41ID:???0427394
2006/04/16(日) 22:20:16ID:U9is4hyDレスどうもです。
拡張子は意味無いんですか。勉強になります。
ファイル名はdate関数とかでリネームしてます。
てゆうかなんでそのままのファイル名は危険なんですかね?
htmlspecialcharsは普通にinput textをdbに入れる前に使います。
textareaの文章とかにも使います。これも意味ないですかね?
>396
その本は気になっていて、ちょっと読んだのですが、
難しそうで自分にはまだ早いかなと思ってしまいました。
もう一回読んでみます。
0429425
2006/04/16(日) 22:24:23ID:U9is4hyDvar_dampって初めて知りました。print_fとは違うんですか?
配列に格納されていたとしても、入っているもの(チェックされたもの)だけを
判別して、取り出すにはどうすればいいですかね?
0430nobodyさん
2006/04/16(日) 22:35:23ID:???ああ、アップロード以外に文字列データもあるってことね >htmlspecialchars
それなら分かる。
しかし、普通はhtmlspecialcharsはHTML出力時に使うものであってDBに入れるときに使うもんじゃないぞ。
DBに入れるときはmysql_escape_stringしとかなきゃダメだろ。
拡張子はいくらでも嘘を書けるから、むしろ1度削除して自前で判定した拡張子を付加してやった方がいい。
0431nobodyさん
2006/04/16(日) 22:36:50ID:???元々チェックボックスってチェックされたものしか送信されないような…。
後はそれぞれのvalueの内容を見て振り分けてるんじゃないの。
0432nobodyさん
2006/04/16(日) 22:53:40ID:42+ATyOFPHPinfo()は動くんだけど
echoさえ動きません。。。orz
PHP Version 4.4.1-pl1です。。
もう、インストール&アンイストールを4回くりかえしてます。
php.iniの設定は以下の通りです。
mbstring.language = Japanese
mbstring.internal_encoding = EUC-JP
mbstring.http_input = auto
mbstring.http_output = EUC-JP
mbstring.encoding_translation = On
mbstring.detect_order = auto
mbstring.substitute_character = none
extension=php_mbstring.dll
0433nobodyさん
2006/04/16(日) 22:55:23ID:???もっとくやしく
0434nobodyさん
2006/04/16(日) 23:12:53ID:ifz+1Zn40438nobodyさん
2006/04/17(月) 00:28:08ID:ivoWdWE5どこに行けばいい?
0439nobodyさん
2006/04/17(月) 00:53:31ID:qfnqXSjS>>437
すいません
解決しました。
PHP.iniの設定をmbstring.internal_encoding = SJISにしたら直りました。
下らねぇ質問で失礼しました
0440nobodyさん
2006/04/17(月) 01:07:46ID:???0441nobodyさん
2006/04/17(月) 03:44:51ID:???誰か、該当者やちゃってくれない?
0444nobodyさん
2006/04/17(月) 12:48:59ID:Z/1jQgcoでいいだろ。ってことでしょ。
0445nobodyさん
2006/04/17(月) 13:10:32ID:???0446nobodyさん
2006/04/17(月) 13:59:46ID:rTnmXwePPHPでGDライブラリを使いたいので、必要なライブラリをインストールしたのですが
何度やってもFreeTypeを使えるようになりません。(phpinfo()で見てもFreeType Supportが有効にならない)
GD SupportやJPG/PNG Supportは有効になっていてグラフィックス関連の関数も使えるのですが・・・
OSはRedHat9、PHPやGD等のライブラリは全てソースからインストールしています。
○挑戦中のバージョン
PHP4.4.2.tar.gz
gd-2.0.33.tar.gz
libpng-1.2.8.tar.gz
jpegsrc.v6b.tar.gz
freetype-2.1.10.tar.gz
zlib1.2.3.tar.gz
PHPでGD+FreeType環境を構築された方いらしたら、./conigureのオプション指定方法やライブラリのバージョン等を教えていただけないでしょうか?
0447nobodyさん
2006/04/17(月) 13:59:47ID:???また他人を騙るアホが出てきたな
質問者は語られたくなかったらID付けましょう
ageればID付きます。
って言うのをテンプレ化キボン
それでも本人性の確認は出来ないけどね
0451nobodyさん
2006/04/17(月) 15:00:29ID:wNvi8T9B僕はmysqlのサーバ名とか「パスワードとかを、db.iniというファイルにまとめて書いておいて、phpで呼び出すときにrequire_once("db.ini")とやって、
mysql_connect($dbserver, $dbuser, $dbpass);とかやっています。
このdb.iniは普通にphpのファイル群と一緒にアップロードしていますが、
こういうのって危険なんでしょうか?
これは別のフォルダに入れてhtaccessとかで認証かけたりしたほうがいいのでしょうか?
0452nobodyさん
2006/04/17(月) 15:05:30ID:???外からは見れないところにおくか、拡張子phpとかにして、
見られても生では見えないようにしておかなきゃダメ。
0454nobodyさん
2006/04/17(月) 15:27:03ID:???0455nobodyさん
2006/04/17(月) 15:28:46ID:???0457nobodyさん
2006/04/17(月) 16:23:04ID:???proxyを経由してfile_get_contentsすることはできますか?
できるとしたら、どうすればいいでしょうか。
0458nobodyさん
2006/04/17(月) 16:26:48ID:???とりあえずこれだけはやっておけ
君のサイトのhttp://ドメイン/ウニャウニャ/db.ini
としてdb.iniが見えるかテスト
あとhttp://ドメイン/ウニャウニャ/
でディレクトリ内一覧が表示されないかもテスト汁
見えたらアウト
0460451
2006/04/17(月) 16:50:21ID:wNvi8T9Bレスありがとうございます。
ファイルを直接指定するとばっちり中身が見えます。
ディレクトリ内の一覧も正格に表示されます。
どうすればいいでしょうか?
0461451
2006/04/17(月) 16:51:45ID:wNvi8T9Bよろしくお願いします。
0463451
2006/04/17(月) 16:59:29ID:wNvi8T9B見逃してました。どうもです。
一般的というか、こういうときはだいたいこうするみたいな
セオリー的なことが聞きたいです。よろしくおねがいします。
0465nobodyさん
2006/04/17(月) 17:20:05ID:???phpでWINMXみたいのををつくりたいんですができますか?
0466nobodyさん
2006/04/17(月) 17:22:01ID:???このサイトのマニュアルを一括でプリントできない?
紙で移動中とかに読みたいんだけど
■ このスレッドは過去ログ倉庫に格納されています