[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 2chのread.cgiへ]
Update time : 06/01 12:02 / Filesize : 180 KB / Number-of Response : 739
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

くだすれPHP(超初心者用)5



1 名前:nobodyさん mailto:sage [2008/11/22(土) 06:36:02 ID:???]
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。
PHP使いが優しくコメントを返しますが、
お礼はPHPの布教と初心者の救済をお願いします。

PHP Home Page
www.php.net/
jp.php.net/



くだすれPHP(超初心者用)4
pc11.2ch.net/test/read.cgi/php/1213356756/

適当に関連スレ(マルチはだめぽ)
【PHP】下らねぇ質問はここに書き込みやがれ 69
pc11.2ch.net/test/read.cgi/php/1211879073/

452 名前:nobodyさん mailto:sage [2009/01/20(火) 07:38:55 ID:???]
>>447のリンク先

453 名前:nobodyさん mailto:sage [2009/01/20(火) 12:58:32 ID:???]
>>447
記事がうそじゃないとしても、2年も前だとあまり当てにならないな。
5.1.x時代だっけ

454 名前:nobodyさん [2009/01/20(火) 14:17:46 ID:auDP4Xko]
sql文の中に多数の変数を入れるにはどうしたらよいのでしょうか?

455 名前:nobodyさん mailto:sage [2009/01/20(火) 14:24:08 ID:???]
普通に文字列連結じゃだめなの?
意図がいまいちわからない。

あ、エスケープはしっかりしろよな。


456 名前:454 mailto:sage [2009/01/20(火) 20:16:30 ID:???]
>>455
はい普通に . でした
6時間前の自分にゲンコツしときました

457 名前:nobodyさん [2009/01/20(火) 23:14:20 ID:FkFXLWeK]
php5.seesaa.net/category/3813207-1.html

ここを見ながら勉強中で、ひとつ前の
Step9・入力された値をPHPでチェックする
まではうまくいったんですが、
Step10・入力された値をJavaScriptでチェックする
が、うまくいきません。イントラネットとかいうのが関係してるんでしょうか。。
何度も確認したんですけど、警告ウインドウが出てきません

458 名前:nobodyさん mailto:sage [2009/01/20(火) 23:21:44 ID:???]
問題の切り分けすべし

459 名前:nobodyさん mailto:sage [2009/01/21(水) 03:11:36 ID:???]
まずなにも入れないで計算してみて。
あとjavascript有効になっている?


460 名前:nobodyさん [2009/01/21(水) 09:46:52 ID:VkT7uFdT]
>>459さん
javascriptは、セキュリティのところでいじればいいんですよね。
それでしたら有効になってます。
なにも入れないで計算すると
-------------------
+=0

前の画面へ戻る
-------------------
って出ます。IEから見るソースは
-------------------

<html>
<head>
<title>calc.php</title>
</head>
<body>
+=0
<br/>
<br/>
<a href="#"onclick="history.back();return false;">前の画面へ戻る</a>

</body>
</html>
------------------------------
です。
書いてるソースのほうは
php5.seesaa.net/category/3813207-1.html
にあるとおりだと思います。



461 名前:nobodyさん mailto:sage [2009/01/21(水) 10:44:16 ID:???]
calc.htmlはどうなっているの?
最初に実行するプログラムはなに?
calc.htmlだよね?
そこからcalc.phpで処理してってことだけど、
form action とか大丈夫これどうり記述しているよね?
jsも読み込んでいるよね。
パスもあっているよね?



462 名前:nobodyさん [2009/01/21(水) 13:51:32 ID:ruw5pBd2]
<input type="text" name="名前" size="20" />
<?
$line = "==名前==";
$line = ereg_replace("==(.*)==", $_REQUEST["\\1"], $line);
?>
上記スクリプトで $line を name="名前" のフォーム値に置換したい
のですができません。どうすれば置換できるでしょうか?

463 名前:nobodyさん mailto:sage [2009/01/21(水) 14:09:33 ID:???]
マニュアル見れ
あとeregよりpreg

