前提・実現したいこと
WEBサイトでのお問い合わせフォームの作り方が分かりません。
1 入力フォームから必須項目を入れ確認画面へのボタンを押せばアクセスでき
2 入力内容のご確認のページにアクセスできますが
3 最後の送信完了ページにアクセスできません。
complete.phpの中にログファイル設定 DEFAULT_LOGはサーバに合わせること
とネットでググたのですが理解できません。
発生している問題・エラーメッセージ
Can't open /virtual/ikeno-derma/public_html/_demo/company_inquiry/log/contact.csv!
php
1complete.php 2 3<?php 4session_start(); 5session_unset(); 6session_destroy(); 7?> 8 9<?php 10include("phpmailer.inc.php"); 11 12 13//edit(メールアドレスのみ。例えば携帯メールアドレスが必須のような場合「if($_POST['email']!="" && $_POST['email_mobile']!=""){」と記述する。) 14//only for mailaddress 15if($_POST['email']!=""){ 16 17$files = glob('uploads/*'); 18 19//edit(ファイル添付がある場合、その分だけ用意する。この項目が無かったらコメントアウトすること)if the image exists. you must commentout when this column is nothing. 20//$my_path = "uploads/".$_POST['img']; 21//$my_path2 = "uploads/".$_POST['img2']; 22 23 24//edit(自動返信メール(管理者、複数指定可))reply mail for admin (you can specify multiple) 25$items[] = array('subject' => '【】ホームページよりお問い合わせがありました。', 26'header_mail' => $_POST['name'].' 様より、以下のお問い合わせがありました。<br><br><br>', 27'footer_mail' => '', 28'send_fromname' => $_POST['name'], 29'send_from' => $_POST['email'], 30'send_to' => array('support@netoption.co.jp'), 31); 32 33//edit(自動返信メール(エンドユーザ) ※「send_fromname」「send_from」にエンドユーザ向けのFROM表記・メアドを入力する。)reply mail for enduser (input to "send_fromname" & "send_from) 34$items[] = array('subject' => '【】お問い合わせありがとうございます。', 35'header_mail' => $_POST['name'].' 様<br><br> 36お問い合わせありがとうございます。<br> 37このメールは自動送信メールです。<br> 38翌営業日を過ぎましてもお問い合わせに対する対応がない場合は、<br> 39お手数をおかけしますがまで<br> 40ご連絡くださいますようお願い申し上げます。<br><br><br>', 41'footer_mail' => '', 42'send_fromname' => '', 43'send_from' => '', 44'send_to' => array($_POST['email']), 45); 46 47 48foreach($items as $item) 49{ 50//////////////header_mail//////////// 51$data= $item['header_mail']; 52//////////////////////////////////// 53 54 55//edit(管理者・エンドユーザ共通、メールの中心部分)reply mail body for admin & enduser 56$data.= " 57氏名:<br>".$_POST['name']."<br><br> 58フリガナ:<br>".$_POST['kana']."<br><br> 59郵便番号:<br>〒".$_POST['postcode']."<br><br> 60ご住所:<br>".$_POST['add1'].$_POST['add2']."<br><br> 61電話番号:<br>".$_POST['tel1']."-".$_POST['tel2']."-".$_POST['tel3']."<br><br> 62FAX番号:<br>".$_POST['fax1']."-".$_POST['fax2']."-".$_POST['fax3']."<br><br> 63メールアドレス:<br>".$_POST['email']."<br><br> 64お問い合わせ内容:<br>".$_POST['message']."<br><br> 65"; 66 67//////////////footer_mail//////////// 68$data.= $item['footer_mail']; 69//////////////////////////////////// 70 71$fromname = $item['send_fromname']; 72 73////////////// Subject //////////// 74$subject = $item['subject']; 75//////////////////////////////////// 76$send_from = $item['send_from']; 77 78$body = $data; 79 80$mailBody = $body; 81$objMail = new PHPMailer(); 82 83$objMail->ContentType = "text/html"; 84$objMail->CharSet = "utf-8"; 85$objMail->Mailer = "mail"; 86$objMail->Priority = 3; 87$objMail->From = $send_from; 88 89$objMail->FromName =$fromname; 90$objMail->Subject = $subject; 91//edit(ファイル添付がある場合↑と合わせる。)if the image exists. (same ↑.) 92if($_POST['img']!=""){ 93$objMail->AddAttachment($my_path); 94} 95if($_POST['img2']!=""){ 96$objMail->AddAttachment($my_path2); 97} 98 99$objMail->Body = $mailBody; 100//////////////Send to//////////// 101foreach($item['send_to'] as $send_to){ 102$objMail->AddAddress($send_to); 103} 104//////////////////////////////////// 105 106$objMail->Send(); 107 108} 109 110// get all file names 111foreach($files as $file){ // iterate files 112if(is_file($file)) 113unlink($file); // delete file 114} 115 116 117/** 118* Logging class: 119* - contains lfile, lwrite and lclose public methods 120* - lfile sets path and name of log file 121* - lwrite writes message to the log file (and implicitly opens log file) 122* - lclose closes log file 123* - first call of lwrite method will open log file implicitly 124* - message is written with the following format: [d/M/Y:H:i:s] (script name) message */ 125//$msg = str_replace("<br>",",",$datalog); 126 127 128/*--Start Config Log----------------------------------------------------------------*/ 129 130// Filename of log to use when none is given to write_log , and log folder change permission to 777 131 132//edit(ログファイル設定 DEFAULT_LOGはサーバに合わせること)logfile (DEFAULT_LOG is setting for server) 133define("DEFAULT_LOG","/virtual/ikeno-derma/public_html/_demo/company_inquiry/log/contact.csv"); 134$datalog.='氏名:'.$_POST['name'].''; 135$datalog.=","; 136$datalog.='フリガナ:'.$_POST['kana'].''; 137$datalog.=","; 138$datalog.='郵便番号:'.$_POST['postcode'].''; 139$datalog.=","; 140$datalog.='ご住所:'.$_POST['add2'].''; 141$datalog.=","; 142$datalog.='電話番号:'.$_POST['tel'].''; 143$datalog.=","; 144$datalog.='FAX番号:'.$_POST['fax'].''; 145$datalog.=","; 146$datalog.='メールアドレス:'.$_POST['email'].''; 147$datalog.=","; 148$datalog.='お問い合わせ内容:'.$_POST['message'].''; 149 150/*--END Config Log----------------------------------------------------------------*/ 151 152 153 154 155$msg = $datalog; 156class Logging { 157// declare log file and file pointer as private properties 158private $log_file, $fp; 159// set log file (path and name) 160public function lfile($path) { 161$this->log_file = $path; 162} 163// write message to the log file 164public function lwrite($message) { 165// if file pointer doesn't exist, then open log file 166if (!is_resource($this->fp)) { 167$this->lopen(); 168} 169// define script name 170$script_name = pathinfo($_SERVER['PHP_SELF'], PATHINFO_FILENAME); 171// define current time and suppress E_WARNING if using the system TZ settings 172// (don't forget to set the INI setting date.timezone) 173$time = @date('[d/M/Y:H:i:s]'); 174// write current time, script name and message to the log file 175// fwrite($this->fp, "$time ($script_name) $message" . PHP_EOL); 176fwrite($this->fp, "$time , $message" . PHP_EOL); 177} 178// close log file (it's always a good idea to close a file when you're done with it) 179public function lclose() { 180fclose($this->fp); 181} 182// open log file (private method) 183private function lopen() { 184$log_file_default = DEFAULT_LOG; 185// define log file from lfile method or use previously set default 186$lfile = $this->log_file ? $this->log_file : $log_file_default; 187// open log file for writing only and place file pointer at the end of the file 188// (if the file does not exist, try to create it) 189$this->fp = fopen($lfile, 'a') or exit("Can't open $lfile!"); 190} 191} 192 193// Logging class initialization 194$log = new Logging(); 195 196// set path and name of log file (optional) 197$log->lfile(DEFAULT_LOG); 198 199// write message to the log file 200$log->lwrite($msg); 201 202// close log file 203$log->lclose(); 204 205}else{ 206 207header("Location: index.php"); 208 209} 210 211?>
再現可能なコード(できればすべて)提示してください。
またphpのバージョン、OS ご提示ください。
関係ありそうな現在のコードを提示しましょう
>WEBサイトでのお問い合わせフォームの作り方が分かりません。
というタイトルですが、もっと起きている問題に寄せたほうが良いでしょう。
ご回答ありがとうございます。
phpコードですがどこに貼り付ければいいでしょうか?
質問文に追記しましょう
こちらは「質問への追記・修正の依頼」ですので回答ではありません。
基本的に質問本文に記載してください(他の人の質問や回答を参考にしてください)
phpコードは本文に貼れば良いです。
投稿文を書くところに、<code> というアイコンがあると思いますので、それをクリックするとソースを書く書式のテンプレが、自動で投稿欄にセットされます。
今までHTML系の質問でコード提示されているのでそれと同じようにして
言語のところを「PHP」にすれば良いです。
そういえば何度かEC-CUBEの質問されていますけどそれとはまったく関係ない、素のPHPの質問ですよね?
質問内容に「ログファイル設定 DEFAULT_LOGはサーバに合わせること」とあるのでそのあたり「タグはPHPだけで良いのかな」と疑問はあります
質問の感じからすると どこかのWebサイトで配布されている「コンタクトフォーム」のスクリプトをダウンロードしてきて設置しているのでしょうか?
そうであれば、配布元の URL 等を記載していただいたほうが良いと思います。
としたら注意が必要そうですね。
https://qiita.com/rana_kualu/items/7adb59d3f5734789fe31
回答、勇み足過ぎたか?
再現可能なコードになります。
<?php
session_start();
session_unset();
session_destroy();
?>
<?php
include("phpmailer.inc.php");
//edit(メールアドレスのみ。例えば携帯メールアドレスが必須のような場合「if($_POST['email']!="" && $_POST['email_mobile']!=""){」と記述する。)
//only for mailaddress
if($_POST['email']!=""){
$files = glob('uploads/*');
//edit(ファイル添付がある場合、その分だけ用意する。この項目が無かったらコメントアウトすること)if the image exists. you must commentout when this column is nothing.
//$my_path = "uploads/".$_POST['img'];
//$my_path2 = "uploads/".$_POST['img2'];
//edit(自動返信メール(管理者、複数指定可))reply mail for admin (you can specify multiple)
$items[] = array('subject' => '【】ホームページよりお問い合わせがありました。',
'header_mail' => $_POST['name'].' 様より、以下のお問い合わせがありました。<br><br><br>',
'footer_mail' => '',
'send_fromname' => $_POST['name'],
'send_from' => $_POST['email'],
'send_to' => array('support@netoption.co.jp'),
);
//edit(自動返信メール(エンドユーザ) ※「send_fromname」「send_from」にエンドユーザ向けのFROM表記・メアドを入力する。)reply mail for enduser (input to "send_fromname" & "send_from)
$items[] = array('subject' => '【】お問い合わせありがとうございます。',
'header_mail' => $_POST['name'].' 様<br><br>
お問い合わせありがとうございます。<br>
このメールは自動送信メールです。<br>
翌営業日を過ぎましてもお問い合わせに対する対応がない場合は、<br>
お手数をおかけしますがまで<br>
ご連絡くださいますようお願い申し上げます。<br><br><br>',
'footer_mail' => '',
'send_fromname' => '',
'send_from' => '',
'send_to' => array($_POST['email']),
);
foreach($items as $item)
{
//////////////header_mail////////////
$data= $item['header_mail'];
////////////////////////////////////
//edit(管理者・エンドユーザ共通、メールの中心部分)reply mail body for admin & enduser
$data.= "
氏名:<br>".$_POST['name']."<br><br>
フリガナ:<br>".$_POST['kana']."<br><br>
郵便番号:<br>〒".$_POST['postcode']."<br><br>
ご住所:<br>".$_POST['add1'].$_POST['add2']."<br><br>
電話番号:<br>".$_POST['tel1']."-".$_POST['tel2']."-".$_POST['tel3']."<br><br>
FAX番号:<br>".$_POST['fax1']."-".$_POST['fax2']."-".$_POST['fax3']."<br><br>
メールアドレス:<br>".$_POST['email']."<br><br>
お問い合わせ内容:<br>".$_POST['message']."<br><br>
";
//////////////footer_mail////////////
$data.= $item['footer_mail'];
////////////////////////////////////
$fromname = $item['send_fromname'];
////////////// Subject ////////////
$subject = $item['subject'];
////////////////////////////////////
$send_from = $item['send_from'];
$body = $data;
$mailBody = $body;
$objMail = new PHPMailer();
$objMail->ContentType = "text/html";
$objMail->CharSet = "utf-8";
$objMail->Mailer = "mail";
$objMail->Priority = 3;
$objMail->From = $send_from;
$objMail->FromName =$fromname;
$objMail->Subject = $subject;
//edit(ファイル添付がある場合↑と合わせる。)if the image exists. (same ↑.)
if($_POST['img']!=""){
$objMail->AddAttachment($my_path);
}
if($_POST['img2']!=""){
$objMail->AddAttachment($my_path2);
}
$objMail->Body = $mailBody;
//////////////Send to////////////
foreach($item['send_to'] as $send_to){
$objMail->AddAddress($send_to);
}
////////////////////////////////////
$objMail->Send();
}
// get all file names
foreach($files as $file){ // iterate files
if(is_file($file))
unlink($file); // delete file
}
/**
* Logging class:
* - contains lfile, lwrite and lclose public methods
* - lfile sets path and name of log file
* - lwrite writes message to the log file (and implicitly opens log file)
* - lclose closes log file
* - first call of lwrite method will open log file implicitly
* - message is written with the following format: [d/M/Y:H:i:s] (script name) message */
//$msg = str_replace("<br>",",",$datalog);
/*--Start Config Log----------------------------------------------------------------*/
// Filename of log to use when none is given to write_log , and log folder change permission to 777
//edit(ログファイル設定 DEFAULT_LOGはサーバに合わせること)logfile (DEFAULT_LOG is setting for server)
define("DEFAULT_LOG","/virtual/ikeno-derma/public_html/_demo/company_inquiry/log/contact.csv");
$datalog.='氏名:'.$_POST['name'].'';
$datalog.=",";
$datalog.='フリガナ:'.$_POST['kana'].'';
$datalog.=",";
$datalog.='郵便番号:'.$_POST['postcode'].'';
$datalog.=",";
$datalog.='ご住所:'.$_POST['add2'].'';
$datalog.=",";
$datalog.='電話番号:'.$_POST['tel'].'';
$datalog.=",";
$datalog.='FAX番号:'.$_POST['fax'].'';
$datalog.=",";
$datalog.='メールアドレス:'.$_POST['email'].'';
$datalog.=",";
$datalog.='お問い合わせ内容:'.$_POST['message'].'';
/*--END Config Log----------------------------------------------------------------*/
$msg = $datalog;
class Logging {
// declare log file and file pointer as private properties
private $log_file, $fp;
// set log file (path and name)
public function lfile($path) {
$this->log_file = $path;
}
// write message to the log file
public function lwrite($message) {
// if file pointer doesn't exist, then open log file
if (!is_resource($this->fp)) {
$this->lopen();
}
// define script name
$script_name = pathinfo($_SERVER['PHP_SELF'], PATHINFO_FILENAME);
// define current time and suppress E_WARNING if using the system TZ settings
// (don't forget to set the INI setting date.timezone)
$time = @date('[d/M/Y:H:i:s]');
// write current time, script name and message to the log file
// fwrite($this->fp, "$time ($script_name) $message" . PHP_EOL);
fwrite($this->fp, "$time , $message" . PHP_EOL);
}
// close log file (it's always a good idea to close a file when you're done with it)
public function lclose() {
fclose($this->fp);
}
// open log file (private method)
private function lopen() {
$log_file_default = DEFAULT_LOG;
// define log file from lfile method or use previously set default
$lfile = $this->log_file ? $this->log_file : $log_file_default;
// open log file for writing only and place file pointer at the end of the file
// (if the file does not exist, try to create it)
$this->fp = fopen($lfile, 'a') or exit("Can't open $lfile!");
}
}
// Logging class initialization
$log = new Logging();
// set path and name of log file (optional)
$log->lfile(DEFAULT_LOG);
// write message to the log file
$log->lwrite($msg);
// close log file
$log->lclose();
}else{
header("Location: index.php");
}
?>
質問は編集できます。
こちらはあくまで質問への追記修正依頼のコメント欄でデフォルト非表示です。
マークダウンも使えませんので原則質問本文を編集してください。
コメント欄に記載されたコードは、読みにくいので、質問を編集して <code> ボタンを使って、追記していただけないでしょうか?
これ全部1ファイルですか?
ファイルが違うのでしたらコードブロックはわけてください。
あとインデントが全くないと問題切り分けも難しくなるのでお手元のコードのインデントを揃えた後、再度質問に貼りなおしてください。
また、includeしているプログラムの内容もご提示ください。
全ファイルを質問に入れたんですが文字数がおおいのか投稿されません。
いい方法はないでしょうか?
すみません。
送信完了ページのcomplete.phpがまだ表示されません。
何が原因でしょうか?
phpファイルが原因なのでしょうか?
Githubとか外部サービスを使うのもありです。
Githubは今まで利用したことがないのですが難しいでしょうか?
complete.phpがアクセスできず表示されないので多分ですが
complete.phpが原因かと思うのですがどうでしょうか?
index.php
<?php include('conf.php') ?>
<h3 class="title" id="blcForm">
入力フォーム<br><span>Input form</span>
</h3>
<p class="item">
<span class="required">必須</span>項目は入力必須項目です。お手数ですがご記入お願いいたします。
</p>
<form action="index.php#blcForm" method="post" enctype="multipart/form-data">
<table class="tblComm">
<tr>
<th>氏名<span class="required">必須</span></th>
<td>
<input type="text" name="name" value="<?php echo $temp_value['name']; ?>" class="focusAnimation middleSize" placeholder="山田 太郎">
<div class="txtError"><?php if($error['name']) echo $error['name']; ?></div>
</td>
</tr>
<tr>
<th>フリガナ<span class="required">必須</span></th>
<td>
<input type="text" name="kana" value="<?php echo $temp_value['kana']; ?>" class="focusAnimation middleSize" placeholder="ヤマダ タロウ">
<div class="txtError"><?php if($error['kana']) echo $error['kana']; ?></div>
</td>
</tr>
<tr>
<th>郵便番号<span class="nRequired">任意</span></th>
<td>
〒<input type="tel" name="postcode" value="<?php echo $temp_value['postcode']; ?>" class="focusAnimation narrowSize" placeholder="000-0000">
<div class="txtError"><?php if($error['postcode']) echo $error['postcode']; ?></div>
</td>
</tr>
<tr>
<th>ご住所<span class="nRequired">任意</span></th>
<td>
<select name="add1" class="focusAnimation">
<option value="" selected="selected">お選び下さい</option>
<option value="北海道" <?php if($temp_value['add1']=="北海道") echo "selected"; ?> >北海道</option>
<option value="青森県" <?php if($temp_value['add1']=="青森県") echo "selected"; ?> >青森県</option>
<option value="岩手県" <?php if($temp_value['add1']=="岩手県") echo "selected"; ?> >岩手県</option>
<option value="宮城県" <?php if($temp_value['add1']=="宮城県") echo "selected"; ?> >宮城県</option>
<option value="秋田県" <?php if($temp_value['add1']=="秋田県") echo "selected"; ?> >秋田県</option>
<option value="山形県" <?php if($temp_value['add1']=="山形県") echo "selected"; ?> >山形県</option>
<option value="福島県" <?php if($temp_value['add1']=="福島県") echo "selected"; ?> >福島県</option>
<option value="茨城県" <?php if($temp_value['add1']=="茨城県") echo "selected"; ?> >茨城県</option>
<option value="栃木県" <?php if($temp_value['add1']=="栃木県") echo "selected"; ?> >栃木県</option>
<option value="群馬県" <?php if($temp_value['add1']=="群馬県") echo "selected"; ?> >群馬県</option>
<option value="埼玉県" <?php if($temp_value['add1']=="埼玉県") echo "selected"; ?> >埼玉県</option>
<option value="千葉県" <?php if($temp_value['add1']=="千葉県") echo "selected"; ?> >千葉県</option>
<option value="東京都" <?php if($temp_value['add1']=="東京都") echo "selected"; ?> >東京都</option>
<option value="神奈川県" <?php if($temp_value['add1']=="神奈川県") echo "selected"; ?> >神奈川県</option>
<option value="山梨県" <?php if($temp_value['add1']=="山梨県") echo "selected"; ?> >山梨県</option>
<option value="長野県" <?php if($temp_value['add1']=="長野県") echo "selected"; ?> >長野県</option>
<option value="新潟県" <?php if($temp_value['add1']=="新潟県") echo "selected"; ?> >新潟県</option>
<option value="富山県" <?php if($temp_value['add1']=="富山県") echo "selected"; ?> >富山県</option>
<option value="石川県" <?php if($temp_value['add1']=="石川県") echo "selected"; ?> >石川県</option>
<option value="福井県" <?php if($temp_value['add1']=="福井県") echo "selected"; ?> >福井県</option>
<option value="岐阜県" <?php if($temp_value['add1']=="岐阜県") echo "selected"; ?> >岐阜県</option>
<option value="静岡県" <?php if($temp_value['add1']=="静岡県") echo "selected"; ?> >静岡県</option>
<option value="愛知県" <?php if($temp_value['add1']=="愛知県") echo "selected"; ?> >愛知県</option>
<option value="三重県" <?php if($temp_value['add1']=="三重県") echo "selected"; ?> >三重県</option>
<option value="滋賀県" <?php if($temp_value['add1']=="滋賀県") echo "selected"; ?> >滋賀県</option>
<option value="京都府" <?php if($temp_value['add1']=="京都府") echo "selected"; ?> >京都府</option>
<option value="大阪府" <?php if($temp_value['add1']=="大阪府") echo "selected"; ?> >大阪府</option>
<option value="兵庫県" <?php if($temp_value['add1']=="兵庫県") echo "selected"; ?> >兵庫県</option>
<option value="奈良県" <?php if($temp_value['add1']=="奈良県") echo "selected"; ?> >奈良県</option>
<option value="和歌山県" <?php if($temp_value['add1']=="和歌山県") echo "selected"; ?> >和歌山県</option>
<option value="鳥取県" <?php if($temp_value['add1']=="鳥取県") echo "selected"; ?> >鳥取県</option>
<option value="島根県" <?php if($temp_value['add1']=="島根県") echo "selected"; ?> >島根県</option>
<option value="岡山県" <?php if($temp_value['add1']=="岡山県") echo "selected"; ?> >岡山県</option>
<option value="広島県" <?php if($temp_value['add1']=="広島県") echo "selected"; ?> >広島県</option>
<option value="山口県" <?php if($temp_value['add1']=="山口県") echo "selected"; ?> >山口県</option>
<option value="徳島県" <?php if($temp_value['add1']=="徳島県") echo "selected"; ?> >徳島県</option>
<option value="香川県" <?php if($temp_value['add1']=="香川県") echo "selected"; ?> >香川県</option>
<option value="愛媛県" <?php if($temp_value['add1']=="愛媛県") echo "selected"; ?> >愛媛県</option>
<option value="高知県" <?php if($temp_value['add1']=="高知県") echo "selected"; ?> >高知県</option>
<option value="福岡県" <?php if($temp_value['add1']=="福岡県") echo "selected"; ?> >福岡県</option>
<option value="佐賀県" <?php if($temp_value['add1']=="佐賀県") echo "selected"; ?> >佐賀県</option>
<option value="長崎県" <?php if($temp_value['add1']=="長崎県") echo "selected"; ?> >長崎県</option>
<option value="熊本県" <?php if($temp_value['add1']=="熊本県") echo "selected"; ?> >熊本県</option>
<option value="大分県" <?php if($temp_value['add1']=="大分県") echo "selected"; ?> >大分県</option>
<option value="宮崎県" <?php if($temp_value['add1']=="宮崎県") echo "selected"; ?> >宮崎県</option>
<option value="鹿児島県" <?php if($temp_value['add1']=="鹿児島県") echo "selected"; ?> >鹿児島県</option>
<option value="沖縄県" <?php if($temp_value['add1']=="沖縄県") echo "selected"; ?> >沖縄県</option>
</select>
<div class="txtError"><?php if($error['add1']) echo $error['add1']; ?></div>
<input type="text" name="add2" value="<?php echo $temp_value['add2']; ?>" class="focusAnimation wideSize" placeholder="○区○町0-0-0 ○マンション○号室">
<div class="txtError"><?php if($error['add2']) echo $error['add2']; ?></div>
</td>
</tr>
<tr>
<th>電話番号<span class="nRequired">任意</span></th>
<td>
<input type="tel" name="tel" value="<?php echo $temp_value['tel']; ?>" class="focusAnimation smallSize" placeholder="0000-0000-0000">
<div class="txtError"><?php if($error['tel']) echo $error['tel']; ?></div>
</td>
</tr>
<tr>
<th>FAX番号<span class="nRequired">任意</span></th>
<td>
<input type="tel" name="fax" value="<?php echo $temp_value['fax']; ?>" class="focusAnimation smallSize" placeholder="0000-0000-0000">
<div class="txtError"><?php if($error['fax']) echo $error['fax']; ?></div>
</td>
</tr>
<tr>
<th>メールアドレス<span class="required">必須</span></th>
<td>
<input type="text" name="email" value="<?php echo $temp_value['email']; ?>" class="focusAnimation middleSize" placeholder="xxx@xxx.co.jp">
<div class="txtError"><?php if($error['email']) echo $error['email']; ?></div>
</td>
</tr>
<tr>
<th>お問い合わせ内容<span class="required">必須</span></th>
<td>
<textarea name="message" class="focusAnimation fullSize"><?php echo $temp_value['message']; ?></textarea>
<div class="txtError"><?php if($error['message']) echo $error['message']; ?></div>
</td>
</tr>
</table>
<p class="information">
本サイト上でご提供いただいた個人情報のお取扱いについて、当方はお客様からご提供いただく個人情報の保護のため個人情報保護方針を定めています。ご提供いただ<br>
いた個人情報は、この個人情報保護方針および下記の規定に基づき取扱わせていただきます。
</p>
<div id="formSubmit">
<input type="submit" name="submit" value="確認画面へ" class="btn animLink">
</div>
confirm.php
<?php
session_start();
?>
<h3 class="title" id="blcForm">
入力内容のご確認
</h3>
<p class="item">
以下の内容で宜しければ「送信」ボタンを押して下さい。
</p>
<form action="complete.php" method="post" enctype="multipart/form-data">
<table class="tblComm">
<tr>
<th>氏名</th>
<td>
<?php if(isset($_SESSION['name'])) echo $_SESSION['name']; ?>
<input type="hidden" name="name" value="<?php if(isset($_SESSION['name'])) echo $_SESSION['name']; ?>">
</td>
</tr>
<tr>
<th>フリガナ</th>
<td>
<?php if(isset($_SESSION['kana'])) echo $_SESSION['kana']; ?>
<input type="hidden" name="kana" value="<?php if(isset($_SESSION['kana'])) echo $_SESSION['kana']; ?>">
</td>
</tr>
<tr>
<th>郵便番号</th>
<td>
〒<?php if(isset($_SESSION['postcode'])) echo $_SESSION['postcode']; ?>
<input type="hidden" name="postcode" value="<?php if(isset($_SESSION['postcode'])) echo $_SESSION['postcode']; ?>">
</td>
</tr>
<tr>
<th>ご住所</th>
<td>
<?php if(isset($_SESSION['add1'])) echo $_SESSION['add1']; ?>
<input type="hidden" name="add1" value="<?php if(isset($_SESSION['add1'])) echo $_SESSION['add1']; ?>">
<?php if(isset($_SESSION['add2'])) echo $_SESSION['add2']; ?>
<input type="hidden" name="add2" value="<?php if(isset($_SESSION['add2'])) echo $_SESSION['add2']; ?>">
</td>
</tr>
<tr>
<th>電話番号</th>
<td>
<?php if(isset($_SESSION['tel'])) echo $_SESSION['tel']; ?>
<input type="hidden" name="tel" value="<?php if(isset($_SESSION['tel'])) echo $_SESSION['tel']; ?>">
</td>
</tr>
<tr>
<th>FAX番号</th>
<td>
<?php if(isset($_SESSION['fax'])) echo $_SESSION['fax']; ?>
<input type="hidden" name="fax" value="<?php if(isset($_SESSION['fax'])) echo $_SESSION['fax']; ?>">
</td>
</tr>
<tr>
<th>メールアドレス</th>
<td>
<?php if(isset($_SESSION['email'])) echo $_SESSION['email']; ?>
<input type="hidden" name="email" value="<?php if(isset($_SESSION['email'])) echo $_SESSION['email']; ?>">
</td>
</tr>
<tr>
<th>お問い合わせ内容</th>
<td>
<?php if(isset($_SESSION['message'])) echo $_SESSION['message']; ?>
<input type="hidden" name="message" value="<?php if(isset($_SESSION['message'])) echo $_SESSION['message']; ?>">
</td>
</tr>
</table>
<div id="formSubmitlink">
<input type="submit" name="submit" value="送信" class="btn animLink link">
<input type="button" value="戻る" class="btn animLink link" onClick="history.back()">
</div>
「complete.phpがアクセスできず表示されない」ってことだけど、サーバーのerror_logはチェックしているのかな。画面に表示できないエラーは文法エラーがあったり実行時エラーがあったりすると、真っ白画面のままerror_logにエラーメッセージを出力していたりするのだが。サーバーの設定によってerror_logの出力先が変わったりするので、レンタルサーバーだと業者のドキュメント参照。
サーバーのerror_logとはどのように調べたらいいのでしょうか?
↓こちらのエラーとは別なのでしょうか?
Can't open /virtual/ikeno-derma/public_html/_demo/company_inquiry/log/contact.csv!
apache httpdが出力するaccess_log、error_logのことです。例えば /var/log/httpd/ あたりにあったりします。詳しくは httpd.confにあるErrorLogディレクティブで定義されます。
XAMPPの中にあるApacheの右側にLogsの中にerror_logがありました。
こちらのデータを修正するのでしょうか?
>Github
とりあえずアカウント作ってアップロードするだけで良いかと思いますけど(私もアカウント作って作りっぱなしですが)
>エラーログ
あくまで起きたエラーが書き込まれていくファイルなので修正するわけではなく「どんなデータが起きているか確認する」用途でのみ利用します。
だから、プログラム実行してエラー起きたら、その時間のエラーが記録されているはずなので、その記録を確認して、原因を探るために役立てます。
話は変わるのですが_path.phpをサーバにアップして、このファイルにアクセスとは
どのように行えばいいのでしょうか?
_path.phpファイルへのパスが分かるとあります。
_path.phpファイル
<?php
echo __FILE__;
?>
変わりすぎてどこから出てきた話なのか分からないです。
「ファイルにアクセス」にも色々あります。
ブラウザからアクセスさせたいのか、プログラムから読み込ませたいのか
どういう役割でどういうことをさせたいかで決まります。
変わりすぎてすみません。
そうです。
そのファイルにブラウザでアクセスするのですがどのように行えばいいのでしょうか?
設定方法を教えていただけないでしょうか?
どうぞよろしくお願いいたします。
別件なので本件解決してからにされたほうが良いかと。
それは別質問でたてるべきじゃないですか?
今回のエラーと、関係あるならいいですけど。
はたから見ているとなんで急にその話しだしたの?ってなるだけで余計わけわからなくなります。
まずエラーログの在り処を教えてもらったんですよね?何かエラーは出てないんですか?
あくまでもこの追記欄は、この質問を解決するために使用して下さい
今回の質問の原因がそれです。
お問い合わせフォームの送信完了ページにアクセスできないのが多分ですが
ファイルへのパスが間違っているからです。
Can't open /virtual/ikeno-derma/public_html/_demo/company_inquiry/log/contact.csv!
_path.phpというファイルにはどこにもCan't Openと出るような原因はありませんよ。
それがわかれば解決できるっていうなら質問の本文に追記で記載しましょう。
先ほど回答しましたので確認しておいてください。
ファイルパスが間違っているというのは正しいですが、実情は間違ってます。
作る必要があるファイルを作っていない(そしてそのパスを指定していない)と考えます。
Windowsであれば` /virtual/`ではじまるパスはありませんので(Macは詳しくないから知らない)
(。。。タイトル調整してほしいなぁ)
(。。。コードにインデントちゃんとつけてほしいなぁ)
せっかくマークダウン使ってもインデントが皆無では意味がない。。。。
オフトピなのでこちらに書きますが
「ikeno-derma」って現存する病院のようですけど、どんな関係なんでしょうね。
そのまま使うことで相手に迷惑かけるようなことがなければいいのですけど。
サポートアドレス晒してるほうが怒られると思うぞ^^;
おーこれはいかんですね。質問削除しないとマズそう。怒られるだけじゃすまないですね。
ほんとだーこれはいかんですね。客先からぶん殴られそう
質問が質問になってないし、回答に対してまた意味不明な質問するし、回答者の時間だって有限だしm.ts10806さんが親切だから付き合ってくれているだけであって・・・
まず質問の仕方を練習するところから再度始めたほうがよいですね。
あとセキュリティについて・・・
回答がついちゃったので質問の削除申請が通るかわかりませんが、バレたら首がとぶかもしれない守秘義務違反だと思うのでこの質問削除することをオススメします
編集で変数部分を適当な値に置き換えれば良いんじゃない?
質問部分に関係は無さそうだし(まあ何が質問なのかは良くわからんが)
頑なに編集しないのは私怨の可能性もあるが…
回答3件
あなたの回答
tips
プレビュー