みなさん。宜しくお願いいたします。
現在、PHP3.0を使用して「プログラムからのメール配信」の処理を作成しています。ここで困ったことに、「存在しないメールアドレス(入力間違いなど・・)にメール配信」した場合、当然、届かないのですが「届かなかったよ!(address unknow・・?)」みたいな情報を「プログラムで指定したメールアドレス」に返信させたいのですが、どのように記述するのか分かりません。(多分・・PHP上で記述する「ヘッター情報のパラメータ部分」に問題ありと考えていますが・・)

誰か教えてください・・サンプルがあれば大変うれしいです。

このQ&Aに関連する最新のQ&A

A 回答 (5件)

このスペースでは詳しく書けないのですが、envelope from を指定しない場合、phpから送信されたメールの from (この from はメールのヘッダにある from ではありません。

smtp session での from です。)は、apache のユーザー、つまり大半の apache では、nobody となっているはずです。

で、結果として、nobody, MAILER-DEAEMON, postmaster, root のいづれかにかえってきているんでしょう。

もういちど、sendmail の -f オプションを確かめてみては?

# 別に、情報の出し惜しみをしているわけではないです。:-)
# こういったプログラムを書く場合「関数があるから」ではなく、メールが送信
# されるプロセスを知っておいたほうがよいからです。
# ちなみに、y-boss さんの求めている「そのものズバリのサンプル」
# はしっかり検索すればありますよ。
# php のメーリングリストを検索してみては?
    • good
    • 0
この回答へのお礼

アドバイス・・大変有難うございます。頑張って調べてみます。

お礼日時:2001/11/07 08:48

すいません。

チャチャになるかもしれませんが :-)

Reply-To: は、返信のアドレスであって、y-boss さんのおっしゃっている届かなかった場合の戻りアドレスは、 Return-Path: ではなかったでしょうか?(Errors-to: もあったと思いますが、あれはすでに時代遅れですよね?たしか。)

で、sendmail の -f オプションは envelope from を指定して送るオプションですので、結果として、Return-Path: がそのアドレスになるはずです。
Host unknown, User unknown 等々のエラーがそのアドレスに戻ってきます。

たとえ、追加ヘッダ情報(mail関数の第4引数)に Return-Path: を書いたとしても、envelope from が指定されていなければ効力は持たなかったような気がします。

で、私の環境では、wrap script を用意して envelope from を追加するようにしているわけであります。

PHP 4.0.5 から、第5引数としてコマンドラインパラメーターを指定できるようになって、便利になったな。と感じております。

# すいません。チャチャでしたね。

この回答への補足

//$mail_buf : 送信先メールアドレス格納
//$mailtitle : 件名格納
//$msgbuf : メール本文格納
//$headers : ヘッダ格納

$headers = "From: " . $e_mail . "\n";
$headers .= "X-Sender: " . $e_mail ."\n";
$headers .= "X-Mailer: PHP3 Engine\n"; // メイラー
//$headers .= "X-Priority: 1\n"; // 緊急メッセージ!
$headers .= "Return-Path: " . $e_mail . "\n"; // エラー時の返信先
$headers .= "Reply-To: " . $e_mail;

//mail送信
$rtn1=mail("$mail_buf", "$meiltitle", "$msgbuf","$headers");

※こんなロジックになっているのですが・・・?

補足日時:2001/11/06 10:57
    • good
    • 0
この回答へのお礼

色々と有難うございます。日夜頑張っております。本当に皆さん詳しいですね~(尊敬です)ところで、mail関数にて皆様が言われていることを実際にやってはみたのですが「???(戻ってこない)」のです。この文章で気になったのは、「たとえ、追加ヘッダ情報(mail関数の第4引数)に Return-Path・・・・」なのですが、この「envelope from 」なるものもヘッダー情報として記述するのですか?またまた、Sendmailの難しい指定の中に隠れているのですか?教えてください!

お礼日時:2001/11/06 10:48

