2014-02-05 7 views
0

Я боролся с этим часами, интересно, может ли кто-нибудь помочь.Действие одной ссылки и переадресация на другую с помощью php или javascript

Я хочу создать сценарий переадресации, который сначала выполняет ссылку. У меня есть ссылка, сгенерированная php, которая удаляет аватар текущего пользователя. Эта ссылка работает (аватар пользователя удаляется), но сама ссылка нигде не ведет, она просто перезагружает любую страницу, с которой она запускается (я еще не совсем понял, как еще, я полагаю, это особенность wordpress/buddypress, которая Я использую). Моя цель состоит в том, что по прибытии на конкретную страницу (page1.php) автоматически активируется ссылка на аватар, и затем пользователь перенаправляется на другую страницу. Итак:

1) Пользователь приходит на page1.php

2) Скрипт запускает эту ссылку:

<a href="<?php if (bp_get_user_has_avatar()) : print 'mysite.net/members/'; echo userpro_profile_data('user_login', $user_id2); print '/'; bp_avatar_delete_link(); else : 'something-else.php'; endif; ?>"></a 

3) Пользователь перенаправляется page2.php

Я предполагаю, что может быть какой-то способ сделать это в javascript/ajax, но я почти не использую его, поэтому не совсем уверен, как это сделать. Я изо всех сил пытаюсь заставить его работать на php. Любая помощь могла бы быть полезна.

Спасибо.

+0

отсутствует echo: 'else: echo 'something-else.php';' – mehdi

ответ

2

Вы можете перенаправить страницу с помощью JavaScript, используя Location API:

<script type="text/javascript"> 
    window.location = <?= $new_location ?>; 
</script> 

Или вы можете сделать это в PHP после выполнения необходимых операций с использованием кода, как это:

header("Location: {$new_location}"); 

Но обратите внимание, что если вы перенаправлять через headers вы не должны эхо-эйджинга на страницу перед ней.

Или вы можете использовать wp_redirect(), если вы делаете это в Wordpress.

+1

Должно быть использовано ['wp_redirect'] (http://codex.wordpress.org/Function_Reference/wp_redirect) - попытка напрямую настроить заголовок скорее всего, столкнутся с общей работой Wordpress. – Emissary

+0

@ Emissary и с помощью wp_redirect(), вы правы, спасибо :-) – devlato

+0

Спасибо. Любая мысль о том, как действовать по другой ссылке в первую очередь? –