2014-12-19 2 views
0

Я хочу, чтобы следующий PHP-код перенаправлялся на указанную страницу после завершения функции. Я пробовал несколько разных методов, но он никогда ничего не делает. Текущее действие, которое это предпринимает, состоит в том, что после нажатия кнопки вызова функции она перенаправляется на пустую страницу. Любая помощь приветствуется.Изменение функции PHP для перенаправления после действия

function quote_upvote_button($quoteid, $canvote, $ajaxy=FALSE) 
    { 
     $s = ' class="quote_plus" id="quote_plus_'.$quoteid.'"'; 
     if (!$canvote) { 
      $url = '<a href="?'.urlargs('vote',$quoteid,'plus').'" '.$s.' title="'.lang('upvote').'">+</a>'; 
       if ($ajaxy) { 
        return '<script type="text/javascript">document.write(\'<a href="javascript:ajax_vote('.$quoteid.',1);" '.$s.' title="'.lang('upvote').'">+</a>\'); 
        </script><noscript>'.$url.'</noscript>'; 
     } 
     return $url; 
    } 
    return '<span '.$s.' title="'.lang('cannot_vote_'.$canvote).'">+</span>'; 
} 
+0

На какой странице вы хотите, чтобы перенаправлять тоже? – ehime

+0

Попробуйте 'href =" javascript: ajax_vote (1,1); location.href = 'google.com'; void (0); "' –

+0

Вы ищете перенаправление заголовка (PHP) или изменение window.location (JS). –

ответ

2

Это будет работать, $your_redirect_url - это место, куда оно пойдет. Он может быть либо в относительном (/ foo/bar), либо в полном формате (http://foo.com/bar). Вы можете прочитать больше на PHP Header Redirects here. Помните, что для ответа Miinimals требуется дополнительная библиотека PECL для выполнения, где это функция соединения.

function quote_upvote_button($quoteid, $canvote, $ajaxy = false, $your_redirect_url = '/') 
{ 
    $s = ' class="quote_plus" id="quote_plus_'.$quoteid.'"'; 
    if (!$canvote) { 
     $url = '<a href="?'.urlargs('vote',$quoteid,'plus').'" '.$s.' title="'.lang('upvote').'">+</a>'; 
     if ($ajaxy) 
     { 
      // Redirect to your location, and terminate... 
      // Will redirect to root on default, or can be overridden/modified as an arg 
      header("Location: $your_redirect_url"); 
      exit; 
     } 
     return $url; 
    } 
    return '<span '.$s.' title="'.lang('cannot_vote_'.$canvote).'">+</span>'; 
} 
+0

Вы не должны делать это перенаправление, если вы можете просто передать управление другому PHP-коду (который вы хотите вызвать после перенаправления) на месте. –

0

Сначала найти URL перенаправления на этот URL на

header('location:'.$url); 

или в JS и можно использовать

window.location.assign($url) 
    window.location="http://www.newlocation.com"; 
Смежные вопросы