wrap scriptを作る、というのはsendmailやqmailなどのMTAプログラムを呼び出し、それにメール本文を渡すことで送信するメール本文をより詳細に指定することです。


これ以上の事をしようとするとMTAを使わず、自身でSMTPを話しメールを送信する必要が生じます。

なお、PHP3のMail関数でもHeader情報操作できますんでtujigeさんのかかれてる方法を使わなくでも大丈夫です(^^;

なお参考URLのレファレンスを見ると第4引数に拡張ヘッダを記述するので・・・

mail("送信先メールアドレス", "Subject", "本文",
"Reply-To: 戻り先アドレス");

と記述すればReply-Toに記述したアドレスにErrorメールが戻ってくるはずです(相手のMTAがまともならば、という注釈付ですが。NTT DocomoはFromヘッダのみしか見てなかった可能性あり)。

>プログラム作るなぁ~
とはいいませんが、(最初はみんな何も知りませんし)まずは社内にサンドボックス程度は作れる程度の知識は身につけてから、にした方がよいでしょう。
いきなり外部のサーバに向けて実験では正気を疑われても文句は言えません。

なお、あまり自信がないのであれば、この辺外注にしちゃったほうがよいと思います。なにせ、相手はInternetでつながった世界中のサーバ、ということなんで下手打つと自分だけでなく外のサーバにも迷惑がかかりますので。
そのトラブルが元で会社の信用度とかも落ちる、ということも上に説明しておけば外注にすることも考えさせやすいかもしれません。

とりあえず、自分たちで何とかするのであれば・・・DNSによる名前解決の原理、メール配送原理、RFC822、SMTPによるメール配送手続き、あたりは最低限の知識として身につけておきましょう。
すでに立ち上がってるサーバの設定がなされているのであれば、その管理者に聞けばどのような本を読めばいいかぐらいは聞き出せるでしょう。

参考URL:http://www.php.net/manual/ja/function.mail.php
    • good
    • 0
この回答へのお礼

外注ですよね~考えたのですよ!それも・・残念ながら「そこらへんの事ができる開発屋」が身近にいなかったのです・・また、「高いし・・・」ってなことで、自力での開発になってしまいました・・トホホ!再度、挑戦いたします。

お礼日時:2001/11/06 10:54

Unix系か、Win系かわからないので外しているかも知れませんが、php3を使用されているなら、MTA の wrap script を書くのが手っ取り早いです。


で、その script へむけて、php3.ini の sendmail_path を記述する。

sendmail なら、-f オプションをつけてあげればいいです。

ただ、alfeim さんもおっしゃっているように、RFC を一度読んだほうがよいかと。
mail 関数を使用しない方法でメールを送信できるようになれば、-f オプションの意味が理解できると思いますよ。

ちなみに、PHP 4.0.5 以上なら mail 関数の引数にパラメータを渡せるようになっています。
    • good
    • 0
この回答へのお礼

ご協力!大変有難うございます。お話にあるように「RFC」なるものを読んでは見ているのですが???(サッパリ)です・・トホホ!でも、頑張っています。それでですが
・「MTA の wrap script を書くのが手っ取り早いです。で、その script へむけて、php3.ini の sendmail_path を記述する。 」

この言葉が今現在理解ができていません。(勉強不足・・パンチ)情けないばかりで、こんなもんも知らんかったら「プログラム作るなぁ~」と言われそうなの覚悟で・・・教えてください。どうやって、記述するのですか?おしえて~

お礼日時:2001/11/05 17:19

http://www.asahi-net.or.jp/~bd9y-ktu/dtd_f/rfc_f …

但し物が古いので最新版では異なっている可能性があります。

4.4.4. FROM / SENDER / REPLY-TOの自動利用

このあたりが参考になるかと。(機械翻訳っぽい臭いがしますので原文を用意する事をオススメします)
もっとも勧告を守らない無作法なサーバもありますので有名なサーバ群でテスト下方が良いと思いますが。

ちなみにこいつ(RFC822)をまじめに守ると一部携帯ユーザにメール出せません(笑)
    • good
    • 0
この回答へのお礼

お礼の旨が遅くなりまして、大変すみませんでした。有難うございます。今回のシステムは「社内(社外も含め)社員の連絡システム」として作成しているものです。残念なことにこのシステムに携わっているのが「技術オンチ」の私と新人2名での開発体制で、全然前に進まないのが現状です。alfeimさん。実を言いますと、上記資料を読んだのですが、「サッパリ」わかりませんでした・・・トホホ!大変ご迷惑かとは存じますが、「PHP3.0で記述したサンプル」みたいなものを教えていただけませんか?宜しくお願いいたします。

お礼日時:2001/11/05 09:38

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q404ERROR の 意味の統一はいつからですか?

こんばんは~! ネットワークのカテゴリーのエキスパートな方々!回答宜しく~^^

質問はタイトルの通りなのですが、『404 ERROR』はいつ頃から共通に利用されてるのですか?
仮に最初に統一した人がいるのなら、使用許諾や使用に当っての利点若しくは、お金が来てるの?

Aベストアンサー

HTTPエラーコード404。
Not Found:要求されたURIに対するマッチする情報が見つからない(RFC1945)
通信規約上の約束です。

RFC(Request For Comment:ご意見お待ちしてます)はインターネット標準案と標準規約を記述したメモで、誰でも参照して利用することが出来ます。

いつから?と問われればRFC1945に制定されたメモが発表された1996年からです。

Qプログラムの記述のあるPHPファイルをHTML化

こんばんは。お世話になってます。
タイトルにあるように、PHPファイルをHTMLファイルとして別名で設置させるコードを考えているのですが、どのようにしたら良いのかが、全く分かりません。
例えば・・

~basic.php~
<html>
<head>
<title></title>
</head>
<body>
<?php
//DB接続
//データ呼び出し
while($row = mysql_fetch_array($result)){
 ・
 ・
}
?>
</body>
</html>

という基本となるphpファイルを設置しておき、問合せ結果をhtmlファイルとして別名で保存していきたいと考えているのですが、具体的にどのようなアルゴリズム?となるのでしょうか?

本を見ながら、PEARにも挑戦してみましたが、コマンドでインストールが完了したはずですが、本や多くのサイトで紹介されているように、C:/PHP/PEAR/HTML というディレクトリが確認できずに、PEARの利用は難しいのかな?と・・。

PEARのアドバイスも頂戴出来たら幸いですが、本題の通り、上記質問のようなPHPファイルを別名でのHTMLファイルとして保存させるための流れをお教えいただければと思います。

お忙しいとは思いますが、宜しくお願い致します。。

こんばんは。お世話になってます。
タイトルにあるように、PHPファイルをHTMLファイルとして別名で設置させるコードを考えているのですが、どのようにしたら良いのかが、全く分かりません。
例えば・・

~basic.php~
<html>
<head>
<title></title>
</head>
<body>
<?php
//DB接続
//データ呼び出し
while($row = mysql_fetch_array($result)){
 ・
 ・
}
?>
</body>
</html>

という基本となるphpファイルを設置しておき、問合せ結果をhtmlファイルとして別名で保存していきたいと考え...続きを読む

Aベストアンサー

> 例えば、1の<html>タグ全体を変数に入れる場合・・・
現在のPHPがブラウザに対して送り出しているHTMLを全て確定したところを前から順に1つの変数に追加してゆく形に書き直してください。
最後にechoに与えれば今まで通りの出力になりますしfputsに与えればファイルとして書き出せます。

<html>
<head>
<title></title>
</head>
<body>
<?php
//DB接続
//データ呼び出し
while($row = mysql_fetch_array($result)){
 ・
 ・
}
?>
</body>
</html>



<?php
$html="<html><head><title></title></head><body>";
//DB接続
//データ呼び出し
while($row = mysql_fetch_array($result)){
 ・
 ・
}
$html&="</body></html>";
echo $html;
?>

と言った感じですね。
このechoの部分を
$fp=fopen("ファイル名","w");
fputs($fp,$html);
fclose($fp);
と言った感じにすればファイルに書き出せます。

> 例えば、1の<html>タグ全体を変数に入れる場合・・・
現在のPHPがブラウザに対して送り出しているHTMLを全て確定したところを前から順に1つの変数に追加してゆく形に書き直してください。
最後にechoに与えれば今まで通りの出力になりますしfputsに与えればファイルとして書き出せます。

<html>
<head>
<title></title>
</head>
<body>
<?php
//DB接続
//データ呼び出し
while($row = mysql_fetch_array($result)){
 ・
 ・
}
?>
</body>
</html>



<?php
$html="<html><head><ti...続きを読む

Q404 Error Not Found と出てしまします

初めてホームページを作ろうとしている者なので、専門用語ではなく、わかりやすく教えて下さいませm(__)m
「HETEMULU」を使って、ホームページを作り、半年かけて、やっと完成しました^^;
そして、無料だと聞いたので、「忍者ホームページ」サイトで、
「NINJA TOOLS」?という所で、IDやパスワードを取得し、なんとか出来たと思ったのですが、

登録されているあなたのURL

とい所をクリックすると、

404 Error Not Found と出てしまします。

何故ですか??

色々触ってみたけど、わかりません^^;

もう一つ質問ですが、無料素材屋さんから、画像をダウンロードして、
「名前をつけて保存」と書いてあったので、例えば「鉢植え」と保存しました。「HETEMULU」で画像の挿入をクリックすると、「鉢植え」の後ろに.gifと付き、問題ないように思っているのですが、日本語で保存しているから、404 Error Not Found と出てしまうのでしょうか?それともそれはまったく関係ないのでしょうか?
慣れていらっしゃる方にはおバカな質問かもしれませんが、どうかどなたか教えて下さい!説明が足りなければ補足しますので、どうかよろしくお願いします!!!

初めてホームページを作ろうとしている者なので、専門用語ではなく、わかりやすく教えて下さいませm(__)m
「HETEMULU」を使って、ホームページを作り、半年かけて、やっと完成しました^^;
そして、無料だと聞いたので、「忍者ホームページ」サイトで、
「NINJA TOOLS」?という所で、IDやパスワードを取得し、なんとか出来たと思ったのですが、

登録されているあなたのURL

とい所をクリックすると、

404 Error Not Found と出てしまします。

何故ですか??

色々触ってみたけど、わか...続きを読む

Aベストアンサー

作成したHTMLファイルをサーバーにアップロード(転送)済みで
しょうか?
トップページは必ず「index.html」または「index.htm」である
必要があります。
「index.htm」にする場合は、元からある「index.html」を削除
(※下記ページ参照)
http://www.ninja.co.jp/faq/a/37/

おすすめのFTPソフト
「FFFTP」
http://www2.biglobe.ne.jp/~sota/

日本語ファイルは表示されない場合もあるので、英数字のファイル名
が推奨されています。
http://www.ninja.co.jp/faq/a/79/

QPHPによるSQL文の中にPHP処理を記述するには

PHP内のSQL発行部分の

$QUERY="
    INSERT
    INTO
        TABLE
    (
        `FIELD_A`,
        `FIELD_B`,
        `FIELD_C`
    ) values (
        `{$DATA[1]}`,
        `{$DATA[2]}`,
        `{$DATA[3]}`
    )
";

このようなクエリを

$QUERY="
    INSERT
    INTO
        TABLE
    (
        `FIELD_A`,
        `FIELD_B`,
        `FIELD_C`
    ) values (
        `{$DATA[($i++)]}`,
        `{$DATA[($i++)]}`,
        `{$DATA[($i++)]}`
    )
";

のような感じにしたいのですが
うまくいきません。

どうすれば、クエリー文の中で$i++等の処理を
含まさせることができるでしょうか?

PHP内のSQL発行部分の

$QUERY="
    INSERT
    INTO
        TABLE
    (
        `FIELD_A`,
        `FIELD_B`,
        `FIELD_C`
    ) values (
        `{$DATA[1]}`,
        `{$DATA[2]}`,
        `{$DATA[3]}`
    )
";

このようなクエリを

$QUERY="
    INSERT
    INTO
        TABLE
    (
        `FIELD_A`,
        `FIELD_B`,
      ...続きを読む

Aベストアンサー

以下ソースは実際に試してはいないので、
動作の保証はありませんが、PHPの変数などを、
文字列内に含める場合には、[.](ドット)を使用して、
"12".$i."45"のように繋げると良いと思います。

$QUERY="
    INSERT
    INTO
        TABLE
    (
        `FIELD_A`,
        `FIELD_B`,
        `FIELD_C`
    ) values (
        `".$DATA[$i++]."`,
        `".$DATA[$i++]."`,
        `".$DATA[$i++]."`
    )
";

また、if文などをはさみたい場合は、

$i = 1;
$QUERY = "SELCT * FROM test";
if( $i ){
$QUERY.= "WHERE flag = 1";
} else {
$QUERY.= "WHERE flag = 0";
}

のように、[.]を使用して文字列の内容を繋ぐことが出来ます。

以下ソースは実際に試してはいないので、
動作の保証はありませんが、PHPの変数などを、
文字列内に含める場合には、[.](ドット)を使用して、
"12".$i."45"のように繋げると良いと思います。

$QUERY="
    INSERT
    INTO
        TABLE
    (
        `FIELD_A`,
        `FIELD_B`,
        `FIELD_C`
    ) values (
        `".$DATA[$i++]."`,
        `".$DATA[$i++]."`,
        `".$DATA[$i++]."`
   ...続きを読む

Q教えて下さい!なぜ【WebApp: Error 404】のページが出る?

JDK + apache + mod_webapp.so + tomcat + PostgreSQLをインストール・設定しました。

JDK     j2sdk-1_3_1_11-linux-i586
apache    apache1.3.31
mod_webapp.so
tomcat    jakarta-tomcat-4.1.30
PostgreSQL    postgresql-7.2.3

(1)
http://localhost:8080/index.jsp
【tomcat】のページが出ます。

(2)
http://localhost/
【あなたの予想に反して、このページが見えているでしょうか?】のページが出ます。

(3)
http://localhost:8080/examples/jsp/index.html
【JSP Samples】のページが出ます。

(4 問題点)
http://localhost/examples/jsp/index.html
【WebApp: Error 404】のページが出ます。
希望 → (3)と同じページが出る。

起動は tomcat → apache の順です。

なぜ【WebApp: Error 404】のページが出るのでしょうか?
教えて下さい。
お願いします。
(初心者なので出来ればわかりやすくお願いします)

JDK + apache + mod_webapp.so + tomcat + PostgreSQLをインストール・設定しました。

JDK     j2sdk-1_3_1_11-linux-i586
apache    apache1.3.31
mod_webapp.so
tomcat    jakarta-tomcat-4.1.30
PostgreSQL    postgresql-7.2.3

(1)
http://localhost:8080/index.jsp
【tomcat】のページが出ます。

(2)
http://localhost/
【あなたの予想に反して、このページが見えているでしょうか?】のページが出ます。

(3)
http://localhost:...続きを読む

Aベストアンサー

設定内容が書いていないので
いかんともあれなんですが。。。(^^;
以下の手順をご確認下さい。

1.mod_webapp.soをapacheのlibexecに配置している。

2.apacheのhttpd.confに以下を記述している。
------------------------------------------------------
LoadModule webapp_module libexec/mod_webapp.so
AddModule mod_webapp.c

<IfModule mod_webapp.c>
WebAppConnection warpConnection warp localhost:8008
WebAppDeploy examples warpConnection /examples
WebAppInfo info
</IfModule>
------------------------------------------------------

3.tomcatのserver.xmlに以下を記述している。
------------------------------------------------------
<Service name="Tomcat-Apache">

<Connector className="org.apache.catalina.connector.warp.WarpConnector"
port="8008" minProcessors="5" maxProcessors="75"
enableLookups="true" appBase="webapps"
acceptCount="10" debug="0"/>

<Engine className="org.apache.catalina.connector.warp.WarpEngine"
name="Apache" debug="0">

<Logger className="org.apache.catalina.logger.FileLogger"
prefix="apache_log." suffix=".txt"
timestamp="true"/>

<Realm className="org.apache.catalina.realm.MemoryRealm" />

</Engine>

</Service>
------------------------------------------------------

4.tomcat、apacheの順で再起動

どう?

設定内容が書いていないので
いかんともあれなんですが。。。(^^;
以下の手順をご確認下さい。

1.mod_webapp.soをapacheのlibexecに配置している。

2.apacheのhttpd.confに以下を記述している。
------------------------------------------------------
LoadModule webapp_module libexec/mod_webapp.so
AddModule mod_webapp.c

<IfModule mod_webapp.c>
WebAppConnection warpConnection warp localhost:8008
WebAppDeploy examples warpConnection /examples
WebAppInfo info
</IfModule...続きを読む

QこのようなPHPでメールを送信するプログラムを書いてみたのですがメールが送信できません。

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body><?php
$title = $_post['title'];
$email =$_post['email'];
$message =$_post['message'];
$result = mb_send_mail('siawaseXXX@gmail.com',$title,$massage,$email);
If ($result){
echo'you have send mail';
}else{
echo'failed';

}
?>
</body>
</html>

Aベストアンサー

私の環境(レンタルサーバ)では上記のコードでちゃんとメールを送信できました。

環境は自分のPCなどですか?
その場合はphp.iniなどをいじらないとmb_send_mailは利用できません。

「mb_send_mail xampp」などで検索して設定方法などを調べて下さい。
http://techacademy.jp/magazine/4129

###

あと考えられるのは、
・単純にPOSTで値を取得できていない。
・迷惑メールのほうに届いている。
などでしょうか。

QError!! HTTP status code=404

Error!! HTTP status code=404

いつもお知恵拝借、ありがとうございますm(_ _)m

さて、最近当社で中古XP (prof.)パソコンを2台導入しました。sp3にupしております。

取引先のサイトにアクセスし、IDとpasswordでログインして「取引明細」をダウンロードしようとしましたが、ファイルのアイコンをクリックしたら上記のようなエラーメッセージが出ます。

2台とも同じエラーが出ます。

「教えてgoo」や他のサイトで検索してもなかなか、コレというページが見あたりません。

以前からあるもう一台のXPからはアクセスでき、見ること・プリントすることが出来ます。

アクセスしようとしたファイルは拡張子が".ilf"で、検索の結果どうやら電子帳票のファイルのようです。

このようなトラブルは初体験なので、皆さんのお知恵を是非拝借したいと思います。どうかよろしくお願いいたしますm(_ _)m

Aベストアンサー

ILFのことについてはわかりませんが、単純にHTTP のエラーコード404は、
Not Foundですね。

要するに、指定のページやファイルが見当たらないということ。

先方のシステム内で、指定されたファイルがないということではないですか?
それを先方のWEBサーバーと連携したILFのシステムが応えていると・・・

先方の担当者に聞いた方がいいと思いますが。
特定のシステム内のことですので、担当者以外は本当のことはわかりません。

QPHPでincludeから取り込んだphpファイル内の相対パスの記述方法について

階層の異なる場所にあるphpスクリプトファイル内に記述してあるticker.phpを参照するとします。

--"sample.php"
<?php
include_once(dirname(__FILE__) . "/../ticker.php");
?>
------------

--"../ticker.php"
// ※一部割愛
<embed src="ticker.swf">
------------

と、このように何の変更も加えない状態だと、ticker.php内に記述しているembedファイルがsample.phpフォルダにあると見なされ、swfファイルの読み込みに失敗します。この「ticker.swf」をきちんと参照できるようにしたいのですが、最適な方法はございますでしょうか。

Aベストアンサー

私の場合は、include 元の、実行 php 側に相対パスのdefine を行っています。

例)以下2つの実行 php と 1つのライブラリphp があった場合
public_html/sample.php ----------- 実行php(1)
public_html/test/sample.php ----- 実行php(2)
public_html/lib/ticker.php ----- ライブラリphp

■実行php(1)側
define('TOP_DIR', './');
include_once(dirname(TOP_DIR.'lib/ticker.php');

■実行php(2)側
define('TOP_DIR', '../');
include_once(dirname(TOP_DIR.'lib/ticker.php');

■ライブラリphp側
<embed src="<?php echo TOP_DIR?>ticker.swf">

QHTTP 404 error

Vine Linux,Tomcat5で
(1)webapps/conf/server.xml
...
<HOST>
<Context path="/apress" docBase="apress" debug="0" reloadable="true" />
...
(2)webbapps/apress/login.jsp
...
<table width="500" border="0" cellspacing="0" cellpadding="0">
<form name="loginForm" method="post" action="servlet/chapter2.login">
<tr><td width="402"><div align="right">User Name: </div></td>
<td width="399"><input type="text" name="username"></td>
</tr>
...
(3)webapps/apress/WEB-INF/web.xml
...
<servlet>
<servlet-name>login</servlet-name>
<servlet-class>chapter2.login</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>login</servlet-name>
<url-pattern>/login</url-pattern>
</servlet-mapping>
...
(4)webapps/apress/WEB-INF/classes/chapter2/login.java
package chapter2;

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;

public class login extends HttpServlet {
private String target = "/welcome.jsp";
private String getUser(String username, String password) {
// Just return a statice name
// If this was reality, we would perform a SQL lookup
return "Bob";
}
....
(4)現象:
http://xxx.xxx.xxx.xxxx:8080/apress/login.jsp
でsubmit action 後、次のエラーが出てきました:
HTTP 404 error,
The requested resource (/apress/servlet/chapter2.login) is not available.

この問題はどこにあるでしょうか教えてください。

Vine Linux,Tomcat5で
(1)webapps/conf/server.xml
...
<HOST>
<Context path="/apress" docBase="apress" debug="0" reloadable="true" />
...
(2)webbapps/apress/login.jsp
...
<table width="500" border="0" cellspacing="0" cellpadding="0">
<form name="loginForm" method="post" action="servlet/chapter2.login">
<tr><td width="402"><div align="right">User Name: </div></td>
<td width="399"><input type="text" name="username"></td>
</tr>
...
(3)webapps/apress/WEB-INF/web....続きを読む

Aベストアンサー

パスの指定が間違ってるからだと思いますが。

/apress/servlet/chapter2.login

このパスにちゃんと存在してますか?

QPHP3で作ったプログラムをPHP4、PHP5で動作させる事は可能ですか

PHP3で作ったプログラムをPHP4、PHP5で動かすことは可能でしょうか?例えばあるサイトがPHP3を未だに使用していたとします。もしPHP4,5でPHP3時に書いたプログラムが動けばいいのですが、動作はするでしょうか?もし動かなければ少しずつチューニングしていくより、一気に4,5で書き直した方がはやいでしょうか?

Aベストアンサー

1. 動くかどうか?
 物によるでしょうね
 具体的に判断するには やはり自分のPC上にApache+php5を入れて
 目的のphpを動かしてみるのが良いかと?
windowsでしたら Apache+PHP+MySqlが一度にインストールできる
 XAMPP http://phpspot.net/php/pgXAMPP.html
 Vertrigo http://japanese.osstrans.net/software/vertrigo.html
  が便利です
   (より確実なテストを行うなら目的のサーバーと同じ環境
    例えば CentosなどのLinuxでTEST用サーバーを立てた方がBESTですが)

2. php4や5書き換え?
もはやPHP4もサポート終了ですので PHP5で書き換えた方が良いかと思われます。
http://www.phppro.jp/news/403


人気Q&Aランキング