464 名前:nobodyさん [2009/01/21(水) 14:58:58 ID:VkT7uFdT]
>>461さん
calc.htmlのソースは

---------------------------
<html>
<head>
<script type="text/javascript"src="calc.js"></script>
<title>calc.html</title>
</head>
<body>
<form name="form1"action="calc.php"method="post">
<input type="text"name="txtA"id="txtA">

<select name="selOpe"size=1>
<option value="+">+</option>
<option value="-">-</option>
<option value="*">*</option>
<option value="/">/</option>
</select>

<input type="text"name="txtB"id="txtB">=?
<br>
<input type="submit"value="計算">
<input type="reset"value="クリア">
</form>
</body>
</html>
-------------------------------------
です。パスがあっているかどうかは、どこを見るとわかりますか?

465 名前:nobodyさん mailto:sage [2009/01/21(水) 15:12:50 ID:???]
>>464のソースの中を見ればわかりますよ!( ^∀^)b

466 名前:nobodyさん mailto:sage [2009/01/21(水) 15:27:54 ID:???]
sample012
の中にはなにが入っている?
sample011までPHPは動いていたんだよね?
わからん。
ほんと。php5.seesaa.net/category/3813207-1.html
と同じことしているんでしょう?
calc.jsもsample012のフォルダの中にはいっているんでしょう?
ソースはコピペしてやっているんでしょう?



467 名前:nobodyさん [2009/01/21(水) 16:23:54 ID:VkT7uFdT]
>>465さん
>>466さん
コピペしなおしたらできるようになりました。
でもどこが悪かったのかわからに・・

468 名前:nobodyさん mailto:sage [2009/01/21(水) 19:35:45 ID:???]
考えられるのは、どっかに空白がはいってしまったこと。
なんか変な文字がどこかにはいってしまったか。
おれもコピペでそういうことになったことは
よくある。
見たとこミスはないので、あのソースをきちんと理解
して次進んでいいと思うよ


469 名前:nobodyさん [2009/01/21(水) 21:43:57 ID:VkT7uFdT]
空白もいけないんですか
先生ありがとう

470 名前:nobodyさん mailto:sage [2009/01/21(水) 22:33:22 ID:???]
いやあくまでも想像だけど、でも間違っているところがないから。
以後もし動かったら再度コピペすることを望みます。




471 名前:462 [2009/01/22(木) 10:25:52 ID:PnoeEoeZ]
>>463
すみません、マニュアル見直しました。
ところで、

$line = "==名前==";
//$line = preg_replace("/==(.*)==/e", "$_REQUEST['$1']", $line);
$line = preg_replace("/==(.*)==/e", "rep('$1')", $line);
function rep ($text) { return $_REQUEST["$text"]; }

コメント行の置換が動作せずに下記エラーが発生するのですが、
いちいちrepのようなfunctionを用意しなきゃいけないのでしょうか?

Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING'
in /************/index.php on line 340

472 名前:nobodyさん mailto:sage [2009/01/22(木) 10:36:31 ID:???]
preg_replace_callback じゃないのか

473 名前:nobodyさん mailto:sage [2009/01/22(木) 12:54:40 ID:???]
$line = "==名前==";
$line= preg_replace("/==(\S*)==/e", 'sprintf("<input type=\"text\" name=\"$1\" value=\"%s\" />", isset($_REQUEST["$1"]) ? $_REQUEST["$1"] : "")', $line);

こうやりたいのか?

キー文字は==全角==じゃなくて==半角==がいいと思うが

474 名前:473 mailto:sage [2009/01/22(木) 13:16:38 ID:???]
htmlspecialcharsも使わないとやヴぁいか。。。

475 名前:462 [2009/01/22(木) 13:23:02 ID:PnoeEoeZ]
>>473
すいません、解決しました。バカみたい・・・
$line = preg_replace("/==(.*)==/e", 'sprintf("%s", $_REQUEST["$1"])', $line);

