質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

解決済

SSL化後に動かなくなったphp

kakedashi-2021
kakedashi-2021

総合スコア10

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

1回答

0評価

1クリップ

260閲覧

投稿2022/04/25 03:50

編集2022/04/25 23:53

まず知識が乏しく、質問の仕方が不味かったら申し訳ありません。
サイトのSSL化を行ったところ、それまで動いていたお問い合わせフォームが正常に動作しなくなりました。
もし修正すべき点がありましたらご教授いただければと思います。

SSL化前

http://www.hogehoge.co.jp/contact/ よりフォ-ムに記載し、確認ボタンを押すと http://www.hogehoge.co.jp/contact/index.php に入力内容の確認画面が表示されていました。
※こちらは現在も、SSL環境で無ければ動作致します。

SSL化後

SSL化後、https://www.hogehoge.co.jp/contact/ よりフォームに記載後、確認ボタンを押すと、https://www.hogehoge.co.jp/contact/index.php にアクセスはするのですが、入力内容の確認画面では無くcontact/と同一の内容が表示されます(フォームの内容はクリアされています)
こちら原因、又は修正する方法はありますでしょうか?

利用レンタルサーバー/プラン

大塚商会 アルファメール2

phpの内容

phpの内容を以下に掲載させていただきます。

index.php

<?php //変数定義 $contact_name = ''; $contact_kana = ''; $contact_comname = ''; $contact_comkana = ''; $contact_zip = ''; $contact_add = ''; $contact_mail = ''; $contact_tel = ''; $contact_cont = ''; ///エラーMSG $error_contact_name = ''; $error_contact_kana = ''; $error_contact_mail = ''; $error_contact_tel = ''; $error_contact_cont = ''; $err_flg = 0; if (!isset($_POST['sousin'])) { $_POST['sousin'] = ''; } if (!isset($_POST['modoru'])) { $_POST['modoru'] = ''; } if ($_POST['sousin'] != '' || $_POST['modoru'] != '') { include 'replacetext.php'; $search = array("\""); $replace = array("”"); $contact_name = str_replace($search, $replace, $_POST['contact_name']); $contact_kana = str_replace($search, $replace, $_POST['contact_kana']); $contact_comname = str_replace($search, $replace, $_POST['contact_comname']); $contact_comkana = str_replace($search, $replace, $_POST['contact_comkana']); $contact_zip = str_replace($search, $replace, $_POST['contact_zip']); $contact_add = str_replace($search, $replace, $_POST['contact_add']); $contact_mail = str_replace($search, $replace, $_POST['contact_mail']); $contact_tel = str_replace($search, $replace, $_POST['contact_tel']); $contact_cont = str_replace($search, $replace, $_POST['contact_cont']); $contact_name = replaceText($_POST['contact_name']); $contact_kana = replaceText($_POST['contact_kana']); $contact_comname = replaceText($_POST['contact_comname']); $contact_comkana = replaceText($_POST['contact_comkana']); $contact_zip = replaceText($_POST['contact_zip']); $contact_add = replaceText($_POST['contact_add']); $contact_mail = replaceText($_POST['contact_mail']); $contact_tel = replaceText($_POST['contact_tel']); $contact_cont = replaceText($_POST['contact_cont']); $contact_name = htmlspecialchars($_POST['contact_name']); $contact_kana = htmlspecialchars($_POST['contact_kana']); $contact_comname = htmlspecialchars($_POST['contact_comname']); $contact_comkana = htmlspecialchars($_POST['contact_comkana']); $contact_zip = htmlspecialchars($_POST['contact_zip']); $contact_add = htmlspecialchars($_POST['contact_add']); $contact_mail = htmlspecialchars($_POST['contact_mail']); $contact_tel = htmlspecialchars($_POST['contact_tel']); $contact_cont = htmlspecialchars($_POST['contact_cont']); $contact_name = mb_convert_kana($contact_name, 'KV', 'UTF-8'); $contact_kana = mb_convert_kana($contact_kana, 'KV', 'UTF-8'); $contact_comname = mb_convert_kana($contact_comname, 'KV', 'UTF-8'); $contact_comkana = mb_convert_kana($contact_comkana, 'KV', 'UTF-8'); $contact_zip = mb_convert_kana($contact_zip, 'KV', 'UTF-8'); $contact_add = mb_convert_kana($contact_add, 'KV', 'UTF-8'); $contact_mail = mb_convert_kana($contact_mail, 'KV', 'UTF-8'); $contact_tel = mb_convert_kana($contact_tel, 'KV', 'UTF-8'); $contact_cont = mb_convert_kana($contact_cont, 'KV', 'UTF-8'); //エラーチェック //氏名 if ($contact_name == '') { $err_flg = 1; $error_contact_name = 'お名前が入力されていません'; } //都道府県 if ($contact_kana == '') { $err_flg = 1; $error_contact_kana = 'お名前フリガナが入力されていません'; } //メール if ($contact_mail == '') { $err_flg = 1; $error_contact_mail = 'メールアドレスが入力されていません'; } else { if (!preg_match('/^[-+\\w]+(\\.[-+\\w]+)*@[-a-z0-9]+(\\.[-a-z0-9]+)*\\.[a-z]{2,6}$/i', $contact_mail)) { $err_flg = 1; $error_contact_mail = 'メールアドレスが正しく入力されていません'; } } //電話番号 if ($contact_tel == '') { $err_flg = 1; $error_contact_tel = '連絡先電話番号が入力されていません'; } //お問合せ内容 if ($contact_cont == '') { $err_flg = 1; $error_contact_cont = 'お問合せ内容が入力されていません'; } if ($err_flg == 0 && $_POST['modoru'] == '') { include "confirm.php"; exit; } elseif ($err_flg != 0) { $error_contact_mess = '入力エラーがあります。入力内容をご確認ください'; } } ?>

