CGIでフォームの入力をチェックした後、データをphp
に送ろうと思います。
今まで使用してた、エラーチェックした後、データを、管理者にメールでデータを送信させるCGIをカスタマイズして、エラーチェックの後に、PHPへデータを送ることは可能なのでしょうか?
どなたか御教授お願いいたします。
以下はエラーチェック後の部分です。
$errNum = chkFormInput();
fixTags();
open HTML, $template or err("$templateが開けません");
@html = <HTML>;
close HTML;
if ($errNum > 0){
# エラーメッセージの先頭のカンマをはずす
$errMsg =~ s/^,//;
$errMsg = "<font color=\"red\">$errMsg (計$errNumヶ所)";
$errMsg .= "に未入力、又は不適当な入力があります。<br></font>\n";
}elsif (sendmail() && stockData()){
$errMsg = "ありがとうございました。以下の内容で$adminName($adminMail)に送信しました。";
}
replaceTags();
showHTML();
exit();
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
> (2)CGI側でコマンドラインPHPを利用する。
すいません。これの補足。
PerlのCGIからは、
open(PHPPRG, "php sample.php val1 val2");
close(PHPPRG)
っていう感じに呼び出しをします。
この回答への補足
rara_sunさん
返事がおそくなってしまい申し訳ございませんでした。
結局エラー処理が通った後にLocationでデータを渡すことに致しました。
}elsif (sendmail() && stockData()){
print "Location: ../hoge.php?hoge=$hoge&hoge=$hoge&hoge=$hoge&hoge=$hoge";
この場合フォームのメソッドがGETでしか、処理ができなさそうなのですが、
POSTでも可能なのでしょうか?
No.1
- 回答日時:
確認環境がないので、できるかどうかわからないのですが、こういうやり方があるのかな~という程度で・・。
もし、ここで有効な情報が得られなかったら、参考に検討してみてください。それまでは無視してくださって決行です。
(1) 呼び出しCGI(Perl)で HTTP通信のモジュールを
利用する。
前提: ホームページ提供サイトのPerlがそういうモジュールを提供していること。
サンプル: http://ash.jp/perl/socket_http.htm
これは、CGIをブラウザとして利用するという考え方です。
(2)CGI側でコマンドラインPHPを利用する。
前提: ホームページ提供サイトでこの実行をサポートしていること。
参考資料&サンプル:
http://php.planetmirror.com/manual/ja/printwn/fe …
CGIからPHPコマンドを利用してPHPプログラムを実行しようという考え方です。
ほかにうまい方法があればよいのですが・・・
いったんブラウザにHTMLのMETAのRefreshを送りつけるなんて方法も思いついたのですが、エラー処理が大変・・。
ちなみに、そのPHPプログラムの中でメール送信もするんでしょうかね!?データ送信とメール送信どちらが先かわかりませんが、どちらかが失敗したら、もう一方はどうしょりするかも考えないと、不整合がおきますね・・・。
たとえば、メール送信失敗してるのに、データ送信はやっちゃうの?とか・・。
この回答への補足
rara_sunさん
ご説明有難うございます。
初心者なので、詳しい用語とかは、調べながら格闘してます。
質問の補足の説明をいたします。
入力フォーム(HTML)からCGIにデータを受け渡す
↓
CGIで入力のエラー判別、
↓
項目にエラーがある場合再度入力フォームを表示
項目にエラーの無い場合、
データの内容をメールで管理者に送信+データをcsv形式で保存。
以上の一連の作業をするcgiを利用して、
これに追加の機能でデータをphpに送りデータベースに書き込みするという機能も付け加えたいのです。
どういう方法がありますかね?
ちなみにデータベースはmysqlです。
よろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- CGI htmlからパラメータで、cgiに渡したい。 1 2023/02/06 16:15
- HTML・CSS 私の能力からして間違っていないような気がします。 4 2022/09/30 13:24
- JavaScript ラジオボタンによるフォームの開閉を行いたい 3 2022/03/31 21:30
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- Chrome(クローム) 【Google AndroidのChromeブラウザーでフォームに入力後に送信ボタンを押すと、400 1 2022/06/26 16:52
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA EasyCommでの送信
-
チャットを作る
-
お問い合わせフォームから送信...
-
Googleフォームを回答したか確...
-
VB6で、Bsmtp.dllを使って、メ...
-
NIFTYのCGIでSENDMAIL
-
メールフォームで送信すると「...
-
フォームを再送信しますか?
-
ACCESSから、メール送信を行い...
-
携帯のサイトでアンケートサイ...
-
Postmailの使用でメール受信が...
-
SendmailでHTML形式のメールを...
-
ビジネスメールの敬称
-
エクセルVBA テキストボックス...
-
数字以外の入力をエラーにする...
-
DATE型変数を初期化する方法
-
初歩的な事だと思います。 Sub...
-
テキストボックスの番号を使っ...
-
教えて!全角文字「μ」の半角
-
EXCEL VBA で指定した範囲に入...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Safariで「本当にこのフォーム...
-
フォームを再送信しますか?
-
お問い合わせフォームから送信...
-
Googleフォームを回答したか確...
-
ACCESSから、メール送信を行い...
-
メールフォームで送信すると「...
-
CGIでメールのReturn-Pathに値...
-
ホームページビルダーのメール...
-
Accessでメール一括送信ソフ...
-
BASP21のSendMailとSendMailEx...
-
VBA EasyCommでの送信
-
ソケットで通信するデータの帯...
-
VB.NET(2005)の"SerialPort" ...
-
sendmailでの複数メールアドレ...
-
フォーム送信とURLエンコードに...
-
VB6で、Bsmtp.dllを使って、メ...
-
文字のフォントの色で分岐する...
-
c# メールが送信できたか確認
-
WriteFileで送信できたかの確認...
-
safariの 「本当にもう一度フ...
おすすめ情報