
サーバーの仕様が変わってフォームが動かなくなって困っています。
現在のフォームはphp4で、仕様はphp5にしか対応しなくなったということです。
古いコードが使われているからだとは思いますが、
全くの初心者の私には何をどう書き換えたらいいのかさっぱりで、質問に至った次第であります。
現在の状況を説明しますと、フォームに内容を入力して、
エラー画面、確認画面まではしっかり動くのですが、
”この内容で送信する”ボタンで
問い合わせフォーム真っ白になってしまいます。
ソースは以下です。
・mail.php=========================
<?
include_once "func.php";
include_once "mail.pear.php";
class MainClass{
function MainClass(){
switch( $_REQUEST['type'] ){
case "step1":
if( $this->Chk_Input() ){
$_REQUEST['act'] = "";
break;
}
break;
//メール送信
case "step2":
// 管理者にメール送信
$msg = "お問い合わせフォームより以下の内容が送信されました。\n\n"
."内容をご確認の上、ご担当者様へご連絡をお願いいたします。\n\n\n"
."お名前 : ".$_POST['name']."\n"
."メールアドレス : ".$_POST['mail_ad']."\n"
."お問い合わせ内容 : ".$_POST['other']."\n";
new MailSendByMTA( "**@**.jp" , "**@**.jp" , "【お問い合わせ内容】" , $msg , "" , 0 );
// 登録者にメール送信
$msg = "".$_POST['name']." 様\n\n"
."このたびは「お問い合わせ」をいただき、誠にありがとうございます。\n"
."お問い合わせ内容をご確認ください。弊社スタッフより改めてご連絡いたします。\n\n"
."お名前 : ".$_POST['name']."\n"
."メールアドレス : ".$_POST['mail_ad']."\n"
."お問い合わせ内容 : ".$_POST['other']."\n\n\n\n"
."(株)******\n\n"
."〒111-1111 **県**市****123-456\n"
."電話:000-000-0000 FAX:000-000-0000\n";
new MailSendByMTA( "**@**.jp" , $_POST['mail_ad'] ,"【お問い合わせ内容】" , $msg , "" , 0 );
pageJump( $_SERVER['PHP_SELF']."?act=step2" );
break;
}
switch( $_REQUEST['act'] ){
case "step1":
include_once "review.html.php";
break;
case "step2":
include_once "thanks.html.php";
break;
default:
include_once "form.html.php";
}
}
function Chk_Input(){
if( chkErr_Func( $_POST['name'],0 ) ){
$this->errTxt .= "お名前を入力して下さい。<BR>";
}
if( chkErr_Func( $_POST['mail_ad'],0 ) ){
$this->errTxt .= "メールアドレスを入力してください。<BR>";
}
else{
if( chkErr_Func( $_POST['mail_ad'],3 ) ){
$this->errTxt .= "メールアドレスに誤りがないかご確認下さい。<BR>";
}
else{
if( $_POST['mail_ad'] != $_POST['mail_ad2'] ){
$this->errTxt .= "メールアドレス入力確認の内容がメールアドレスの内容と異なっています。<BR>";
}
}
}
if( chkErr_Func( $_POST['other'],0 ) ){
$this->errTxt .= "お問い合わせ内容を入力してください。<BR>";
}
return ( $this->errTxt != "" ) ? true : false;
}
}
new MainClass();
?>
長々とすいませんが、ご教授ください。
お願い致します。
A 回答 (3件)
- 最新から表示
- 回答順に表示

No.3
- 回答日時:
どこのレンタルサーバーをお使いなのでしょうか?
そこのヘルプに、phpの設定変更法は書いてありませんか?
php.iniをいじらせないところなら、.htaccessで変更するか、phpプログラムの先頭で ini_set() 関数を使うかなのですけど、設定できる項目と出来ない項目があります。
その情報は、お使いのサーバーホームページ内に説明が在るはずです。
この回答への補足
お返事ありがとうございます。
ファーストサーバを使用しております。
http://www.fsv.jp/
共有サーバーのウルトラビジネス2というサービスを契約しております。
特に設定方法はありませんでした。
サーバ側で無料のフォームのcgiは配っていて、
そちらの設置方法は記載されているようなのですが、
こちらで用意したphpなどの具体的な設置例というのは無いようです、