476 名前:nobodyさん [2009/01/23(金) 05:27:52 ID:L5uKYwrL]
今初めてのPHP+mysqlを勉強しているのだが、
17章のサンプルアプリケーションが動かない。
これって仕様かな?
おれはcent os5でやったんだが、画面真白で。
linuxで誰かやってくれませんか?すいませんが
お願いします。ソースは一応レンタルサーバーと
ホームページ上に貼り付けているんで、
ソースダウンロードできないんだ。
gichioka.web.fc2.com/source.zip←ソースをダウンロード
www.krautgrrl.com/learningphp/index.php/site/C17/←データベース
とかもろもろ貼ってあります。
お手数ですが、よろしくお願いします



477 名前:nobodyさん [2009/01/23(金) 05:29:33 ID:L5uKYwrL]
日本語へたで申し訳ないですが、まあ両方見てやってみてください。
ほんとはphpの本のスレに行きたかったんだけどなくなってしまった
みたいで。
すいませんが、よろしくお願いします


478 名前:nobodyさん [2009/01/23(金) 05:34:48 ID:L5uKYwrL]
すいません。
サンプルコードありました。
昔はなかったのに
www.oreilly.co.jp/books/9784873113654/
ここです。


479 名前:nobodyさん mailto:sage [2009/01/23(金) 07:37:08 ID:???]
オライリー本、
読んで理解できたためしがない

480 名前:nobodyさん mailto:sage [2009/01/23(金) 08:08:21 ID:???]
>>478
エラーメッセージは?



481 名前:nobodyさん mailto:sage [2009/01/23(金) 16:01:37 ID:???]
<?php
session_start();
$anc = array('anc1' => 'one', 'anc2' => 'two', 'anc3' => 'three'); $html = '<html><body><form action="">';
switch ($_REQUEST['m']) {
case '1':
$html .= 'confirm<br />';
foreach ($anc as $k => $v) { $_SESSION[$k] = $_REQUEST[$k]; if ($_REQUEST[$k]) { $html .= $v . '=checked! '; } }
$html .= '<br /><input type="hidden" name="m" value="2"><input type="submit" value="go!">';
break;
case '2':

482 名前:nobodyさん mailto:sage [2009/01/23(金) 16:04:18 ID:???]
$html .= 'finish<br />'; $param = ''; foreach ($anc as $k => $v) { $_SESSION[$k] = $_REQUEST[$k]; if ($_REQUEST[$k]) { $param .= $v . '=checked! '; } }
if ($fp =@ fopen('anc.dat', 'a')) { fputs($fp, date("Y/m/d H:i:s ") . ' ' . $param . ' ' . $_SERVER["REMOTE_ADDR"] . "\n"); fclose($fp); } $html .= 'thank you!';
break;
default:
$html .= 'question<br />'; foreach ($anc as $k => $v) { $html .= '<input type="checkbox" name="' . $k . '" value="1">' . $v . ' '; }

483 名前:nobodyさん mailto:sage [2009/01/23(金) 16:08:55 ID:???]
$html .= '<br /><input type="hidden" name="m" value="1"><input type="submit" value="next">';
}
$html .= '</form></body></html>'; echo $html; exit;
?>

パソコンが今使えないので携帯で消化してしまってごめんなさい
このプログラムのoneやtwoを別のファイルに記録したいんですが
どうすればよいでしょうか?
すごい初心者なので、良ければ具体的に教えていただければ嬉しいです
スレチや失礼あればごめんなさい

484 名前:nobodyさん [2009/01/23(金) 16:11:58 ID:Jr51+scJ]
あと、これを一時間くらいでやらなきゃなので
テンパってます…
お待ちしてます

485 名前:nobodyさん mailto:sage [2009/01/23(金) 16:34:47 ID:???]
初心者とかじゃなくて、
「oneやtwoを別のファイルに記録したいんですが 」
日本語か?それ。

