- PR -

phpのユーザ共通ライブラリについて

投稿者投稿内容
冬寂
ぬし
会議室デビュー日: 2002/09/17
投稿数: 449
投稿日時: 2007-11-24 10:32
引用:

tuchidaさんの書き込み (2007-11-24 04:52) より:
場所は正しいです。
以下のエラーが発生しました。

Fatal error: Call to undefined function: numget() in /home/XXX/public_html/Order/php/Order.php on line 106



undefined functionというのは、関数の定義がされていない、という事なので、
「ComLib.php」というのでnumget()を定義していると仮定すると、
>場所は正しいです。
というのが嘘になります。

それぞれのファイルで、echo __FILE__と出力してあげれば、どういう事なのか分かるでしょう。

(というか、すぐ聞かないでもうちっと色々実験してみるべき。)
tuchida
大ベテラン
会議室デビュー日: 2006/08/06
投稿数: 125
投稿日時: 2007-11-24 11:10
引用:

shimixさんの書き込み (2007-11-24 10:13) より:
#私は再現可能なミニマムコードと書いたのですが・・。



みにくい長文になってすみませんでした。


引用:

問題の切り分けをしていただかないと、回答する側としてもスクリプト全部を検証するわけにはいきません。ライブラリ側にDBConnectなども定義されているようですから、
コード:
if(!($conn = mysql_connect("localhost","XXXXX", "XXXXX"))){
print "database Connect Error";
} 


の部分を
コード:
$conn = DBConnect("localhost","XXXXX", "XXXXX", "XXXXX");


などとしたらどうなりますか?


DBConnectを呼んだ所でやはり同一のエラーとなりました。

引用:

よくあるのは「includes/DatabaseCommon.inc」があちこちの階層に存在している(&保守漏れで微妙に内容が違う)というパターンですが、それはありませんね?


再度チェックしてみましたが存在しているのは正しい階層でした。
階層としては現在以下の通りとなっています

Order---inclede(ここにDatabaseCommon.incがあります)
|
+-----php(ここに呼び出し側のプログラムがあります。)

  
99ri
大ベテラン
会議室デビュー日: 2006/09/09
投稿数: 129
投稿日時: 2007-11-24 11:34
そもそも
require('../includes/ComLib.php'); をコメントにしている
デイレクトリの提示はincledeでsがぬけている
(../includesデイレクトリを確認したことにはならない)

cd Order/php
ls ../includes/ComLib.php
で確認したのでしょうか?

上記phpがワーキングディレクトリの場合です
PHPマニュアルより
ファイル名が ./ あるいは ../ で始まっている場合は、
カレントのワーキングディレクトリからの相対パスとして探されるのみとなります。


[ メッセージ編集済み 編集者: 99ri 編集日時 2007-11-25 01:02 ]
shimix
ぬし
会議室デビュー日: 2004/08/05
投稿数: 512
お住まい・勤務地: 大分市
投稿日時: 2007-11-24 12:57
引用:

99riさんの書き込み (2007-11-24 11:34) より:
そもそも
require('../includes/ComLib.php'); をコメントにしている


あう・・見落とした(汗

#きっとこれだけで解決なんでしょうね。

引用:

デイレクトリの提示はincledeでsがぬけている
(../includesデイレクトリを確認したことにはならない)


前のスレッドでもそうだったんですが、書き込みにtypoが多いので実際のソースは大丈夫なんだろうかと心配になってしまいます。ソースの転記なんてコピペして不要部分を削ればいいのに何故typoがあるのかと。

#ということで以下蛇足

前のスレッドの問題は解決したのでしょうか?何もフィードバックがないのですが・・。指摘すれば

引用:

tuchidaさんの書き込み (2007-11-24 09:44) より:
ご心配頂き有難う御座います。


なんて返ってきますけど、そんなことはどうでもいいから結果を知らせて欲しい。
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2007-11-24 23:32
色分けしてくれるようなエディタを使えば直ぐ分かる問題でしたね。

ミニマムコードの意味が分かればコメントを消したりもするでしょうし、
そのときに気づく事ができます。
再現する最低限のミニマムコードは常に心がけましょう。
末記人
大ベテラン
会議室デビュー日: 2005/12/05
投稿数: 233
お住まい・勤務地: あわにこ
投稿日時: 2007-11-25 00:26
また、放置スレになりそうですね...

凡ミスだったことはまぁ恥ずかしいですが、かかわった皆さんに対してお礼のひと言や解決に至った経緯などをフィードバックしないってのは、人としてどうかと思います。

質問スレを覗いた人、回答してくれた人は限りある貴重な時間を質問者のために使ったわけですから、そのことに対しての感謝はするべきだと思います。

仮想世界だから、匿名だからと言うかもしれませんが、仮想世界、匿名だからといってそれが出来ない人はおそらく現実世界でも礼儀を知らない人なんだろうなぁと私は思います。

私って、頭固いのかなぁ?
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2007-11-26 02:03
何か不具合があったときは自分を信じないで自分は無能であるくらいの勢いで疑った方が良いです。 調べても解決できないという時はミニマム コード + require_once + 絶対パスで確認しますね。 間違いがないように Windows ならアドレス バーからコピペしてパスを設定します。 エディタは NoEditor あたりを使ってスペル ミスを防ぎます。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌

スキルアップ/キャリアアップ(JOB@IT)