本文整理汇总了PHP中SC_Response_Ex::sendRedirect方法的典型用法代码示例。如果您正苦于以下问题:PHP SC_Response_Ex::sendRedirect方法的具体用法?PHP SC_Response_Ex::sendRedirect怎么用?PHP SC_Response_Ex::sendRedirect使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SC_Response_Ex
的用法示例。
在下文中一共展示了SC_Response_Ex::sendRedirect方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: action
/**
* Page のアクション.
*
* @return void
*/
public function action()
{
// パラメーター管理クラス
$objFormParam = new SC_FormParam_Ex();
switch ($this->getMode()) {
case 'login':
//ログイン処理
$this->lfInitParam($objFormParam);
$objFormParam->setParam($_POST);
$this->arrErr = $this->lfCheckError($objFormParam);
if (SC_Utils_Ex::isBlank($this->arrErr)) {
$this->lfDoLogin($objFormParam->getValue('login_id'));
SC_Response_Ex::sendRedirect(ADMIN_HOME_URLPATH);
} else {
// ブルートフォースアタック対策
// ログイン失敗時に遅延させる
sleep(LOGIN_RETRY_INTERVAL);
SC_Utils_Ex::sfDispError(LOGIN_ERROR);
}
break;
default:
break;
}
// 管理者ログインテンプレートフレームの設定
$this->setTemplate(LOGIN_FRAME);
}
示例2: action
/**
* Page のプロセス.
*
* @return void
*/
function action()
{
$objSiteSess = new SC_SiteSession_Ex();
$objCartSess = new SC_CartSession_Ex();
$objPurchase = new SC_Helper_Purchase_Ex();
$objCustomer = new SC_Customer_Ex();
$objFormParam = new SC_FormParam_Ex();
$this->tpl_uniqid = $objSiteSess->getUniqId();
$this->addrs = $this->getDelivAddrs($objCustomer, $objPurchase, $this->tpl_uniqid);
$this->tpl_addrmax = count($this->addrs);
$this->lfInitParam($objFormParam);
$objPurchase->verifyChangeCart($this->tpl_uniqid, $objCartSess);
switch ($this->getMode()) {
case 'confirm':
$objFormParam->setParam($_POST);
$this->arrErr = $this->lfCheckError($objFormParam);
if (SC_Utils_Ex::isBlank($this->arrErr)) {
// フォームの情報を一時保存しておく
$_SESSION['multiple_temp'] = $objFormParam->getHashArray();
$this->saveMultipleShippings($this->tpl_uniqid, $objFormParam, $objCustomer, $objPurchase, $objCartSess);
$objSiteSess->setRegistFlag();
SC_Response_Ex::sendRedirect("payment.php");
exit;
}
break;
default:
$this->setParamToSplitItems($objFormParam, $objCartSess);
}
// 前のページから戻ってきた場合
if ($_GET['from'] == 'multiple') {
$objFormParam->setParam($_SESSION['multiple_temp']);
}
$this->arrForm = $objFormParam->getFormParamList();
}
示例3: init
/**
* Page を初期化する.
*
* @return void
*/
function init()
{
$this->template = MAIN_FRAME;
//IP制限チェック
$allow_hosts = unserialize(ADMIN_ALLOW_HOSTS);
if (is_array($allow_hosts) && count($allow_hosts) > 0) {
if (array_search($_SERVER['REMOTE_ADDR'], $allow_hosts) === FALSE) {
SC_Utils_Ex::sfDispError(AUTH_ERROR);
}
}
//SSL制限チェック
if (ADMIN_FORCE_SSL == TRUE) {
if (SC_Utils_Ex::sfIsHTTPS() === false) {
SC_Response_Ex::sendRedirect($_SERVER['REQUEST_URI'], $_GET, FALSE, TRUE);
}
}
$this->tpl_authority = $_SESSION['authority'];
// ディスプレイクラス生成
$this->objDisplay = new SC_Display_Ex();
// スーパーフックポイントを実行.
$objPlugin = SC_Helper_Plugin_Ex::getSingletonInstance($this->plugin_activate_flg);
$objPlugin->doAction('LC_Page_preProcess', array($this));
// トランザクショントークンの検証と生成
$this->doValidToken(true);
$this->setTokenTo();
// ローカルフックポイントを実行
$parent_class_name = get_parent_class($this);
$objPlugin->doAction($parent_class_name . '_action_before', array($this));
$class_name = get_class($this);
if ($class_name != $parent_class_name) {
$objPlugin->doAction($class_name . '_action_before', array($this));
}
}
示例4: action
/**
* Page のAction.
*
* @return void
*/
public function action()
{
//決済処理中ステータスのロールバック
$objPurchase = new SC_Helper_Purchase_Ex();
$objPurchase->cancelPendingOrder(PENDING_ORDER_CANCEL_FLAG);
SC_Response_Ex::sendRedirect(DIR_INDEX_PATH);
}
示例5: action
/**
* Page のAction.
*
* @return void
*/
public function action()
{
switch ($this->getMode()) {
case 'confirm':
// トークンを設定
$this->refusal_transactionid = $this->getRefusalToken();
$this->tpl_mainpage = 'mypage/refusal_confirm.tpl';
$this->tpl_subtitle = '退会手続き(確認ページ)';
break;
case 'complete':
// トークン入力チェック
if (!$this->isValidRefusalToken()) {
// エラー画面へ遷移する
SC_Utils_Ex::sfDispSiteError(PAGE_ERROR, '', true);
SC_Response_Ex::actionExit();
}
$objCustomer = new SC_Customer_Ex();
$this->lfDeleteCustomer($objCustomer->getValue('customer_id'));
$objCustomer->EndSession();
SC_Response_Ex::sendRedirect('refusal_complete.php');
break;
default:
if (SC_Display_Ex::detectDevice() == DEVICE_TYPE_MOBILE) {
$this->refusal_transactionid = $this->getRefusalToken();
}
break;
}
}
示例6: init
/**
* Page を初期化する.
*
* @return void
*/
function init()
{
$this->template = MAIN_FRAME;
//IP制限チェック
$allow_hosts = unserialize(ADMIN_ALLOW_HOSTS);
if (is_array($allow_hosts) && count($allow_hosts) > 0) {
if (array_search($_SERVER["REMOTE_ADDR"], $allow_hosts) === FALSE) {
SC_Utils_Ex::sfDispError(AUTH_ERROR);
}
}
//SSL制限チェック
if (ADMIN_FORCE_SSL == TRUE) {
if (SC_Utils_Ex::sfIsHTTPS() === false) {
SC_Response_Ex::sendRedirect($_SERVER["REQUEST_URI"], $_GET, FALSE, TRUE);
}
}
$this->tpl_authority = $_SESSION['authority'];
// ディスプレイクラス生成
$this->objDisplay = new SC_Display_Ex();
// プラグインクラス生成
$this->objPlagin = new SC_Helper_Plugin_Ex();
$this->objPlagin->preProcess($this);
// トランザクショントークンの検証と生成
$this->doValidToken(true);
$this->setTokenTo();
}
示例7: action
/**
* Page のAction.
*
* @return void
*/
function action()
{
//受注詳細データの取得
$arrOrderDetail = $this->lfGetOrderDetail($_POST['order_id']);
//ログインしていない、またはDBに情報が無い場合
if (empty($arrOrderDetail)) {
SC_Utils_Ex::sfDispSiteError(CUSTOMER_ERROR);
}
$this->lfAddCartProducts($arrOrderDetail);
SC_Response_Ex::sendRedirect(CART_URLPATH);
}
示例8: action
/**
* Page のAction.
*
* @return void
*/
function action()
{
switch ($this->getMode()) {
case 'confirm':
$this->tpl_mainpage = 'mypage/refusal_confirm.tpl';
$this->tpl_subtitle = '退会手続き(確認ページ)';
break;
case 'complete':
$objCustomer = new SC_Customer_Ex();
$this->lfDeleteCustomer($objCustomer->getValue('customer_id'));
$objCustomer->EndSession();
SC_Response_Ex::sendRedirect('refusal_complete.php');
}
}
示例9: action
/**
* Page のAction.
*
* @return void
*/
public function action()
{
//決済処理中ステータスのロールバック
$objPurchase = new SC_Helper_Purchase_Ex();
$objPurchase->cancelPendingOrder(PENDING_ORDER_CANCEL_FLAG);
//受注詳細データの取得
$arrOrderDetail = $this->lfGetOrderDetail($_POST['order_id']);
//ログインしていない、またはDBに情報が無い場合
if (empty($arrOrderDetail)) {
SC_Utils_Ex::sfDispSiteError(CUSTOMER_ERROR);
}
$this->lfAddCartProducts($arrOrderDetail);
SC_Response_Ex::sendRedirect(CART_URL);
}
示例10: action
/**
* Page のアクション.
*
* @return void
*/
function action()
{
$objFormParam = new SC_FormParam_Ex();
// パラメーターの初期化
$this->initParam($objFormParam, $_GET);
// パラメーターの検証
if ($objFormParam->checkError() || !SC_Utils_ex::sfIsInt($id = $objFormParam->getValue('id'))) {
GC_Utils_Ex::gfPrintLog("error id={$id}");
SC_Utils_Ex::sfDispError(INVALID_MOVE_ERRORR);
}
$id = $objFormParam->getValue('id');
// レコードの削除
$this->deleteMember($id);
// リダイレクト
$url = $this->getLocation(ADMIN_SYSTEM_URLPATH) . '?pageno=' . $objFormParam->getValue('pageno');
SC_Response_Ex::sendRedirect($url);
}
示例11: action
/**
* Page のAction.
*
* @return void
*/
public function action()
{
switch ($this->getMode()) {
case 'regist':
//-- 本登録完了のためにメールから接続した場合
//-- 入力チェック
$this->arrErr = $this->lfCheckError($_GET);
if ($this->arrErr) {
SC_Utils_Ex::sfDispSiteError(FREE_ERROR_MSG, '', true, $this->arrErr['id']);
}
$registSecretKey = $this->lfRegistData($_GET);
//本会員登録(フラグ変更)
$this->lfSendRegistMail($registSecretKey);
//本会員登録完了メール送信
SC_Response_Ex::sendRedirect('complete.php', array('ci' => SC_Helper_Customer_Ex::sfGetCustomerId($registSecretKey)));
break;
//-- それ以外のアクセスは無効とする
//-- それ以外のアクセスは無効とする
default:
SC_Utils_Ex::sfDispSiteError(FREE_ERROR_MSG, '', true, '無効なアクセスです。');
break;
}
}
示例12: action
/**
* Page のAction.
*
* @return void
*/
public function action()
{
$objCustomer = new SC_Customer_Ex();
$objAddress = new SC_Helper_Address_Ex();
$ParentPage = MYPAGE_DELIVADDR_URLPATH;
// GETでページを指定されている場合には指定ページに戻す
if (isset($_GET['page'])) {
$ParentPage = htmlspecialchars($_GET['page'], ENT_QUOTES);
} elseif (isset($_POST['ParentPage'])) {
$ParentPage = htmlspecialchars($_POST['ParentPage'], ENT_QUOTES);
}
// 正しい遷移かをチェック
$arrParentPageList = array(DELIV_URLPATH, MYPAGE_DELIVADDR_URLPATH, MULTIPLE_URLPATH);
if (!SC_Utils_Ex::isBlank($ParentPage) && !in_array($ParentPage, $arrParentPageList)) {
// 遷移が正しくない場合、デフォルトであるマイページの配送先追加の画面を設定する
$ParentPage = MYPAGE_DELIVADDR_URLPATH;
}
$this->ParentPage = $ParentPage;
/*
* ログイン判定 及び 退会判定
* 未ログインでも, 複数配送設定ページからのアクセスの場合は表示する
*
* TODO 購入遷移とMyPageで別クラスにすべき
*/
if (!$objCustomer->isLoginSuccess(true) && $ParentPage != MULTIPLE_URLPATH) {
$this->tpl_onload = "eccube.changeParentUrl('" . $ParentPage . "'); window.close();";
}
// other_deliv_id のあるなしで追加か編集か判定しているらしい
$_SESSION['other_deliv_id'] = $_REQUEST['other_deliv_id'];
// パラメーター管理クラス,パラメーター情報の初期化
$objFormParam = new SC_FormParam_Ex();
$objAddress->setFormParam($objFormParam);
$objFormParam->setParam($_POST);
switch ($this->getMode()) {
// 入力は必ずedit
case 'edit':
$this->arrErr = $objAddress->errorCheck($objFormParam);
// 入力エラーなし
if (empty($this->arrErr)) {
// TODO ここでやるべきではない
if (in_array($_POST['ParentPage'], $this->validUrl)) {
$this->tpl_onload = "eccube.changeParentUrl('" . $this->getLocation($_POST['ParentPage']) . "'); window.close();";
} else {
SC_Utils_Ex::sfDispSiteError(CUSTOMER_ERROR);
}
if ($objCustomer->isLoginSuccess(true)) {
$this->lfRegistData($objAddress, $objFormParam, $objCustomer->getValue('customer_id'));
} else {
$this->lfRegistDataNonMember($objFormParam);
}
if (SC_Display_Ex::detectDevice() === DEVICE_TYPE_MOBILE) {
// モバイルの場合、元のページに遷移
SC_Response_Ex::sendRedirect($this->getLocation($_POST['ParentPage']));
SC_Response_Ex::actionExit();
}
}
break;
case 'multiple':
// 複数配送先用
break;
default:
if ($_GET['other_deliv_id'] != '') {
$arrOtherDeliv = $objAddress->getAddress($_SESSION['other_deliv_id'], $objCustomer->getValue('customer_id'));
//不正アクセス判定
if (!$objCustomer->isLoginSuccess(true) || !$arrOtherDeliv) {
SC_Utils_Ex::sfDispSiteError(CUSTOMER_ERROR);
}
//別のお届け先情報取得
$objFormParam->setParam($arrOtherDeliv);
}
break;
}
$this->arrForm = $objFormParam->getFormParamList();
if (SC_Display_Ex::detectDevice() === DEVICE_TYPE_MOBILE) {
$this->tpl_mainpage = 'mypage/delivery_addr.tpl';
} else {
$this->setTemplate('mypage/delivery_addr.tpl');
}
}
示例13: action
/**
* Page のアクション.
*
* @return void
*/
function action()
{
$objSiteSess = new SC_SiteSession_Ex();
$objCartSess = new SC_CartSession_Ex();
$objPurchase = new SC_Helper_Purchase_Ex();
$objCustomer = new SC_Customer_Ex();
$objFormParam = new SC_FormParam_Ex();
$this->is_multiple = $objPurchase->isMultiple();
// カートの情報を取得
$this->arrShipping = $objPurchase->getShippingTemp($this->is_multiple);
$this->tpl_uniqid = $objSiteSess->getUniqId();
$cart_key = $objCartSess->getKey();
$this->cartKey = $cart_key;
$objPurchase->verifyChangeCart($this->tpl_uniqid, $objCartSess);
// 配送業者を取得
$this->arrDeliv = $objPurchase->getDeliv($cart_key);
$this->is_single_deliv = $this->isSingleDeliv($this->arrDeliv);
// 会員情報の取得
if ($objCustomer->isLoginSuccess(true)) {
$this->tpl_login = '1';
$this->tpl_user_point = $objCustomer->getValue('point');
$this->name01 = $objCustomer->getValue('name01');
$this->name02 = $objCustomer->getValue('name02');
}
// 戻り URL の設定
// @deprecated 2.12.0 テンプレート直書きに戻した
$this->tpl_back_url = '?mode=return';
$arrOrderTemp = $objPurchase->getOrderTemp($this->tpl_uniqid);
// 正常に受注情報が格納されていない場合はカート画面へ戻す
if (SC_Utils_Ex::isBlank($arrOrderTemp)) {
SC_Response_Ex::sendRedirect(CART_URLPATH);
SC_Response_Ex::actionExit();
}
// カート内商品の妥当性チェック
$this->tpl_message = $objCartSess->checkProducts($cart_key);
if (strlen($this->tpl_message) >= 1) {
SC_Response_Ex::sendRedirect(CART_URLPATH);
SC_Response_Ex::actionExit();
}
/*
* 購入金額の取得
* ここでは送料を加算しない
*/
$this->arrPrices = $objCartSess->calculate($cart_key, $objCustomer);
// お届け日一覧の取得
$this->arrDelivDate = $objPurchase->getDelivDate($objCartSess, $cart_key);
switch ($this->getMode()) {
/*
* 配送業者選択時のアクション
* モバイル端末以外の場合は, JSON 形式のデータを出力し, ajax で取得する.
*/
case 'select_deliv':
$this->setFormParams($objFormParam, $arrOrderTemp, true, $this->arrShipping);
$objFormParam->setParam($_POST);
$this->arrErr = $objFormParam->checkError();
if (SC_Utils_Ex::isBlank($this->arrErr)) {
$deliv_id = $objFormParam->getValue('deliv_id');
$arrSelectedDeliv = $this->getSelectedDeliv($objPurchase, $objCartSess, $deliv_id);
$arrSelectedDeliv['error'] = false;
} else {
$arrSelectedDeliv = array('error' => true);
$this->tpl_mainpage = 'shopping/select_deliv.tpl';
// モバイル用
}
if (SC_Display_Ex::detectDevice() != DEVICE_TYPE_MOBILE) {
echo SC_Utils_Ex::jsonEncode($arrSelectedDeliv);
SC_Response_Ex::actionExit();
} else {
$this->arrPayment = $arrSelectedDeliv['arrPayment'];
$this->arrDelivTime = $arrSelectedDeliv['arrDelivTime'];
}
break;
// 登録処理
// 登録処理
case 'confirm':
// パラメーター情報の初期化
$this->setFormParams($objFormParam, $_POST, false, $this->arrShipping);
$deliv_id = $objFormParam->getValue('deliv_id');
$arrSelectedDeliv = $this->getSelectedDeliv($objPurchase, $objCartSess, $deliv_id);
$this->arrPayment = $arrSelectedDeliv['arrPayment'];
$this->arrDelivTime = $arrSelectedDeliv['arrDelivTime'];
$this->img_show = $arrSelectedDeliv['img_show'];
$this->arrErr = $this->lfCheckError($objFormParam, $this->arrPrices['subtotal'], $this->tpl_user_point);
if (empty($this->arrErr)) {
$this->saveShippings($objFormParam, $this->arrDelivTime);
$this->lfRegistData($this->tpl_uniqid, $objFormParam->getDbArray(), $objPurchase, $this->arrPayment);
// 正常に登録されたことを記録しておく
$objSiteSess->setRegistFlag();
// 確認ページへ移動
SC_Response_Ex::sendRedirect(SHOPPING_CONFIRM_URLPATH);
SC_Response_Ex::actionExit();
}
break;
// 前のページに戻る
// 前のページに戻る
//.........这里部分代码省略.........
示例14: action
/**
* Page のアクション.
*
* @return void
*/
function action()
{
$objDb = new SC_Helper_DB_Ex();
$objFormParam = new SC_FormParam_Ex();
$this->arrData = isset($_SESSION['customer']) ? $_SESSION['customer'] : '';
switch ($this->getMode()) {
case 'confirm':
// エラーチェック
$this->lfInitParam($objFormParam);
$objFormParam->setParam($_POST);
$objFormParam->convParam();
$objFormParam->toLower('email');
$objFormParam->toLower('email02');
$this->arrErr = $this->lfCheckError($objFormParam);
// 入力値の取得
$this->arrForm = $objFormParam->getFormParamList();
if (SC_Utils_Ex::isBlank($this->arrErr)) {
// エラー無しで完了画面
$this->tpl_mainpage = 'contact/confirm.tpl';
$this->tpl_title = 'お問い合わせ(確認ページ)';
}
break;
case 'return':
$this->lfInitParam($objFormParam);
$objFormParam->setParam($_POST);
$this->arrForm = $objFormParam->getFormParamList();
break;
case 'complete':
$this->lfInitParam($objFormParam);
$objFormParam->setParam($_POST);
$this->arrErr = $objFormParam->checkError();
$this->arrForm = $objFormParam->getFormParamList();
if (SC_Utils_Ex::isBlank($this->arrErr)) {
$this->lfSendMail($this);
// 完了ページへ移動する
SC_Response_Ex::sendRedirect('complete.php');
SC_Response_Ex::actionExit();
} else {
SC_Utils_Ex::sfDispSiteError(CUSTOMER_ERROR);
SC_Response_Ex::actionExit();
}
break;
default:
break;
}
}
示例15: verifyChangeCart
/**
* カートに変化が無いか検証する.
*
* ユニークIDとセッションのユニークIDを比較し, 異なる場合は
* エラー画面を表示する.
*
* カートが空の場合, 購入ボタン押下後にカートが変更された場合は
* カート画面へ遷移する.
*
* @param string $uniqId ユニークID
* @param SC_CartSession $objCartSession
* @return void
*/
public function verifyChangeCart($uniqId, &$objCartSession)
{
$cartKey = $objCartSession->getKey();
// カート内が空でないか
if (SC_Utils_Ex::isBlank($cartKey)) {
SC_Response_Ex::sendRedirect(CART_URL);
exit;
}
// 初回のみカートの内容を保存
$objCartSession->saveCurrentCart($uniqId, $cartKey);
/*
* POSTのユニークIDとセッションのユニークIDを比較
*(ユニークIDがPOSTされていない場合はスルー)
*/
if (!SC_SiteSession_Ex::checkUniqId()) {
SC_Utils_Ex::sfDispSiteError(CANCEL_PURCHASE);
exit;
}
// 購入ボタンを押してから変化がないか
$quantity = $objCartSession->getTotalQuantity($cartKey);
if ($objCartSession->checkChangeCart($cartKey) || !($quantity > 0)) {
SC_Response_Ex::sendRedirect(CART_URL);
exit;
}
}