バージョン選択

フォーラム

メニュー

オンライン状況

27 人のユーザが現在オンラインです。 (14 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 27
もっと...

サイト内検索

質問 > その他 > ど素人です。

その他

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
rakulife
投稿日時: 2010/4/30 16:33
対応状況: −−−
新米
登録日: 2010/4/30
居住地:
投稿: 5
ど素人です。
/shopping/confirm.php触ってしまったようで


テストをしたら ”システムエラーが発生しました。
大変お手数ですが、サイト管理者までご連絡ください。
。“となり困っています。

助けてください。




<?php
/*
* This file is part of EC-CUBE
*
* Copyright(c) 2000-2007 LOCKON CO.,LTD. All Rights Reserved.
*
* http://www.lockon.co.jp/
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/

// {{{ requires
require_once(CLASS_PATH . "pages/LC_Page.php");

/**
* 入力内容確認のページクラス.
*
* @package Page
* @author LOCKON CO.,LTD.
* @version $Id:LC_Page_Shopping_Confirm.php 15532 2007-08-31 14:39:46Z nanasess $
*/
class LC_Page_Shopping_Confirm extends LC_Page {

// }}}
// {{{ functions

/**
* Page を初期化する.
*
* @return void
*/
function init() {
parent::init();
$this->tpl_mainpage = 'shopping/confirm.tpl';
$this->tpl_column_num = 1;
$this->tpl_css = URL_DIR.'css/layout/shopping/confirm.css';
$this->tpl_title = "ご入力内容のご確認";
$masterData = new SC_DB_MasterData();
$this->arrPref = $masterData->getMasterData("mtb_pref", array("pref_id", "pref_name", "rank"));
$this->arrSex = $masterData->getMasterData("mtb_sex");
$this->arrMAILMAGATYPE = $masterData->getMasterData("mtb_mail_magazine_type");
$this->arrReminder = $masterData->getMasterData("mtb_reminder");

$this->allowClientCache();
}

/**
* Page のプロセス.
*
* @return void
*/
function process() {
global $objCampaignSess;

$objView = new SC_SiteView();
$objCartSess = new SC_CartSession();
$objSiteInfo = $objView->objSiteInfo;
$objSiteSess = new SC_SiteSession();
$objCampaignSess = new SC_CampaignSession();
$objCustomer = new SC_Customer();
$arrInfo = $objSiteInfo->data;
$objQuery = new SC_Query();
$objDb = new SC_Helper_DB_Ex();

// 前のページで正しく登録手続きが行われた記録があるか判定
SC_Utils_Ex::sfIsPrePage($objSiteSess);

// ユーザユニークIDの取得と購入状態の正当性をチェック
$uniqid = SC_Utils_Ex::sfCheckNormalAccess($objSiteSess, $objCartSess);
$this->tpl_uniqid = $uniqid;

// カート集計処理
$objDb->sfTotalCart($this, $objCartSess, $arrInfo);
// 一時受注テーブルの読込
$arrData = $objDb->sfGetOrderTemp($uniqid);
// カート集計を元に最終計算
$arrData = $objDb->sfTotalConfirm($arrData, $this, $objCartSess, $arrInfo, $objCustomer, $objCampaignSess);
// キャンペーンからの遷移で送料が無料だった場合の処理
if($objCampaignSess->getIsCampaign()) {
$deliv_free_flg = $objQuery->get("dtb_campaign", "deliv_free_flg", "campaign_id = ?", array($objCampaignSess->getCampaignId()));
// 送料無料が設定されていた場合
if($deliv_free_flg) {
$arrData['payment_total'] -= $arrData['deliv_fee'];
$arrData['deliv_fee'] = 0;
}
}


// カート内の商品の売り切れチェック
$objCartSess->chkSoldOut($objCartSess->getCartList());

// 会員ログインチェック
if($objCustomer->isLoginSuccess()) {
$this->tpl_login = '1';
$this->tpl_user_point = $objCustomer->getValue('point');
}

// 決済区分を取得する
$payment_type = "";
if($objDb->sfColumnExists("dtb_payment", "memo01")){
// MEMO03に値が入っている場合には、モジュール追加されたものとみなす
$sql = "SELECT memo03 FROM dtb_payment WHERE payment_id = ?";
$arrPayment = $objQuery->getall($sql, array($arrData['payment_id']));
$payment_type = $arrPayment[0]["memo03"];
}
$this->payment_type = $payment_type;

if (!isset($_POST['mode'])) $_POST['mode'] = "";

switch($_POST['mode']) {
// 前のページに戻る
case 'return':
// 正常な推移であることを記録しておく
$objSiteSess->setRegistFlag();
$this->sendRedirect($this->getLocation(URL_SHOP_PAYMENT));
exit;
break;
case 'confirm':
// この時点で注文番号を確保しておく(クレジット、コンビニ決済で必要なため)
// postgresqlとmysqlとで処理を分ける
if (DB_TYPE == "pgsql") {
$order_id = $objQuery->nextval("dtb_order","order_id");
}elseif (DB_TYPE == "mysql") {
$order_id = $objQuery->get_auto_increment("dtb_order");
}
$arrData["order_id"] = $order_id;

// セッション情報を保持
$arrData['session'] = serialize($_SESSION);

// 集計結果を受注一時テーブルに反映
$objDb->sfRegistTempOrder($uniqid, $arrData);
// 正常に登録されたことを記録しておく
$objSiteSess->setRegistFlag();

// 決済方法により画面切替
if($payment_type != "") {
// TODO 決済方法のモジュールは Plugin として実装したい
$_SESSION["payment_id"] = $arrData['payment_id'];
$this->sendRedirect($this->getLocation(URL_SHOP_MODULE));
}else{
$this->sendRedirect($this->getLocation(URL_SHOP_COMPLETE));
}
exit;
break;
default:
break;
}

$this->arrData = $arrData;
$this->arrInfo = $arrInfo;
$objView->assignobj($this);
// フレームを選択(キャンペーンページから遷移なら変更)
$objCampaignSess->pageView($objView);
}

/**
* モバイルページを初期化する.
*
* @return void
*/
function mobileInit() {
$this->init();
}

/**
* Page のプロセス(モバイル).
*
* @return void
*/
function mobileProcess() {
$objView = new SC_MobileView();
$objCartSess = new SC_CartSession();
$objSiteInfo = $objView->objSiteInfo;
$objSiteSess = new SC_SiteSession();
$objCustomer = new SC_Customer();
$arrInfo = $objSiteInfo->data;
$objQuery = new SC_Query();
$objDb = new SC_Helper_DB_Ex();

// 前のページで正しく登録手続きが行われた記録があるか判定
SC_Utils_Ex::sfIsPrePage($objSiteSess, true);

// ユーザユニークIDの取得と購入状態の正当性をチェック
$uniqid = SC_Utils_Ex::sfCheckNormalAccess($objSiteSess, $objCartSess);
$this->tpl_uniqid = $uniqid;

// カート集計処理
$objDb->sfTotalCart($this, $objCartSess, $arrInfo);
// 一時受注テーブルの読込
$arrData = $objDb->sfGetOrderTemp($uniqid);
// カート集計を元に最終計算
$arrData = $objDb->sfTotalConfirm($arrData, $this, $objCartSess, $arrInfo, $objCustomer);

// カート内の商品の売り切れチェック
$objCartSess->chkSoldOut($objCartSess->getCartList());

// 会員ログインチェック
if($objCustomer->isLoginSuccess(true)) {
$this->tpl_login = '1';
$this->tpl_user_point = $objCustomer->getValue('point');
}

// 決済区分を取得する
$payment_type = "";
if($objDb->sfColumnExists("dtb_payment", "memo01")){
// MEMO03に値が入っている場合には、モジュール追加されたものとみなす
$sql = "SELECT memo03 FROM dtb_payment WHERE payment_id = ?";
$arrPayment = $objQuery->getall($sql, array($arrData['payment_id']));
$payment_type = $arrPayment[0]["memo03"];
}
$this->payment_type = $payment_type;

if (!isset($_POST['mode'])) $_POST['mode'] = "";

switch($_POST['mode']) {
// 前のページに戻る
case 'return':
// 正常な推移であることを記録しておく
$objSiteSess->setRegistFlag();
$this->sendRedirect($this->getLocation(MOBILE_URL_SHOP_PAYMENT), true);
exit;
break;
case 'confirm':
// この時点で注文番号を確保しておく(クレジット、コンビニ決済で必要なため)
// postgresqlとmysqlとで処理を分ける
if (DB_TYPE == "pgsql") {
$order_id = $objQuery->nextval("dtb_order","order_id");
}elseif (DB_TYPE == "mysql") {
$order_id = $objQuery->get_auto_increment("dtb_order");
}
$arrData["order_id"] = $order_id;

// セッション情報を保持
$arrData['session'] = serialize($_SESSION);

// 集計結果を受注一時テーブルに反映
$objDb->sfRegistTempOrder($uniqid, $arrData);
// 正常に登録されたことを記録しておく
$objSiteSess->setRegistFlag();

// 決済方法により画面切替
if($payment_type != "") {
$_SESSION["payment_id"] = $arrData['payment_id'];
$this->sendRedirect($this->getLocation(MOBILE_URL_SHOP_MODULE), true);
}else{
$this->sendRedirect($this->getLocation(MOBILE_URL_SHOP_COMPLETE), true);
}
exit;
break;
default:
break;
}
$this->arrData = $arrData;
$this->arrInfo = $arrInfo;
$objView->assignobj($this);
$objView->display(SITE_FRAME);
}

/**
* デストラクタ.
*
* @return void
*/
function destroy() {
parent::destroy();
}
}
?>
hatake
投稿日時: 2010/4/30 16:43
対応状況: −−−
常連
登録日: 2009/12/3
居住地: 東京
投稿: 58
Re: ど素人です。
始めまして。私も初心者なので大きな事は言えないですが
デバッグしてみては如何ですか?

パラメータ設定のDEBUG_MODE=trueに設定し、以下のコードを
プログラム中に書けばどこまで進んだかわかりますよ。
また、SQL等のエラーであれば data/logs/site.logに出力されていると思います。

SC_Utils::sfPrintR( "出力メッセージ" );
osamusi
投稿日時: 2010/5/1 12:18
対応状況: −−−
長老
登録日: 2008/11/5
居住地:
投稿: 204
Re: ど素人です。
引用:

rakulifeさんは書きました:
/shopping/confirm.php触ってしまったようで

元々confirm.phpは触る必要がなかったというこでしょうか?
であれば、デフォルトのconfirm.phpをどこかから持ってきて、上書きしてみればどうでしょうか。
念のため、バックアップはとるようにしておいて下さい。


----------------
株式会社サンクユーは東京都品川区のWEB制作会社です。
サンクユーのEC-CUBE構築、カスタマイズ・サービス
お問合せ先:info@thank-u.net
(有償対応のみ

rakulife
投稿日時: 2010/5/1 23:43
対応状況: −−−
新米
登録日: 2010/4/30
居住地:
投稿: 5
Re: ど素人です。
ありがとうございます。

解決しました。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は88,913名です
総投稿数は110,006件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2313
5
umebius
2085
6
yuh
1819
7
h_tanaka
1646
8
red
1570
9
mcontact
1296
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.