旧サイトから新サイトに引っ越した際に問題発生
旧サイトのデータを丸っと全部コピーして、新サイトに全てそのままアップロードしました。
その際に変更した箇所はルートに設置してある .htaccess の中身(www を無しに統一、http から https にする)と、
ルートに設置してある index.php の中身($system_path の部分を変更)、
application\config内にある config.php と database.php くらいだと思います。
……にも関わらず、今まで動いていた「お問い合わせフォーム」で異常が発生してしまい、頭を抱えております。
php
1// application/controllers/Contact.php 2class Contact extends CI_Controller { 3 public function index() 4 { 5 $this->load->helper(array('form')); 6 $this->load->library(array('session', 'form_validation')); 7 8 $config = array( // ホントは他にもいっぱいあります 9 array( 10 'field' => 'username', 11 'label' => 'お名前', 12 'rules' => 'trim|required', 13 'errors' => array( 14 'required' => '%s は必須です。', 15 ) 16 ) 17 ); 18 $this->form_validation->set_rules($config); 19 20 if ($this->form_validation->run() == FALSE) // バリデーションチェック失敗。入力画面に戻る 21 { 22 $this->ticket = md5(uniqid(mt_rand(), TRUE)); // トークン生成 23 $this->session->set_userdata('ticket', $this->ticket); // トークンをクッキーにセット 24 25 $this->load->view('contact_view', $data); 26 } 27 else // バリデーションチェックOK。メール送信処理へ移る 28 { 29 ~ メールの送信処理 ~ 30 } 31 } 32}
php
1// application/views/contact_view.php 2<div class="contact"> 3 <div class="title"> 4 お問い合わせ 5 </div> 6 <?php echo validation_errors(); ?> 7 <?php echo form_open('contact'); ?> 8 <?php echo form_hidden('ticket', $this->ticket); ?> 9 <dl> 10 <dt>お名前</dt> 11 <dd><input type="text" name="username" value="<?php echo set_value('username'); ?>"></dd> 12 </dl> 13 <div class="submit"> 14 <input class="button" type="submit" value="送信する"> 15 </div> 16 </form> 17</div>
以前まで(サイトの引っ越し前まで)は何ら問題なく動作していたのに、
サイトを引っ越ししてから動作しなくなってしまいました。
もしや https にしたら何か特別なことをしなければならなかったりするのでしょうか?
具体的にどうおかしいのか?
お名前欄を空欄にしたまま「送信する」ボタンを押すと、今までであればエラーメッセージが表示されていました。
ところが何も無かったかのようにただページが更新される(ような感じになる)だけなんです。
お名前欄に何か適当に入力したとしても、「送信する」ボタンを押すとそれもまた同じようにページが更新されるだけ。
それも今までは入力した文字がそのまま残っていたはずなのに、何故か空欄に戻ってしまう。
「送信する」ボタンを押してもif ($this->form_validation->run() == FALSE)
のところを通過できない。
いや、それもあるけどそもそも何で<?php echo set_value('username'); ?>
が効いていないのか……?
色々コードをいじったりしても、何やかんやしてもわからないんです。
3日間考えてもわからないままなんです
「15分調べてもわからないことは、質問しよう! (teratail!)」
とはいえ、何でもかんでもすぐに聞いてばかりは考えもの。
……でももう無理、限界なんです。旧サイトのデータをほとんどそのまま持ってきているのに……ナンデ!!
どなたかヒントだけでもお教えいただけませんでしょうか。よろしくお願いいたします。
【追記】変更した .htaccess の中身
htaccess
1suPHP_ConfigPath /home/myname/mydomain.net/xserver_php/ 2AddHandler fcgid-script .php .phps 3FCGIWrapper "/home/myname/mydomain.net/xserver_php/php-cgi" .php 4FCGIWrapper "/home/myname/mydomain.net/xserver_php/php-cgi" .phps 5 6RewriteEngine on 7 8# httpsに統一 9RewriteCond %{HTTPS} off 10RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L] 11 12# wwwなしに統一 13RewriteCond %{HTTP_HOST} ^www.mydomain.net 14RewriteRule ^(.*)$ https://mydomain.net/$1 [R=301,L] 15 16# CodeIgniter用 17RewriteCond $1 !^(index.php|.+.css$|.+.js$|.+.gif$|.+.png$|.+.jpg$) 18RewriteRule ^(.*)$ /index.php?/$1 [L]
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/11/07 09:21
2018/11/07 10:36
2018/11/07 11:06
2018/11/07 11:53
2018/11/07 12:12
2018/11/07 12:19
2018/11/07 12:40