confirm.php

<?php /* 不正アクセスチェック用 */ include 'check.php'; ?>

check.php

<?php //設置するサイトのアドレスを""の中に入力。http://は入れない。最後の'/'も入れない。 $siteAddress = "hogehoge.co.jp"; $protname; //ssl判定 if(isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') { $protname = 'https'; }else{ $protname = 'http'; } //フォームのURL $sitename = $protname."://".$siteAddress."/contact/index.php"; $sitename2 = $protname."://".$siteAddress."/contact/"; if(isset($_SERVER['HTTP_REFERER'])){ if ( $_SERVER['HTTP_REFERER'] != $sitename && $_SERVER['HTTP_REFERER'] != $sitename2 ){ header("Location: ".$sitename); exit(); } } ?>

mailto.php

<?php //お問合わせ $mail_to_inq = 'info@hogehoge.co.jp'; ?>

情報量が少なく恐縮ですが、修正すべき点がありましたら(きっとあるとは思いますが…)ご教授いただければと思います。

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

m.ts10806

2022/04/25 04:05

「動かない」とは何が起きてるのでしょう。
kakedashi-2021

2022/04/25 04:51

ご質問いただきありがとうございます。 contact/よりフォ-ムに記載し、確認ボタンを押すとお問い合わせ内容の確認画面が表示されていたのですが、SSL化後から、確認ボタンを押して読み込んだ後、contact/index.phpが表示されてしまう様になりました。
m.ts10806

2022/04/25 04:54

コード一部だけだと何とも言えない気がします。 画面が複数あるのでしたら一通り提示されたほうが見えてきそうに思います。 質問編集してコード追記してください。 あとコードはマークダウンのcode機能使って提示してください。
kakedashi-2021

2022/04/25 05:27

ありがとうございます。 まずは私の記載に不足があったので以下修正させていただきます。 SSL化前はcontact/よりフォ-ムに記載し、確認ボタンを押すとcontact/index.phpに入力内容の確認画面が表示されてました。 SSL環境では、確認ボタンを押して読み込んだ後、contact/index.phpにはアクセスはするのですが、入力内容の確認画面では無く、contact/と同一の内容が表示されます。 >コード一部だけだと何とも言えない気がします。 画面が複数あるのでしたら一通り提示されたほうが見えてきそうに思います。 質問編集してコード追記してください。 あとコードはマークダウンのcode機能使って提示してください。 かしこまりました。 今回無知を承知で、藁をもすがる思いでご質問させていただいたので、不足等多々あるかと思います。 書き方等調べ、改めて記載、提示させていただきます。 ご指導、ご指摘本当にありがとうございます。
kakedashi-2021

2022/04/25 06:03

重ね重ねありがとうございます。 参考にさせていただき、修正してみました。
gU8C8Nud4E8p3uW

2022/04/25 07:34

httpでアクセスしたのをhttpsに転送する仕込みが加わっていて、フォーム入力の送信先がhttpだったりしたとき、httpsにリダイレクトする際にフォーム入力を捨ててしまっているのではないですか?
kakedashi-2021

2022/04/25 07:42 編集

コメントありがとうございます。 もしその様な動作をしていたとしても、どこの何が関係してそのような動作になっているのかが分からないんです…

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。