• ベストアンサー

データベース検索を作成、テスト中のエラーを解説していただけませんか?

CGI初心者です。データベースを検索するCGIを作成というか、フリーであったものをカスタマイズし、自分の端末にてテスト中です。まずは、データ入力をして検索機能を確認しようとおもい、入力すると、 Write Error:./db.log と表示されました。そもそもログファイルとは?というのと、どうしたら入力できるようになるのか教えていただけませんか?

  • bori
  • お礼率67% (40/59)
  • CGI
  • 回答数2
  • ありがとう数4

質問者が選んだベストアンサー

  • ベストアンサー
  • selenity
  • ベストアンサー率41% (324/772)
回答No.2

エラーメッセージの通り、 ./db.log を書き出せないと言っています。 UNIX+Apacheの環境だと仮定すると、 通常Apacheから呼び出されたCGIスクリプトは nobody権限で動作します。 ですが、CGIスクリプトが置いてあるディレクトリは nobodyユーザでは書き込む権限がありません。 ですから「Write Error」なのです。 ログファイルとは、動作の記録を残したファイル なので、不要であればログを残す必要はありません。 かき出すには、CGIスクリプトが置いてある ディレクトリのパーミッションを1777にしてください。 プロンプトから「chmod 1777 .」と打ち込むだけです。 ただし、セキュリティを考慮すると、この設定は お勧めできません。 くれぐれも自己責任の元行ってください。

bori
質問者

お礼

ありがとうございました。書き込めるようになりました。 \(^o^)/バンザーイ

その他の回答 (1)

  • arthur
  • ベストアンサー率34% (15/43)
回答No.1

こんにちわ 今一つ情報が少ないような気がします^^; 「自分の端末で」とありますが、まだサーバにはアップしてないってことでしょうか? アップしてあるのであればURLを教えていただければ解析しやすいのですが・・。 >Write Error:./db.log このメッセージはCGIが出しているんでしょうかね? db.logファイルへの書き込みで失敗しているようですが・・。 そうだとすると、考えられる可能性として 1:db.logというファイルは存在してますか? 2:存在しているならば、ファイルへのパスはあっていますか? 3:また、パーミッションは書き込み可(666かな?)になっていますか? そのシステムについてあまりよく理解してないので、詳しい回答はできませんが、 よかったらまた補足お願いします。

bori
質問者

補足

早速ありがとうございます。 情報が少なかったようで、すいません m(._.)m ペコッ まだサーバにはアップしていません。そして、db.logファイルは同じフォルダ(db.cgiやjcode.plと)に存在し、ファイルへのパスは変更していないので逢っていると思います。 $logfile = "./db.log";とdb.cgiには表示しています。 パーミッションの設定というのは、自分の端末から自分の端末にファイルを転送して設定するということですか?

