くだすれPHP(超初心者用)5
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2008/11/22(土) 06:36:02ID:???もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。
PHP使いが優しくコメントを返しますが、
お礼はPHPの布教と初心者の救済をお願いします。
PHP Home Page
http://www.php.net/
http://jp.php.net/
くだすれPHP(超初心者用)4
http://pc11.2ch.net/test/read.cgi/php/1213356756/
適当に関連スレ(マルチはだめぽ)
【PHP】下らねぇ質問はここに書き込みやがれ 69
http://pc11.2ch.net/test/read.cgi/php/1211879073/
0503nobodyさん
2009/01/24(土) 22:41:25ID:???0504nobodyさん
2009/01/24(土) 23:08:37ID:???そのエラー、稀に文字コードの問題はあるにしてもソースの問題じゃないと思うけど。
サーバー設定で権限がなくて読みに行けないとか、だな。
0505nobodyさん
2009/01/24(土) 23:11:53ID:???0507nobodyさん
2009/01/24(土) 23:23:43ID:???0508nobodyさん
2009/01/24(土) 23:49:33ID:???Unknownとは、読みに行く側のリソースが特定できていないということ。
Web経由のアクセスの場合、login.phpはあるが、権限が不足していたりすると404じゃなく、
phpハンドラーに渡されて、そのエラーになる。普通によくあること。
>>500は「パーミッションもユーザーが読めるようにしています。 」って書いてるが、
読めなくなる原因はファイルパーミッションだけじゃないからね。
0509nobodyさん
2009/01/24(土) 23:56:53ID:???とりあえず、最初に叩くファイルの冒頭にecho "hoge";exit();これでどうなるか。
そっからデバッグしてけば別のエラーになるさ。
0510nobodyさん
2009/01/25(日) 01:33:09ID:???だせぇw
0511476です。
2009/01/25(日) 02:01:51ID:esMzMmSNhttp://gichioka.web.fc2.com/source.zip
すべてのファイルとデータベースとphp.iniを入れました。
よろしくお願いします。
0513nobodyさん
2009/01/25(日) 02:28:51ID:esMzMmSN0516nobodyさん
2009/01/25(日) 03:08:45ID:???これって文章化されたPHP仕様に含まれてますか?
てっきりヒアドキュメントを使わなくてはならないものだと思っていたのですが…
$multiline = "
LINE 1
LINE 2
LINE 3
";
0517nobodyさん
2009/01/25(日) 03:24:57ID:???0518nobodyさん
2009/01/25(日) 03:58:37ID:???VBだと改行で認識するよね。
だからVBからきた人だと、改行入れても
エラーにならない、という仕様のほうが
不思議に思うんでしょう。
0519516
2009/01/25(日) 04:22:47ID:???有名どころのフレームワーク等でも
$multiline = "LINE1\n"
. "LINE2\n"
. "LINE3\n"
と書いているものがほとんどなので、使ってはいけないのかなと疑問を持った次第です。
SQLとか埋め込む時は>>516の方が断然楽ですよね…
ヒアドキュメントはいらない子?
0520nobodyさん
2009/01/25(日) 04:37:23ID:???0522nobodyさん
2009/01/25(日) 05:59:54ID:???例えば
$test['a'][1];
$test['a'][2];
$test['b'][1];
$test['b'][2];
$test['b'][3];
この配列で要素数5を返したいのですが
countでは3が返ってきます。
何かほかの関数や手段はありますか?
0524nobodyさん
2009/01/25(日) 06:08:42ID:???すまんこっちのほうだ
0525nobodyさん
2009/01/25(日) 07:39:19ID:???ttp://jp2.php.net/manual/ja/function.count.php
0526nobodyさん
2009/01/25(日) 08:17:33ID:???>>515
だからさ、login.phpのファイルはあるけど何らかの問題で読めてないんだって。
たとえば、お前らのサーバでも試せるからやってみ。
test.php作ってパーミッションを000にしたファイルにアクセス。
したら、
Warning: Unknown: Failed opening ・・・
になるから。
0527nobodyさん
2009/01/25(日) 08:29:44ID:???0528476です。
2009/01/25(日) 11:45:32ID:esMzMmSNなんででしょうか?
0529nobodyさん
2009/01/25(日) 11:56:54ID:???login.phpの中身を空っぽにしてアクセスしてみ?
0530nobodyさん
2009/01/25(日) 12:04:32ID:???原因はパーミッション以外にいろいろあるよ。
パーミッションだってあってるのかどうか。
他にはopen_basedirとかsafe_modeとか、
CGIで動いてるレンサバなんかならそれに合わせた設定が必要だし。
0533nobodyさん
2009/01/25(日) 12:14:51ID:???Hello Worldが動くかどうかなんて、エスパーじゃあるまいしわからないさ。
が、とりあえず、それを試せば問題は次に移るってこと。
Warning: Unknown: Failed opening '/var/www/html/login.php' for inclusion (include_path='.:/usr/local/include/php/libs') in Unknown on line 0
冗長だけどもっかい書くとね。
Apache:login.phpにリクエスト来ました。ファイルありました。phpハンドラー、後はよろしく。
php:了解、じゃ、ファイルをインクルードして処理します〜。あ、ファイル、インクルードできません。
で、エラー
from:不明なリソース to: login.php action:include result:無理
0534nobodyさん
2009/01/25(日) 12:19:12ID:???パーミッションが間違ってる。
open_basedirの設定にtypoがあって動かない。
include_pathに問題がある
safe_modeの設定に問題がある
PHPがsuexecで動いてて、ファイルの所有ユーザーかグループに問題がある
などなど。
0536nobodyさん
2009/01/25(日) 12:21:27ID:???とでも書いて結果を貼ってもらうってのがいいのかもしれないね。この場合。
0538476です。
2009/01/25(日) 13:36:25ID:esMzMmSNphpinfo(INFO_CONFIGURATION);
かいたやつを入れましたのでよろしくお願いします。
0539476です。
2009/01/25(日) 13:42:05ID:esMzMmSN0540nobodyさん
2009/01/25(日) 13:44:10ID:???ところで、login.phpでecho "Hello World!";はしてみたの?
0541nobodyさん
2009/01/25(日) 13:44:40ID:???0543nobodyさん
2009/01/25(日) 13:49:36ID:???0544nobodyさん
2009/01/25(日) 13:50:22ID:???0545476です。
2009/01/25(日) 14:46:06ID:esMzMmSNはできました。
source.zipアクセスできるようになりましたので、よろしくお願いします。
>>マルウエアをインストールさせるための釣りだな。たぶん。
変なこといわないでください
0546nobodyさん
2009/01/25(日) 14:53:00ID:???そしたら、元のソースにして、エラーが出る個所を特定すればいい。
1行でも解釈できれば例のエラーにはならないから。
で、リダイレクトループとかで問題が出ているケースもあるから、
error_log(__LINE__);とかを怪しいところにはさんで行って、どこまで処理が進んでるかチェック。
0547476です。
2009/01/25(日) 15:00:45ID:esMzMmSNの使い方がわかなんね。
どうやって使うの?
0548nobodyさん
2009/01/25(日) 15:04:41ID:???コマンドラインが使えるならエラーログでtail -f /var/log/httpd/error_logとかで見張ってればよくわかる。
エラーログが見れないんならechoでもいいけど、要するにどこまで処理が進んでるかチェックして
そのエラーメッセージを出せば、新しい情報がとれるでしょ?
0549nobodyさん
2009/01/25(日) 16:08:16ID:???Hellow World→動く
サンプルコードをそのまま挙げた→動かない
これしかやってないでできないできない言うとかありえないっす
0550476です。
2009/01/25(日) 20:01:42ID:esMzMmSNerror_log(__LINE__); でいろいろ調べてみたいと思っています
0551476です。
2009/01/25(日) 20:12:36ID:esMzMmSNPHP Fatal error: require_once() [function.require]: Failed opening required 'config.php' (include_path='.:/usr/local/include/php/libs') in /var/www/html/login.php on line 3
だそうです。
調べてみてもわからん。
0552476です。
2009/01/25(日) 20:13:47ID:esMzMmSNSELINUXは切ってありました。
0553476です。
2009/01/25(日) 20:51:19ID:esMzMmSN無事動いたのですが....動いたといえるのか。
HTTP/AUTH.PHPが作動したのですが、
Member Area のサーバーにはユーザー名とパスワードが必要です。
と普通でます。
で、db_login.phpのデータを入れたんですがだめでした。
もしかして
$AuthOptions = array(
'dsn'=>"mysql://$db_username:$db_password@$db_host/$db_database",
'table'=>"users", // テーブル名
'usernamecol'=>"username", // ユーザ名の列
'passwordcol'=>"password", // パスワード列
'cryptType'=>"md5", // パスワードの暗号化形式
'db_fields'=>"*" // 他の列も取得可能にする
のどこかにデータを入れなくてはいけないのでしょうか?
0555476です。
2009/01/25(日) 21:24:21ID:esMzMmSNとでるんですがユーザー名とパスワードを入れてもうごきません。
初歩的ですいませんが、
>>553のどの部分に自分のデータを記載すればいいのでしょうか?
僕はdb_login.phpにデータが入っているのでなにもいれてなく>>553
のままなんですが。
ここの部分がおかしいんですよね?
0556nobodyさん
2009/01/25(日) 21:31:42ID:???usernameっていうユーザいるの?
0557nobodyさん
2009/01/25(日) 21:35:07ID:???ここはお前専用の質問スレじゃないんだ。
で、login.phpが動かないとか、そもそも入力されたユーザ名・パスワードが間違ってた時の挙動が
どうなるのかを把握してんのか?
それと自分でうpした中のDB.txtの中身を理解してるのか?
具体的には62・63行目。
…もしかしてNG推奨だったのか
0558nobodyさん
2009/01/25(日) 21:35:50ID:???db_login.phpにはそのデータベースにアクセスするための権限情報を保存
0559476です。
2009/01/25(日) 21:38:41ID:esMzMmSN'passwordcol'=>"password", // パスワード列 ←変更
すればいいですか?
あ、mysqlに入っているusernameとpasswordはすでに試しましたが
だめでした。
それがいまいちよくわからないんですよね
なんでだめなのか
0560nobodyさん
2009/01/25(日) 21:39:56ID:???0561nobodyさん
2009/01/25(日) 21:47:18ID:???0562476です。
2009/01/25(日) 22:23:02ID:esMzMmSNマスまずパスが違っていました。
僕のパスはinclude_path = ".:/usr/local/include/php/libs"
なので、ここにpearとconfig.phpを入れてやりました。
そしたら動きました。
>>560さんへ
パスワードはちゃんとハッシュしていますよ。
0564476です。
2009/01/25(日) 22:43:40ID:esMzMmSN0565nobodyさん
2009/01/25(日) 23:06:00ID:???0566522
2009/01/26(月) 01:07:02ID:Ihgtqp1Kそれだと、a・bという項目もカウントしてしまい、7を返すようです。5を返す方法はないですか?
0568522
2009/01/26(月) 05:09:38ID:Ihgtqp1Kすみません、バージョンが4なのでarray_walk_recursiveは使えないみたいです。
他にありませんか?
0569nobodyさん
2009/01/26(月) 05:10:14ID:???0570nobodyさん
2009/01/26(月) 05:48:20ID:???$count = 0;
foreach ($test as $value) {
$count += count($value);
}
echo $count;
0571570
2009/01/26(月) 05:58:46ID:???それ以上になると再帰(リカーシブ)でやったほうがいい
(foreachのネストでも可能だが読みやすさに限界がある)
ただし再帰は頭の回転が速くないと何やってるかわからなくなるので
苦手なら無理して使う必要はない
0573nobodyさん
2009/01/26(月) 06:26:30ID:???http://pc11.2ch.net/test/read.cgi/php/1231850905/
0574nobodyさん
2009/01/26(月) 06:30:54ID:???0575nobodyさん
2009/01/26(月) 10:12:51ID:???わざわざそんなことしなくてもこれでいけるっぽ
echo count($test, 1) - count($test);
0576nobodyさん
2009/01/26(月) 10:29:32ID:???404エラーの際に自作エラーページを表示させるには
どうすれば良いかご存知の方いませんでしょうか。
.htaccessで「AddType PHP5-script html」を指示してしまうと
「ErrorDocment 404 error.html」で指定したページが表示されません。
PHP4の時は両立できたんですが…
0577nobodyさん
2009/01/26(月) 10:41:26ID:2xglnPYyAddType php5-script .html
0579nobodyさん
2009/01/26(月) 11:03:14ID:???あー大文字で書いてしまったのはここに書き込む際の記載ミスです。
実際の.htaccessではご指摘のように記載してます。html拡張子でPHP5は動いてます。
でもそうすると404エラーで自作ページが表示できなくて困ってます。
AddTypeでやってもAddHandlerでやっても結果は同じで、
「AddType application/x-httpd-php .html」でPHP4の環境では両立できるんです。
0580nobodyさん
2009/01/26(月) 11:05:47ID:???まっちろ?
0582nobodyさん
2009/01/26(月) 11:19:56ID:???0583nobodyさん
2009/01/26(月) 11:22:02ID:???自作エラーページのサイズが小さ過ぎるとか。。。
0584nobodyさん
2009/01/26(月) 11:27:03ID:???変化ありませんでした。
IEのHTTP 404 未検出の画面が出ます。
>>583
ファイルサイズは1Kbありました。
0586nobodyさん
2009/01/26(月) 11:46:12ID:???単純なHTMLページの1行目に↓をぶち込んだんですが…
<?php
header("HTTP/1.0 404 Not Found");
php?>
.htaccessで拡張子指定しているのは今は.htmlだけなのですが
存在しない.htmファイルを探させると自作エラーページへ行くことがわかりました。
が、.htmlファイルだとIE規定のページになっています。
.htmlでPHPが動くように指定してしまうとErrorDocmentが
狙った動きをしてくれない、という事でしょうか。
ちなみに今、直接自作エラーページを指定したらIE規定のページが出ましたので
404headerはちゃんと返ってきているようです。
0587nobodyさん
2009/01/26(月) 11:54:43ID:???0588nobodyさん
2009/01/26(月) 12:06:45ID:???PHPで何とか似たような事をやる技があったりしないかなーと
思ったりしたんですが、やっぱ無理すよね。スイマセンでした。
Apacheスレの方で聞いてみます。ありがとうございました。
0589nobodyさん
2009/01/26(月) 14:26:16ID:7H1IWdV1> php?>
何これ。
0590589
2009/01/26(月) 14:27:55ID:???0591nobodyさん
2009/01/26(月) 21:42:45ID:???0592nobodyさん
2009/01/26(月) 23:07:21ID:???なんて言うと思ったか
0593nobodyさん
2009/01/27(火) 06:21:30ID:???0594nobodyさん
2009/01/27(火) 10:00:43ID:???タケヤブヤケタ
山本山?>
0595nobodyさん
2009/01/29(木) 04:21:55ID:???こことおなじものを自分のローカルサーバに設置したいのですがどこかに置いてないでしょうか?
0596nobodyさん
2009/01/29(木) 04:32:25ID:???0597nobodyさん
2009/01/29(木) 07:06:35ID:???サイトの中身良く見りゃわかんだろ・・・
evalは、文字列の中身をphpのコードとして解釈して実行するもの。
base64_decodeしてからgzinflateしてるんだから
base64_encodeしてからgzdeflateすれば、期待の物が出来るんじゃね?
これでわからないんだったら、プログラミングやめた方が良いかもな
0598nobodyさん
2009/01/29(木) 10:51:02ID:???0600nobodyさん
2009/01/29(木) 12:10:04ID:???http://pc11.2ch.net/test/read.cgi/php/1221471692/l50
ここの995=997だろ
0601nobodyさん
2009/01/29(木) 13:24:49ID:???フイタww
淡々と技術情報の交換を2chでしたいってそりゃ無理だろw
2chってそういうとこだとおもうべきだな
0602nobodyさん
2009/01/29(木) 17:55:36ID:???サーバーがPHP5になってしまい
今まで使っていたフリーのメールフォームが使えなくなりました。
PHP5のフリーのメールフォームを探したのですが全然わからず
ここにたどり着きました。
フリーのメールフォームのサイトを教えて頂けないでしょうか?
■ このスレッドは過去ログ倉庫に格納されています