486 名前:nobodyさん [2009/01/23(金) 16:40:52 ID:Jr51+scJ]
すいません
やはり分かりにくかったですか


questionの解答がoneやtwoになっていて
その解答を記録したいんです
解答した日付時刻などはanc.datに記録されますが
なにを答えたかが記録出来てないと思うのですが

487 名前:nobodyさん mailto:sage [2009/01/23(金) 16:58:18 ID:???]
>>486
なんかエラー出てると思うけどねぇ。
エラーを確認するのが解決への近道だよ。

たぶん、原因は↓かと。
$param .= $v . '=checked! ';

$param .= "{$v}=checked! ";
に変えてみたらどうかな?

488 名前:nobodyさん [2009/01/23(金) 17:08:51 ID:Jr51+scJ]
>>487
あれ
paramじゃなくてそこはhtmlにではないですかね
僕の方では一応エラーは出てません

489 名前:nobodyさん mailto:sage [2009/01/23(金) 17:21:03 ID:???]
>>486
セッションが引き回せていないだけ、ってオチじゃないの?
case '2'のところで、print_r($_SESSION)ってやってみれば?

490 名前:nobodyさん [2009/01/23(金) 17:27:13 ID:Jr51+scJ]
>>489
すいません
どの辺りに入れたらいいかよろしければおねがいします
セッション引き回す?の意味がよく分からないのですが
…念のためお聞きしますが、このプログラムでは解答をファイルに書き込めないですよね?



491 名前:nobodyさん mailto:sage [2009/01/23(金) 17:37:42 ID:???]
>>486
もう少し頭を整理したら?
回答はどのファイルに書き込むの?
> oneやtwoを別のファイルに記録したいんですが
回答毎に別のファイルを作るってことかい?

