首页 > 解决方案 > 重复的 URL 发布参数问题

问题描述

嗨,谁能帮助为什么 URL 字符串参数一次又一次地发布?

HTTP://127.0.0.1/ab/1936.html?cart=yes?cart=yes

当我们在磁电机 1.9 中将产品添加到购物车时,我使用此参数打开迷你购物车

请帮助我如何保护这个?我正在使用此代码-

<?php
if ($_GET['cart']=='yes') {
    echo "<script type='text/javascript'>
          jQuery('.minicart_open').show();
    </script>";
}
?>

购物车控制器.php

protected function _goBack()
{
    $returnUrl = $this->getRequest()->getParam('return_url');
   // print_r($returnUrl);exit;
    if ($returnUrl) {

        if (!$this->_isUrlInternal($returnUrl)) {
            throw new Mage_Exception('External urls redirect to "' . $returnUrl . '" denied!');
        }

        $this->_getSession()->getMessages(true);
        $this->getResponse()->setRedirect($returnUrl);
    } elseif (!Mage::getStoreConfig('checkout/cart/redirect_to_cart')
        && !$this->getRequest()->getParam('in_cart')
        && $backUrl = $this->_getRefererUrl()
    ) {
        $this->getResponse()->setRedirect($backUrl.'?cart=yes');
    } else {
        if (
            (strtolower($this->getRequest()->getActionName()) == 'add')
            && !$this->getRequest()->getParam('in_cart')
        ) {
            $this->_getSession()->setContinueShoppingUrl($this->_getRefererUrl());
        }
        $this->_redirect('checkout/cart');
    }
    return $this;
}

标签: phpurlmagento-1.9

解决方案


我得到了答案

只需替换以下行

$this->getResponse()->setRedirect($backUrl.'?cart=yes');

$url = $backUrl; 
        // Search substring  
            if (strpos($url, $key) == false) { 
                 $this->getResponse()->setRedirect($backUrl.'?cart=yes');
            } 
            else { 
                 $this->getResponse()->setRedirect($backUrl);
            } 
            //exit;

它为我工作......希望它对你有帮助......


推荐阅读