No.2
- 回答日時:
エラーが無いんじゃなくて、画面出力する設定になってないだけなのでは?
php5では、セキュリティ向上のためdefaultではエラーは画面出力しません。
また、エラーログ用のファイル名も入ってないので、php.iniの設定で、
log_errors = On; と error_log = err_filename.log; のような指定しておくのがベストです。
エラー用ファイル名を指定すると実行ファイルと同じディレクトリにエラーファイルが作成されます。
この回答への補足
ご回答ありがとうございます。
>log_errors = On; と error_log = err_filename.log; のような指定しておくのがベストです。
php.iniというファイルは存在しませんが、
これは新たに作るものなのでしょうか?
それともこのmeil.phpに書き込んでいいのでしょうか?
質問が初歩的ですいません。
宜しくお願いします。
No.1
- 回答日時:
php4とか5の違いから来るものでは無いかと思われます
form.html.php
の場所はあっていますか?
とりあえず、mail.phpのソースのあたまに
<?php
error_reporting(E_ALL);
~~~~中略~~
?>
とかいてください
何かエラーかなにかが表示されるかもしれません
あと、ソースとhtmlをごちゃ混ぜにし、1メソッドで何行もだらだら書くとclass使っている意味まるでなしですよ・・・
この回答への補足
ご回答ありがとうございます。
>form.html.php
>の場所はあっていますか
はい、こちらあっています。
<?php
error_reporting(E_ALL);
を頭につけましたが、
この内容で送信ボタンを押した後の画面は真っ白のままでした。
>あと、ソースとhtmlをごちゃ混ぜにし、1メソッドで何行もだらだら書くとclass使っている意味まるでなしですよ・・・
ご指摘ありがとうございます。
勉強になります。
ここにエラーは無いとすると、
メール送信時にエラーがあるのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript javascriptで入力フォームが空欄の時にアラートによるエラーを出すコードを書いています。 2 2023/06/13 17:58
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- PHP php ログイン 1 2022/11/01 00:24
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- JavaScript セレクトボックスを2つ選択してメッセージなどを表示するには。~運賃検索プログラムを完成させたい~ 1 2022/07/22 11:10
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- JavaScript ラジオボタンによるフォームの開閉を行いたい 3 2022/03/31 21:30
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
php5のフォーム
-
PHP PCアクセス制限
-
smartyについて
-
ImageCreate関数が undefined f...
-
メール送信
-
マルチバイト関数
-
POSTした値を、別ページにもPOS...
-
pdflib /pdi の拡張関数が有効...
-
$_SESSION 有効期限をブラウザ...
-
Makefile.inとMakefile.am
-
リンクされているかの確認
-
wordpressの記事をカスタマイズ...
-
OOPの実践の入門に良いサイトは...
-
GETの値について
-
インタフェースとは
-
PHPをインストールしてみた...
-
PHPで特定のURLにジャンプす...
-
ファイルが開けない問題について
-
PHPを使ったリダイレクトを教え...
-
PHP で各種設定ファイルをイン...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PHPMailerのサンプルコードのエ...
-
ImageCreate関数が undefined f...
-
pdflib /pdi の拡張関数が有効...
-
PHP認証がProxy越しだと通らな...
-
PHP+MySQL利用でDB登録に不具...
-
CodeIgniter/index.phpにアクセ...
-
mb_language("Japanese");でエ...
-
php5のrename()は日本語をリネ...
-
Syntax Error Apach PHP W7
-
仮想フレームバッファXvfb上でf...
-
marty3のvariableFilter
-
PostgreSQLに接続できません(Wi...
-
index.phpが真っ白で表示される...
-
PHPで.htaccessを設定するとエ...
-
PHP MySQLでエラーがでてしまい...
-
constでパースエラー
-
Webシステムをローカルで再現し...
-
ロリポップでZendを導入できま...
-
xoopsのインストール時に生じる...
-
PHPでのエラーチェックについて
おすすめ情報