492 名前:nobodyさん mailto:sage [2009/01/23(金) 17:39:39 ID:???]
//$_SESSION[$k] = $_REQUEST[$k];
//if ($_REQUEST[$k]) {
if ($_SESSION[$k]) {

493 名前:nobodyさん mailto:sage [2009/01/23(金) 17:52:40 ID:???]
>>490
デバッグなんだから、どこでもいいよ。
とりあえず、聞く前に試したら?

セッションに代入した(はずの)後、
代入された(はずの)セッションを使う前

494 名前:nobodyさん [2009/01/23(金) 17:58:15 ID:Jr51+scJ]
>>491
これをwebアンケートのようにしたときに
これを解答した人が何を選んだのか記録するファイルを作りたいんです
今はanc.datをつくればそこに日付等が記録されますが
できれば加えてone,two,threeのどれにチェックをつけたかも記録したいということです
記録するのがanc.datファイルでなくてもよいです

>>492
ありがとうございます!
それで上記みたいな事ができるでしょうか?
今は分かりませんが、夜に試してみます

495 名前:nobodyさん [2009/01/23(金) 18:00:35 ID:Jr51+scJ]
>>493
自分でさっきいろいろ挿入してみました
どうしてもエラーが出てしまったので
あとで>>492を試してみます
ありがとうございます!

496 名前:476です。 [2009/01/23(金) 19:42:52 ID:L5uKYwrL]
エラーメッセージは
Warning: Unknown: Failed opening '/var/www/html/login.php' for inclusion (include_path='.:/usr/local/include/php/libs') in Unknown on line 0
でした。
わかる人いますか?
ぜんぜんわかりません。
ちなみにsmartyはhangar5.blog48.fc2.com/blog-entry-27.html
でインストールしました。



497 名前:nobodyさん mailto:sage [2009/01/23(金) 20:01:20 ID:???]
すんまそん、どなたか教えて下さい

あるphpで書かれたスケジューラを使っているのですが、ユーザ認証の際に
POSTで パスワードを受け取り($pwd)、これの一部をsaltとして使い、crypt()でパスワードを暗号化しています。
おおまかな処理は以下の様な感じで行っています(htmlspacialchars等は省きました)。

/* $userid, $pwd => POSTから受け取ったユーザ名・パスワード */
$ pwd_cr = crypt( $pwd, substr( $pwd, 3, 2 ) );

/* SQL文作成 */
$sql = "SELECT id, passwd FROM users ";
$sql .= "WHERE id='".$userid."' AND password='".$pwd_cr."'";

/* SQLの結果セット取得 */
$res = pg_query($conn, $sql);
$cnt = pg_num_rows($res);


教えてもらいたい事ですが、この crypt( string $str [, string $salt ] ) について、
$str と $salt が完全に同じものである場合、どのような環境でも、生成される文字列は常に同一のものになるのでしょうか?

なんでまたこんな事を聞くかと言うと
Windows ServerにApacheとPHPをぶちこんで動かしていたら、Apache再起動のタイミングで
何故か 同一の $str ・ $salt から生成される文字列が変わってしまった経験が今日を含めて2回起きたからです。
そりゃ確かに php.netのマニュアルには

> そのシステム上で使用できるその他のアルゴリズムを使用します

と書いてあるんですが…ンなcryptの動作がコロコロ変わるものなんでしょうか?


498 名前:nobodyさん mailto:sage [2009/01/23(金) 20:04:21 ID:???]
連投すみません、追記。

crypt の挙動が変わる辺りで Windows Update を挟んでいたかどうかは、情けない事にわかりません。
むしろ、 Windows Update で crypt の挙動が変わる可能性があるなら、どのHotfixが怪しいか教えてもらえるとありがたいです。


499 名前:nobodyさん mailto:sage [2009/01/23(金) 20:10:33 ID:???]
>>496 (>>476)
「 /var/www/html/login.php 」について、下の2つの確認まじおすすめ
・確実に存在しているのか
・Apacheを実行しているユーザが読めるのか(パーミッションを確認)


500 名前:476です。 [2009/01/23(金) 20:41:49 ID:L5uKYwrL]
>>499さんへ
/var/www/html/login.php
確実にあります。
パーミッションもユーザーが読めるようにしています。
smartyもできてます。
if (class_exists('Smarty')) {
$smary =& new Smarty;
printf("you can use Smarty(version %s).\n", $smary->_version);
} else {
echo "you can't use Smarty.\nplease install Smarty library.";
}
で確認をとりましたし、テストデータもいれました。
ってことはlinuxだからだめってことですよね?
ほかに考えられないんですよ。
基礎からのphpのサンプルアプリケーションもlinuxでだめでした。






501 名前:nobodyさん mailto:sage [2009/01/24(土) 21:09:15 ID:???]
>>476
・ DB関連の記述は間違っていないか
  MySQLみたいだけど、特に $db_host 等
・ php自体の記述が間違ってないか
  つーかphpの文法はわかってる?あとファイル始端終端の無用な空白行やコメント、文字コードとかにも注意。
・ 最初に $test = 0; を、随所に echo "TEST".$test.": OK";$test++; を入れて止まってるところを探せ
  php勉強するなら結局はコレ大事。

あとは、本気でどうにも出来ないけどどうにかしたい、って言うなら↑の3つを試した後で
今使ってるMySQLの中身と、今のDocumentRootのディレクトリ構成、php.ini、httpd.conf を、ディレクトリ構成ごとまとめて
zipでうpする位は必要だな。レスが付くかどうかは知らんけど。

>>476 の source.zip だけじゃ db_login.php とか、Auth/HTTP.php とか入ってないっしょ。
ドキュメント見たらなんか、学習に沿って自分で作って配置するものらしいけど…そんなんわからんがな。
これじゃ相当なヒマ人かエスパーじゃない限りレスも何もでけん。

502 名前:476です。 [2009/01/24(土) 22:31:06 ID:M+3olz+y]
>>501
Auth/HTTP.php これはpearだぜ。
db_login.php はつくったけど、結果はだめでした。
もういいです。すいませんでした。
Warning: Unknown: Failed opening '/var/www/html/login.php' for inclusion (include_path='.:/usr/local/include/php/libs') in Unknown on line 0
これも連日ぐぐっているけど、だめ。
orellyに聞いたところ確認するって。
誰か持っていてアプリをlinuxで試した人いるかなって
思ったんだけど、いないみたいですね。
スレ汚しすいません。
持っている方はぜひやってみて。
報告待っています
souce.zipは削除しますので、
暇なエスパーの方でおれやってみようかな?っていう方
www.oreilly.co.jp/books/9784873113654/
からダウンロードしてみてください。
ではすいませんでした。


503 名前:nobodyさん mailto:sage [2009/01/24(土) 22:41:25 ID:???]
もっかい自分が今扱っているコードと関連ファイル(ディレクトリ構成そのままで)をうpしてくれ

504 名前:nobodyさん mailto:sage [2009/01/24(土) 23:08:37 ID:???]
"Unknown on line 0"
そのエラー、稀に文字コードの問題はあるにしてもソースの問題じゃないと思うけど。
サーバー設定で権限がなくて読みに行けないとか、だな。

505 名前:nobodyさん mailto:sage [2009/01/24(土) 23:11:53 ID:???]
元ファイルがUnknownなのにlogin.phpがincludeできないというのもおかしいな

506 名前:nobodyさん mailto:sage [2009/01/24(土) 23:21:55 ID:???]
>>505
おかしくない。よくあること。

507 名前:nobodyさん mailto:sage [2009/01/24(土) 23:23:43 ID:???]
なぜに?

508 名前:nobodyさん mailto:sage [2009/01/24(土) 23:49:33 ID:???]
Unknown on line 0
Unknownとは、読みに行く側のリソースが特定できていないということ。
Web経由のアクセスの場合、login.phpはあるが、権限が不足していたりすると404じゃなく、
phpハンドラーに渡されて、そのエラーになる。普通によくあること。
>>500は「パーミッションもユーザーが読めるようにしています。 」って書いてるが、
読めなくなる原因はファイルパーミッションだけじゃないからね。

509 名前:nobodyさん mailto:sage [2009/01/24(土) 23:56:53 ID:???]
実際のところ、>>501のアドバイスの3つ目をやってみてないわけだな。
とりあえず、最初に叩くファイルの冒頭にecho "hoge";exit();これでどうなるか。
そっからデバッグしてけば別のエラーになるさ。

510 名前:nobodyさん mailto:sage [2009/01/25(日) 01:33:09 ID:???]
>最初に $test = 0; を、随所に echo "TEST".$test.": OK";$test++;
だせぇw



511 名前:476です。 [2009/01/25(日) 02:01:51 ID:esMzMmSN]
>>503さんへレスくれた方へ
gichioka.web.fc2.com/source.zip
すべてのファイルとデータベースとphp.iniを入れました。
よろしくお願いします。

512 名前:nobodyさん mailto:sage [2009/01/25(日) 02:15:21 ID:???]
どれ実行して>>502が出んの?

513 名前:nobodyさん [2009/01/25(日) 02:28:51 ID:esMzMmSN]
login.phpとposts.phpです。


514 名前:nobodyさん mailto:sage [2009/01/25(日) 02:41:42 ID:???]
>>510
ださくない、ださくないよ

515 名前:nobodyさん mailto:sage [2009/01/25(日) 02:44:07 ID:???]
>>513
login.phpの中で/var/www/html/login.phpなんてincludeしてんの?

516 名前:nobodyさん mailto:sage [2009/01/25(日) 03:08:45 ID:???]
ダブルクォーテーションで囲んだ文字列に改行をいれてもエラーにならないのですが、
これって文章化されたPHP仕様に含まれてますか?
てっきりヒアドキュメントを使わなくてはならないものだと思っていたのですが…

$multiline = "
LINE 1
LINE 2
LINE 3
";

517 名前:nobodyさん mailto:sage [2009/01/25(日) 03:24:57 ID:???]
PHPだけじゃなくて一般の言語全てがそうだと思われます(pyなんとかは一般でないから除く)

518 名前:nobodyさん mailto:sage [2009/01/25(日) 03:58:37 ID:???]
>>516-517

VBだと改行で認識するよね。
だからVBからきた人だと、改行入れても
エラーにならない、という仕様のほうが
不思議に思うんでしょう。

519 名前:516 mailto:sage [2009/01/25(日) 04:22:47 ID:???]
ありがとうございます。

有名どころのフレームワーク等でも

$multiline = "LINE1\n"
. "LINE2\n"
. "LINE3\n"

と書いているものがほとんどなので、使ってはいけないのかなと疑問を持った次第です。
SQLとか埋め込む時は>>516の方が断然楽ですよね…

ヒアドキュメントはいらない子?

520 名前:nobodyさん mailto:sage [2009/01/25(日) 04:37:23 ID:???]
いる子



521 名前:nobodyさん mailto:sage [2009/01/25(日) 05:48:15 ID:???]
>>519
ヒアドキュメントは、"をエスケープしなくてすむのがいい。

522 名前:nobodyさん mailto:sage [2009/01/25(日) 05:59:54 ID:???]
多次元配列の要素数を返す関数はありませんか?
例えば
$test['a'][1];
$test['a'][2];
$test['b'][1];
$test['b'][2];
$test['b'][3];
この配列で要素数5を返したいのですが
countでは3が返ってきます。
何かほかの関数や手段はありますか?

523 名前:nobodyさん mailto:sage [2009/01/25(日) 06:07:51 ID:???]
>>522
array_merge_recursive

524 名前:nobodyさん mailto:sage [2009/01/25(日) 06:08:42 ID:???]
array_walk_recursive
すまんこっちのほうだ

525 名前:nobodyさん mailto:sage [2009/01/25(日) 07:39:19 ID:???]
echo count($test, 1)

ttp://jp2.php.net/manual/ja/function.count.php

526 名前:nobodyさん mailto:sage [2009/01/25(日) 08:17:33 ID:???]
>>476
>>515
だからさ、login.phpのファイルはあるけど何らかの問題で読めてないんだって。

たとえば、お前らのサーバでも試せるからやってみ。
test.php作ってパーミッションを000にしたファイルにアクセス。

したら、
Warning: Unknown: Failed opening ・・・
になるから。

527 名前:nobodyさん mailto:sage [2009/01/25(日) 08:29:44 ID:???]
おいおい、マルウエアかよ

528 名前:476です。 [2009/01/25(日) 11:45:32 ID:esMzMmSN]
だからさ、login.phpのファイルはあるけど何らかの問題で読めてないんだって。

なんででしょうか?


529 名前:nobodyさん mailto:sage [2009/01/25(日) 11:56:54 ID:???]
なんでて、言う前に試してみた?
login.phpの中身を空っぽにしてアクセスしてみ?

530 名前:nobodyさん mailto:sage [2009/01/25(日) 12:04:32 ID:???]
>>528
原因はパーミッション以外にいろいろあるよ。
パーミッションだってあってるのかどうか。

他にはopen_basedirとかsafe_modeとか、
CGIで動いてるレンサバなんかならそれに合わせた設定が必要だし。



531 名前:nobodyさん mailto:sage [2009/01/25(日) 12:08:36 ID:???]
>>526
上と被るけどそれじゃ単純なhello worldスクリプトも動かないってこと?

532 名前:nobodyさん mailto:sage [2009/01/25(日) 12:09:07 ID:???]
>>528宛てね

533 名前:nobodyさん mailto:sage [2009/01/25(日) 12:14:51 ID:???]
>>531
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:無理

534 名前:nobodyさん mailto:sage [2009/01/25(日) 12:19:12 ID:???]
こういうケースでよくあるのは
パーミッションが間違ってる。
open_basedirの設定にtypoがあって動かない。
include_pathに問題がある
safe_modeの設定に問題がある
PHPがsuexecで動いてて、ファイルの所有ユーザーかグループに問題がある
などなど。

535 名前:nobodyさん mailto:sage [2009/01/25(日) 12:20:35 ID:???]
>>533
いやお前さんに聞いてるだけじゃなくて本人に聞いてるんだよ

536 名前:nobodyさん mailto:sage [2009/01/25(日) 12:21:27 ID:???]
まぁ、login.phpの冒頭にphpinfo(INFO_CONFIGURATION);
とでも書いて結果を貼ってもらうってのがいいのかもしれないね。この場合。

537 名前:nobodyさん mailto:sage [2009/01/25(日) 12:22:17 ID:???]
>>535
あぁ、そういうことね。

538 名前:476です。 [2009/01/25(日) 13:36:25 ID:esMzMmSN]
>>536
phpinfo(INFO_CONFIGURATION);
かいたやつを入れましたのでよろしくお願いします。


539 名前:476です。 [2009/01/25(日) 13:42:05 ID:esMzMmSN]
source.zipの中にはいっています。


540 名前:nobodyさん mailto:sage [2009/01/25(日) 13:44:10 ID:???]
source.zipアクセスできなかったよ?
ところで、login.phpでecho "Hello World!";はしてみたの?



541 名前:nobodyさん mailto:sage [2009/01/25(日) 13:44:40 ID:???]
てか、そのURL貼っちゃえw

542 名前:nobodyさん mailto:sage [2009/01/25(日) 13:45:57 ID:???]
>>538
なぜ531はシカト?

543 名前:nobodyさん mailto:sage [2009/01/25(日) 13:49:36 ID:???]
え、シカトされて怒ってんの?

544 名前:nobodyさん mailto:sage [2009/01/25(日) 13:50:22 ID:???]
これは、マルウエアをインストールさせるための釣りだな。たぶん。

545 名前:476です。 [2009/01/25(日) 14:46:06 ID:esMzMmSN]
login.phpでecho "Hello World!";
はできました。
source.zipアクセスできるようになりましたので、よろしくお願いします。

>>マルウエアをインストールさせるための釣りだな。たぶん。
変なこといわないでください


546 名前:nobodyさん mailto:sage [2009/01/25(日) 14:53:00 ID:???]
>>545
そしたら、元のソースにして、エラーが出る個所を特定すればいい。
1行でも解釈できれば例のエラーにはならないから。
で、リダイレクトループとかで問題が出ているケースもあるから、
error_log(__LINE__);とかを怪しいところにはさんで行って、どこまで処理が進んでるかチェック。

547 名前:476です。 [2009/01/25(日) 15:00:45 ID:esMzMmSN]
error_log(__LINE__);
の使い方がわかなんね。
どうやって使うの?


548 名前:nobodyさん mailto:sage [2009/01/25(日) 15:04:41 ID:???]
それ書いて、エラーログ見れば、行番号が出力されてくる。
コマンドラインが使えるならエラーログでtail -f /var/log/httpd/error_logとかで見張ってればよくわかる。
エラーログが見れないんならechoでもいいけど、要するにどこまで処理が進んでるかチェックして
そのエラーメッセージを出せば、新しい情報がとれるでしょ?

549 名前:nobodyさん mailto:sage [2009/01/25(日) 16:08:16 ID:???]
なんで原因を特定しようとせんの?
Hellow World→動く
サンプルコードをそのまま挙げた→動かない
これしかやってないでできないできない言うとかありえないっす

550 名前:476です。 [2009/01/25(日) 20:01:42 ID:esMzMmSN]
みなさん。ありがとうございます。
error_log(__LINE__); でいろいろ調べてみたいと思っています




551 名前:476です。 [2009/01/25(日) 20:12:36 ID:esMzMmSN]
エラーがでました。

PHP 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
だそうです。
調べてみてもわからん。


552 名前:476です。 [2009/01/25(日) 20:13:47 ID:esMzMmSN]
ひとつ事例があり、SELINUXが原因かと思いましたが
SELINUXは切ってありました。







[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<180KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef