※ ChatGPTを利用し、要約された質問です(原文:メール送信フォームがサーバの引越し後エラーが出てしまいます)
メール送信フォームがサーバの引越し後エラーが出る理由
このQ&Aのポイント
サーバを引越ししたところ、問い合わせフォームがエラーが出るようになりました。
引越前のサーバと引越後のサーバでPHPバージョンが異なるため、エラーが発生しています。
問題のファイル(funcEx.php)を確認すると、foreach()関数の引数に無効な値が渡されたことが原因でエラーが発生しています。
メール送信フォームがサーバの引越し後エラーが出てしまいます
はじめまして。PHPの初心者です。
タイトルにあるように、サーバを引越ししたところ、それまでの環境では動作していた問い合わせフォームが、新しい環境ではエラーが出るようになってしまいました。
バージョンによってエラーになる構文などがあるのでしょうか?
☆PHPバージョン
以前:4.3.2
引越後:4.0.6
☆エラー内容
Warning: Invalid argument supplied for foreach() in /xx/.sites/xxx/site16/web/xxx/inquiry/lib/funcEx.php on line 8
☆問題のファイル(funcEx.php)の最初の区切りまで
<?php
require_once( "./lib/vars.php" );
// 文字列を無害なHTMLに変換
// htmlから送信されてきた値を連想配列に入れる
// 引数 : 配列
// 戻り値 : 加工後の配列
function encodeFormValues( $data ) {
foreach( $data as $key => $val ) {
//配列かチェック
if( ! is_array( $val )) {
//サーバーの設定チェック(文字列に¥等のバックスラッシュが付けられる設定)
if( get_magic_quotes_gpc()) {
//バックスラッシュ、\,'等を取り除く
$data[$key] = stripslashes( $data[$key] );
}
//文字列のデコード
$data[$key] = str_encode( $data[$key] );
}
}
return $data;
}
ちなみに「index.php」から上記のファイルを読みにいくようになっているようです。
この内容だけで判断できるのかもわかっていないので、もしほかのファイルが必要であればその内容もお教えいただけるとありがたいです。
よろしくお願いします。
お礼
できました! 無事解決しました。 質問するほうも無知でやりづらかったと思いますが本当に助かりました。 ありがとうございました☆