関連するQ&A

  • データベース検索フォーム作成

    こんにちは、よろしくお願いします。 タイトルの通りデータベース検索フォームなるものの作成を考えているのですが、何かよい案、もしくはサンプルのURLありましたら教えていただけないでしょうか。 【概要】 index.html 項目A(セレクト形式) 項目B(テキスト形式) 項目C(テキスト形式) 項目D(テキスト形式) にキーワードを入力(何も入力されないこともありうる)。 SELECTEDはALLなので、 項目B以降に何も入力されなければ全ての情報が表示。 検索対象データベースはCSVでそれぞれ 項目A,項目B,項目C,項目D のような感じで記述(test.csv)。 キーワードとデータベースでマッチしたものを表示させたいです(AND条件)。 index.htmlとデータベースは作成済み。 ボタンを押した移行のCGIの案を探しています。 webサーバー・・・HP-UX web・・・IE CGI開発言語・・・Perl 開発端末・・・windows2000(Tera Term 使用) 以上、よろしくお願いいたします。

    • ベストアンサー
    • CGI
  • CGIのデーターベース検索について

    CGI初心者です。大変困っておりますので どなたか助けていただきたいのですが… 会社よりデータベースの検索CGIを作るよう言われました。 作りたいのは以下の内容です。 idを入力する部分がある(htmlのフォーム) ↓ その入力の番号を元に検索し該当者を検索する。 ↓ htmlで結果を出す。 と言うものです。 ただしidが40000件程あり どのようなデーターベース処理をすれば いいか困っています。(その内容のCSVはあります。) もしかしたらPHPのほうがいいのかもと思ってしまいます。 どなたかスクリプトやCSVの置き方などご指導いただけると大変ありがたいです。お手数をおかけしますがよろしくお願いいたします。

  • 簡単な検索、データベースについて

    会員情報をデータベース化したいと思っています。 複雑なものではなく、簡単な検索、表示ができるものです。 下記のようなものを考えています。 社内だけでなく、WEB上に公開するものです。 http://www.teachernavi.net/ http://www.best-teacher.net/index1.htm フリーソフトの、 http://www.sugawa.com/takayuki/shop/shop_main.html http://www.yumemaboroshi.net/cgi2287/ で上記のような簡単な検索、データベースの作成はできないでしょうか?(このような事ができるフリーウェア、シェアウェアがあれば教えてください。) データは将来的には、最大1500人位を想定しています。 カスタマイズが難しいようなら、ABI-STATIONのみんなのプロフィールも考慮に入れてます。 http://www.abi-station.com/cgi/profile/ ただ、セキュリティーに問題があるという話も聞きますが実際はどうなんでしょうか?(公開プロフィールには住所詳細、氏名等は公表しない予定です。) また、このようなCGIを業者に外注するといくら位かかるものなのでしょうか?(お勧めの業者などがあれば、教えてもらえるとありがたいです。) 詳しい方、宜しくお願いします。

    • ベストアンサー
    • CGI
  • Oracle10gのデータベース作成時エラー

    こんばんは。初めての投稿です。 Windows Server 2003 R2 Standard Edition(サーバーOS)に Oracle10g 10.2.0をインストールし、 データベースを作成しようとすると このようなエラーが表示されます。  『次のエラーが原因でEnterprise Managerの構成に失敗しました。   Database Controlの起動中にエラー   詳細はC:\oracle\product\10.2.0\db_1\cfgtoollogs\dbca\orcl\emConfig.logにあるログファイルを参照してください。   C:\oracle\product\10.2.0\db_1\bin\emcaスプリクトを手動で実行することにより   後でEnterprise manegerを使用してデータベースの構成を再試行できます。』   emConfig.logを確認したところ、   「設定: パラメータ○○に値が設定されていません。」というエラーが大量に表示されています。 (MODIFY_SID、DB_UNIQUE_NAME、DBID、ORACLE_HOSTNAME、GLOBAL_DB_UNIQUE_NAME 等々…) また、スプリクトを手動で実行した後 再度データベースを作っても また同じエラーが表示されてしまいます。 全ての設定は「10日でおぼえるOracle10g 入門教室」という参考書を片手にやっているので エラーがでるはずがないと思うので、とても困っています。 何かお気づきの点ありましたら教えてください。

  • データベース作成(質問集)

    私は今、自分のホームページで質問集を作成しているのですが、全てHTMLで 質問例→回答 というような内容で掲載しています。 これを、データベース化して、検索機能を付けてキーワードで質問例と回答が閲覧できるようにしたいのですが、初心者でも分かるような使いやすいソフトウェアはありませんか? 具体的に言うと、HTMLの技術だけがあれば出来るようなものがいいです。 検索しても、「用語集」ならば出てくるのですが、「質問集」向けのデータベース作成ソフトは無いようなのです。 HTMLが無いようなのならば、CGIで作成できるようなものでもいいです。またはそのリンク集でもいいです。 どうかお暇な時にでも回答をよろしくお願いします。

  • アカウント検索(データベース検索)CGI

    自宅サーバで、HPレンタルをしているのですが アカウントを入力して送信すると、会員データベースを検索して [登録されていません。]とか [登録されています。]という表示がでるCGIをご存知ありませんか? CGIでなくても、実現できる方法があれば教えていただけると幸いです。

    • 締切済み
    • CGI
  • 検索で1行目のレコードを表示しない

    CGIを改造中です。 作者の違うCGIを組み合わせてデータベースを作成しようとしています。利用しているのはデータベース作成CGIと検索用CGIです。 さて、データベース作成用CGIはログの一番上にIPアドレス・日時を記録し二重投稿を防止しています。 しかし、検索用CGIにこの機能はありません。 その為、全サーチ(すべての項目を「指定しない」に設定)すると登録日の部分にIPアドレスを表示してしまうなどのエラーが発生してしまいます。 このとき、一番上のレコードのみ表示しない(検索条件からはずす)ようにするにはどのようにしたら良いのでしょうか? とりあえず、CGIが何か?などは必要ないかと思って記入していませんが、必要であればソース等も記入します。 以上、宜しくお願いします。

  • データベースの削除が出来ません

    phpMyAdmin からデータベースを作成したのですが、 その時に名前を誤って"system?db"としてしまいました。 telnetで接続し、 drop database system?db としたのですが、 You have an error in your SQL syntax near '?db' at line 1 とうエラーになります。 ?が名前に入っているのが原因だと思うのですが、 どうすれば削除出来るのでしょうか? 過去ログやgoogleで検索してみたのですが、 見つけることが出来ませんでした。 よろしくお願いします。

    • ベストアンサー
    • MySQL
  • 携帯で閲覧出来るデータベースを構築したいのですが・・・

     はじめまして。  携帯で検索・閲覧出来るデータベースを構築したいと思うのですが、 何を用意して、どのようにすれば良いのかわかりません。 イメージとしては、自社の沢山の商品の中から「ジャンル」や「価格帯」で検索したり、フリーワードで検索すると、詳細商品ページへのリンクを一覧表示してくれる感じです。 詳細商品ページでは簡単な口コミ掲示板を設置したいのですが、これはCGIになるのでしょうか?欲を言えば各お客様に評価点を入力して頂き、平均点を出し見せていきたいのですが、このような機能も作れるものなのでしょうか? 実現方法やツールなどを教えて頂けると嬉しいです。  データベースやCGIなど超初心者で、質問内容も分かりやすく書けず、申し訳ありません。何から勉強して手をつければ良いかも分からない状況で大変困っており、皆様のお知恵を拝借できればと思います。 よろしくお願いいたします。

  • TESTデータベースしか入れません

    PHP初心者です. 現在FreeBSD5.4を使い,サーバーはApache2を用い,PHPは4.3.10を使って,データベースソフトは,MySQL5.0.16です. ここで,すでにApacheもPHPもMySQLも全て正常にインストールされており,ターミナル上では動作確認済みです. しかし,PHPからMySQLの呼び出しをする上でいくつか困難があります. $link = mysql_connect("localhost", "user1", ""); $selectDB = mysql_select_db("test", $link); とやる分には正しくMySQLに接続できるのですが, $link = mysql_connect("localhost", "root", "***"); と入力すると接続できません. ターミナル上で mysql -u root -p Enter Password: *** と入力するときちんと入れるので,パスワードが間違っているということも考えられません. つまりパスワード認証でつまづいているのだと思うのですが,その原因も対処法も全く検討が付かず,2週間ほどあれこれ試しましたが,解決の糸口も見えず,こうして相談することにしました. 非常に困っています. どなたか知恵を貸していただけませんでしょうか?

    • ベストアンサー
    • MySQL