【PHP】下らねぇ質問はここに書き込みやがれ 35
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2006/12/21(木) 13:42:19ID:???まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 34
http://pc8.2ch.net/test/read.cgi/php/1165519374/
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ http://pc8.2ch.net/php/subback.html
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで http://pc8.2ch.net/db/subback.html
・速さについては自分でベンチをとってここに書け(違う環境の人も調べてくれるかも)
しかし初心者が目的も定めずに速度を気にしたところでほとんど意味は無いぞ
0686nobodyさん
2007/01/03(水) 16:08:59ID:t8t0mqjnどなたかご教授おねがいします。
Web ページへのナビゲーションは取り消されました
対処方法:
ページを最新の情報に更新する。
0687nobodyさん
2007/01/03(水) 16:11:27ID:???headerとかでリダイレクトするURLをhttpでハードコーディングとかしてんのか?
プロトコルに依存したコード書いちゃダメだよ。
さすがにsslをインストールしてないとかhttpしか起動してないとかは無しな。
0688673
2007/01/03(水) 16:15:16ID:???バージョンは次のとおりです。(OSはWinXPです)
Apache 2.0.59
PHP 5.2.0
環境変数は、Pathに"C:\php"を追加したのみです。
どなたか気づいた点がありましたら、よろしくお願いします。
0689nobodyさん
2007/01/03(水) 16:17:01ID:???0690nobodyさん
2007/01/03(水) 16:17:19ID:t8t0mqjnsslはインストールした記憶がありませんが、apacheをインストールしたなら大丈夫だよと
友達に言われたのでたぶんはいってます。
ちなみに<a href="https://localhost/">はじめてのリンク</a>で飛べませんでした。
<a href="http://localhost/">なら飛べます。
大変恐縮ですがご教授お願いします。
0691nobodyさん
2007/01/03(水) 16:21:31ID:???設定しているphp.iniと実際に使われているphp.iniが違うんじゃないかな。
>>690
大丈夫じゃないので、その友達を問い詰めるかググル先生に聞く。
適当に「apache ssl インストール」ぐらいがキーワードかと。
0692673
2007/01/03(水) 16:22:07ID:???"\"を"/"に変更しても特に変わりませんでした。
また、他のextensionについては、;(セミコロン)を外すだけで
読み込まれるのを確認しました。
0693nobodyさん
2007/01/03(水) 16:29:35ID:???0694認定回答者
2007/01/03(水) 16:40:42ID:???0695nobodyさん
2007/01/03(水) 17:17:26ID:???foreach($result as $value){
print_r(mysql_fetch_assoc($result));
}
って無理だっけ?
$resultには結果データが入ってます。
0696nobodyさん
2007/01/03(水) 17:23:27ID:???$resultがmysql_queryの返りなら
while ($row = mysql_fetch_assoc($result)) {
print_r($row);
}
0698nobodyさん
2007/01/03(水) 18:04:05ID:???0699nobodyさん
2007/01/03(水) 18:06:39ID:???分岐できるんでしょうか。
0702nobodyさん
2007/01/03(水) 18:22:34ID:???# 日本語かも
} else {
# 英語のみかも
}
0703nobodyさん
2007/01/03(水) 21:30:30ID:???よーく見よう。
foreach($result as $value){
print_r(mysql_fetch_assoc($result));
}
0704nobodyさん
2007/01/03(水) 23:13:39ID:???0705nobodyさん
2007/01/03(水) 23:22:09ID:hZ6vl50dどうせつかうなら新しいバージョンが良いと思うんだけど、英語に困らなければ
Zend Studio5.5をUSの全土から購入しても良いものかな
日本語文字コード処理とかで面倒でなければいいのだけど。
0706nobodyさん
2007/01/03(水) 23:24:42ID:???0707nobodyさん
2007/01/03(水) 23:27:21ID:t8t0mqjn教本みても(9<$a)など判断材料がふたつしか使われてないので使って良いのかわかりません。
どなたかアドバイスお願いいたします。
0708nobodyさん
2007/01/03(水) 23:32:14ID:???0709nobodyさん
2007/01/03(水) 23:46:29ID:t8t0mqjn0711nobodyさん
2007/01/04(木) 00:03:47ID:???$test['aka'] = "あか";
$test['midori'] = "みどり";
$test['kiiro']="きいろ";
foreach ($test as $v) {
$v = htmlspecialchars($v);
}
とした場合、
サニタイズした値を、$testにキーを替えずに格納するにはどうしたらよろしいのでしょうか?
0712nobodyさん
2007/01/04(木) 00:12:58ID:???0713nobodyさん
2007/01/04(木) 00:13:12ID:???$test[$k] = htmlspecialchars($v);
}
とか
$test = array_map('htmlspecialchars', $test);
0714nobodyさん
2007/01/04(木) 00:15:53ID:???0715711
2007/01/04(木) 01:05:19ID:???すべて試してみました。
無事どのやりかたでも解決の道につながりました。
ありがとうございます。
0716nobodyさん
2007/01/04(木) 01:59:03ID:???素直に
if( 9 < $a && $a < 21 )
にしたほうがいい。
でないと>>710がいうようなバグの温床になるぞ
0717nobodyさん
2007/01/04(木) 06:17:27ID:???0718nobodyさん
2007/01/04(木) 07:36:38ID:???0719nobodyさん
2007/01/04(木) 07:47:14ID:???まぁ興味心からサイト見せてもらいたいところ
0720nobodyさん
2007/01/04(木) 07:59:53ID:???愛知県,名古屋市,中区
見たいに、都道府県別・市区町村別など分けて記録するようにしているのですが
最近この方法でいいのかどうか悩む時があります。
と言うのもあまり,で分けていくと住所としてわかりにくいので
例えば住所録を作るなら、「名前,愛知県 名古屋市 中区,000-0000-0000」
見たいな記録の仕方の方が良いのかな?とも思います。
上記はログファイルに記録する方法で説明しましたが、DBを使う場合など
フィールドの数が増えすぎるのを気にしています。皆さんの方法を教えて下さい。
0721717
2007/01/04(木) 08:16:03ID:???0722nobodyさん
2007/01/04(木) 09:10:32ID:???・誰がログを見て分かりにくいの?
・前の形式だと何が都合悪くて、その形式だと何が都合良いの?
・フィールドが増えすぎると嫌なのは何故?
0723nobodyさん
2007/01/04(木) 12:04:19ID:???住所を細かく分けることに意味があるの
俺なら住所はそのまま1個のデータにする。
検索が必要なら郵便番号とか自治体コードをつけてそれで検索するようにする
0725nobodyさん
2007/01/04(木) 13:43:29ID:LCXiivMy画像を鯖にうpする方法は、携帯でファイルを添付して、
サーバーに送るっていうのは分かるんですが
PHPでそれらしきスクリプトを見た事がないんです。Perlならあるんですが
どうすれば良いんでしょうか?
0726nobodyさん
2007/01/04(木) 14:17:30ID:???0727nobodyさん
2007/01/04(木) 15:21:57ID:???いや、ケータイはPOSTでアップロードするんじゃなくて
メールに画像ファイルを添付して特定アドレスに送信で
「アップロード」するのが普通。
PEARのクラス使えば楽に作れるよ。
0728nobodyさん
2007/01/04(木) 15:23:16ID:9Z/Os6JC例えばここの>>39のURL(http://pc10.2ch.net/test/read.cgi/php/1166676139/)を入力すると、
http://pc10.2ch.net/test/read.cgi/php/1166676139/39 2006/12/21 16:58:28 ID:/jd0802W
と、2chで規制報告(http://qb5.2ch.net/sec2chd/ )する書式で出力するようにしたいのですが、
どのようにすればできるでしょうか?
0729nobodyさん
2007/01/04(木) 15:23:57ID:???× 例えばここの>>39のURL(http://pc10.2ch.net/test/read.cgi/php/1166676139/)を入力すると、
○ 例えばここの>>39のURL(http://pc10.2ch.net/test/read.cgi/php/1166676139/39)を入力すると、
0730nobodyさん
2007/01/04(木) 15:35:19ID:???0731nobodyさん
2007/01/04(木) 15:49:30ID:LCXiivMyなんていうクラスなんすか?
0732nobodyさん
2007/01/04(木) 16:13:44ID:???dat取得して、指定番号のログ見ればいいじゃないか。
まぁhttp://(略)/39からHTML取得して、正規表現で必要なのを取り出しても良いかと
>>731
POP3でメール拾ってくる(PEAR使うと楽)か、.sendmail .qmailとかが使える環境ならそれ利用してメールを取得。
取得したメールをデコード(PEAR(ry)して添付ファイルを取得。
検索汁。サンプルも大量に転がってるからそれ参考にするように
0733nobodyさん
2007/01/04(木) 16:37:06ID:77+OJBx3現在のコード
for($i=0; $i<50; $i++){
list($a1,$a2,$a3,$a4,$a5,$a6,$a7,$a8,$a9,$a10,$a11,$a12,$a13,$a14,$a15)=explode(",",$list[$i]);
〜ここに処理〜
}
上記の用なコードで、list()内の
$a1,$a2,$a3,$a4,$a5,$a6,$a7,$a8,$a9,$a10,$a11,$a12,$a13,$a14,$a15を
別で定義する事はできないのでしょうか??
例えば
$explode=$a1,$a2,$a3,$a4,$a5,$a6,$a7,$a8,$a9,$a10,$a11,$a12,$a13,$a14,$a15;
for($i=0; $i<50; $i++){
list($explode)=explode(",",$list[$i]);
みたいな感じで、、、
どなたかご伝授お願い致します。
0734nobodyさん
2007/01/04(木) 16:53:35ID:???0735nobodyさん
2007/01/04(木) 17:00:34ID:???explodeされる内容が必ず15個に分割できるような内容なのかとか
チェックはしないの?
素直に配列で受けた方がいいと思うけどね。
$a1と書くのも配列の添え字で指定するのも変わらんと思うけど。
0736nobodyさん
2007/01/04(木) 17:15:51ID:???みたいに置換部で関数に $n を渡すことはできないんでしょうか?
0737nobodyさん
2007/01/04(木) 17:32:03ID:???実際に$a1〜$a15みたいな連番なら配列インデックスの0〜14と全くかわらないから
恐らく名前をわかりやすくしたいんだろ。
分割した値を受け取って名前をわかりやすくしたいならこうやる。
define('id',0);
define('name',1);
define('mail',2);
$a = explode(",",$data);
echo $a[id];
echo $a[name];
echo $a[mail];
ちなみにPHPは配列の中に配列を入れる2次元配列が扱える。
ファイルから一行ずつ取り出して、$i++させてexplodeしたのを
line[$i][id]みたいにも出来る。
0738nobodyさん
2007/01/04(木) 17:52:32ID:???\nの置き換えは出来る。
strlen($1)って何?$1って。
iと1ってすげー離れてて打ち間違えるはず無いんだけど。
変数で頭に数字とか無理だし、基礎の基礎から勉強しなおさないとダメ。
0740nobodyさん
2007/01/04(木) 18:18:52ID:zO0Pn/NQなければどうすればよいのか教えてください
0741nobodyさん
2007/01/04(木) 18:52:46ID:???元の配列を比較をして、被ってる奴を取り出せそう。
0743nobodyさん
2007/01/04(木) 19:39:51ID:vYwloFhp新しいものにするのがセキュリティとして安全が高まるのでしょうか?
0746nobodyさん
2007/01/04(木) 20:05:02ID:vQ5HUYnYセキュリティ上、エラー表示をすべてOFFにしているのですが、
以下のスクリプトだとエラー表示がOFFになりません。
----test.php----
@require('../test.inc.php');
以下略
----------------
----test.inc.php----
error_reporting(0);
--------------------
test.phpのrequireの前の@を消すとエラー表示がOFFになるのですが、
万が一requireに失敗したときにエラーが表示されてしまいます。
test.phpの先頭にerror_reporting(0);を書けばいい話なのですが、
サイト全体でphpファイルがいくつもあり、
サイト全体でエラーが出ていないかチェックしようと思うと、
すべてのphpのerror_reporting(0)をコメントアウトしなければなりません。
そういった手間を省くためにtest.inc.phpに記述しているのですが、
スマートに解決する方法はないのでしょうか?
0747nobodyさん
2007/01/04(木) 20:14:51ID:???0748nobodyさん
2007/01/04(木) 20:20:41ID:???・一番最初に半角英数が入力されている、
・または
・タブと空白と改行が混じっている
以上の条件で自分なりにしらべて書いてみたのですがエラーになりました。
どなたかご教授お願いいたします
preg_match("a-zA-Z0-9|\t\n\r\f",$a)
0749748
2007/01/04(木) 20:22:42ID:???preg_match("^a-zA-Z0-9|\t\n\r\f",$a)
0750nobodyさん
2007/01/04(木) 20:34:16ID:???0753nobodyさん
2007/01/04(木) 20:50:19ID:LL+BmzpWhimituno.txtからデータを拾って特定の部分だけ
表示させているのですが
直接http://example.com/himituno.txtと
打たれると中身が全て見られてしまいます。
http://example.com/himituno.txtを
直接見れなくするにはどうすればよいでしょうか?
スレ違いかもしれませんが宜しくお願い致します。
0754nobodyさん
2007/01/04(木) 20:54:48ID:???0756nobodyさん
2007/01/04(木) 20:58:55ID:???自分は住所を項目として登録する時、登録時のフォームは
都道府県[ ]//[]はテキストボックス
市区町村[ ]
その他[ ]
と言う風に3つのテキストボックスにして、保存時は「都道府県,市区町村,その他」
という風にしています。ですが、>>723さんの言うには「細かく分ける必要はない」
とのことなんですが、それなら修正時に困ると言うことは無いのでしょうか?
誕生日なら年とか日を元にlistで配列に代入出来ますが、
住所だと難しいと思うので、分けて保存するようにしています。
0759nobodyさん
2007/01/04(木) 21:05:46ID:???例えば会員制のサイトだと、住所を細かく入力して後で修正しますよね?
そういう作りの時に、自分は細かく分けるようにしているのですが、
それだとカンマが増えてログが見づらいなと思うようになってきたんです。
住所を複数登録したい場合も増えるし。
とはいえ、分けないで1つにしても修正・編集時に適応させる方法が
わからなくて、質問した次第です。
0760nobodyさん
2007/01/04(木) 21:11:54ID:???0761nobodyさん
2007/01/04(木) 21:13:14ID:???それとも、会員の情報=ログ?
0762nobodyさん
2007/01/04(木) 21:15:35ID:???自分が間違ってたらすみませんが、、会員サイトとかアドレス帳とか
ログを保存する形式のシステムって
登録フォーム→ログ保存(datファイルやDBに書き込み)
編集→ログ読込→編集フォームに反映
っていう流れでは無いのでしょうか?別物だという認識はなかったのですが・・・
0763nobodyさん
2007/01/04(木) 21:17:19ID:???喧嘩売るとかそれ以前の問題。
赤っ恥かいてください。
http://au3.php.net/preg_replace
この中を $1 で検索してみなよ。
0764nobodyさん
2007/01/04(木) 21:20:54ID:???データのことをいってるなら、処理をシンプルにできる方がいいんじゃないの?
>>722 をじっくり考えてみ
0765nobodyさん
2007/01/04(木) 21:24:28ID:???0766nobodyさん
2007/01/04(木) 21:28:40ID:???という正規表現で
abc000 や abc010 などには対応可能ですが、
abc000や abc000などの
全角バージョンにも対応させるためにはどうすればよいでしょうか?
強制的に半角に変えてから正規表現チェック、という方法を
思いつきましたがもっとストレートな方法などはあるでしょうか?
0767nobodyさん
2007/01/04(木) 21:30:00ID:???これまでのレスで>>722の理由は書いてるはずなんですが、、、
とりあえず現状の方法でやってみます。ありがとうございました。
0768nobodyさん
2007/01/04(木) 21:46:44ID:bHMCSjbZpreg_match("^[a-zA-Z0-9\t\n\r\f]",$a)
って[ ]を使えば?(あと|は取り除いたけど)
0772nobodyさん
2007/01/04(木) 22:10:10ID:1paIAynv修正作業としては一列で読み込み&保存するだけの事だから
別にログが見づらくてもフォームで修正や管理するのであれば
問題ないのでは・・
0773736
2007/01/04(木) 22:13:41ID:???0774738
2007/01/04(木) 23:10:02ID:???0775nobodyさん
2007/01/04(木) 23:15:20ID:???0777738
2007/01/04(木) 23:37:17ID:???0778ポンタ
2007/01/04(木) 23:38:15ID:???0779nobodyさん
2007/01/05(金) 00:21:30ID:???0780nobodyさん
2007/01/05(金) 00:35:35ID:bC4ZcHyY見つかったらAの処理、
見つからなかったらBの処理
を行いたいのですが、どなたかお願いします。
試したけどうまくいかなかったソースです↓
$array = array("a","b","c");
if (array_key_exists("e",$array)) {
echo"存在する";
}else{
echo "存在しない";
}
0781nobodyさん
2007/01/05(金) 00:41:20ID:???0782780
2007/01/05(金) 01:03:45ID:???in_arrayで無事に解決しました。
0783nobodyさん
2007/01/05(金) 06:19:47ID:MZtN5g8DレンタルサーバーのためCRONはいじれません。。
ご教示お願いいたしますm(_ _)m
0784nobodyさん
2007/01/05(金) 06:32:33ID:???レン鯖板で該当鯖のスレを探してそこで訊いたらどうですか。
メールが届いたときに自動返信する仕組み自体はいろいろあるので。
■ このスレッドは過去ログ倉庫に格納されています