Как сделать редирект на ссылку в новом окне в php?

Ссылка скопирована
PHP
1 ответ

Вопрос, как сделать редирект target _blank после уведомления 'Просмотр засчитан!' на ссылку <?php echo $r['Url']; ?>

Вот часть кода:

}, 1000 	        ); 		}); 	    function click_ok(c){ 	        $('#capt').html('Подождите ...'); 	        $.ajax({ 	            url: url, 	            dataType: 'json', 	            type: "POST", 	            data: {click_ok:&lt;?php echo $r['Id']; ?&gt;,captcha:c,addonkey:'&lt;?php echo $user['AddonKey']; ?&gt;'}, 	            success: function(d){ 	                var t = parseInt(d.status); 	                if(t &gt; 0){ 	                    $('#view_panel_load').html('&lt;strong&gt;Просмотр засчитан!&lt;/strong&gt;'); 	                    $('#view_panel_load').addClass('text-success'); 	                    var timerId = setTimeout( 	                        function () {	                             	                            addon_delview(''); 	                        } 	                        , 3000 	                    ); 	                } 	                else{

}, 1000 ); }); function click_ok(c){ $('#capt').html('Подождите ...'); $.ajax({ url: url, dataType: 'json', type: "POST", data: {click_ok:&lt;?php echo $r['Id']; ?&gt;,captcha:c,addonkey:'&lt;?php echo $user['AddonKey']; ?&gt;'}, success: function(d){ var t = parseInt(d.status); if(t &gt; 0){ $('#view_panel_load').html('&lt;strong&gt;Просмотр засчитан!&lt;/strong&gt;'); $('#view_panel_load').addClass('text-success'); var timerId = setTimeout( function () { addon_delview(''); } , 3000 ); } else{

Дополнительно:

Ответы:

window.open(<?php echo $r['Id']; ?>, '_blank')

Но лучше стремиться к тому, чтобы js и php жили порознь:

&lt;input type="hidden" id="url" value="&lt;?php echo $r['Id']; ?&gt;"/&gt;

&lt;input type="hidden" id="url" value="&lt;?php echo $r['Id']; ?&gt;"/&gt;

window.open($('#url').value, '_blank')

  • А подскажите, куда именно мне поставить, после какой строки? И нужно ли ставить ;
    window.open($('#url').value, '_blank')
  • Thomek, Вместо addon_delview('');
    Ведь, если происходит перенаправление, убирать сообщение "Просмотр засчитан" уже нет смысла.

    И нужно ли ставить ;

    Во vue не нужно. А в jQuery я уже не помню. Попробуйте.:)

  • Не сработало. Там окошко не закрылось и не было перехода
    Если что это браузерное расширение, и там нужно чтобы был переход после решения капчи!

    Вот код:

    &lt;?php $el_id = 'aHdgsijJ124'; $height = 180; $width = 300; /*height: &lt;?php echo $height; ?&gt;px;*/ if(!empty($user) &amp;&amp; empty($r)){ ?&gt; 	&lt;html&gt; 	&lt;head&gt; 		&lt;title&gt;Реклама&lt;/title&gt; 		&lt;meta name="robots" content="noindex,nofollow"&gt; 		&lt;meta content="text/html;" charset="UTF-8" http-equiv="Content-Type"&gt; 	&lt;/head&gt; 	&lt;body&gt; 		&lt;script&gt; 			document.addEventListener('DOMContentLoaded',function(){ 			    top.postMessage({&lt;?php echo $el_id; ?&gt;_delview:'1'}, '*'); 			}); 		&lt;/script&gt; 	&lt;/body&gt; 	&lt;/html&gt; &lt;?php } else { ?&gt; &lt;html&gt; &lt;head&gt; 	&lt;title&gt;Реклама&lt;/title&gt; 	&lt;base href="&lt;?php echo PROT."{$_SERVER['SERVER_NAME']}/" ?&gt;" /&gt; 	&lt;meta name="robots" content="noindex,nofollow"&gt; 	&lt;meta content="text/html;" charset="UTF-8" http-equiv="Content-Type"&gt; 	&lt;link rel="stylesheet" type="text/css" href="/assets/css/style_addon.css?id=115" /&gt;&lt;!-- почистить --&gt; 	&lt;style&gt; 		body,html{padding:0;margin:0;} 		.main{width: &lt;?php echo $width; ?&gt;px;background: #fff;overflow: hidden;} 		.title{background: #E17F1F;display: table;width: 100%;} 		.btn.btn-rcapt{font-size: 15px;padding: 0 5px;font-weight: bold;letter-spacing: 1px;margin-left: 5px;} 		.btnclose{width: 30px;background: #e03232; color: #fff;} 		.btnclose button{display: block;width: 100%;height: 100%;} 		.gosite{font-size: 12px; color: #47A447;} 	&lt;/style&gt; &lt;/head&gt; &lt;body&gt; 	&lt;?php if(!empty($user)){  		$_url = (mb_strlen($r['Url']) &gt; 40) ? (mb_substr($r['Url'], 0, 40).' ...') : $r['Url']; 	?&gt; 	&lt;div class="main" id="addon_main"&gt; 		&lt;div class="title"&gt; 			&lt;div style="padding: 5px 10px;" id="view_panel_load" class="cell"&gt; 				&lt;span id="text_wait"&gt;Подождите... &amp;nbsp; &lt;span class="timer"&gt;&lt;?php echo $r['Price']; ?&gt;&lt;/span&gt;&lt;/span&gt; 				&lt;div style="display: none;" id="capt" title="Решите капчу для вознаграждения!"&gt; 					&lt;img style="width: 55px;" src="&lt;?php echo $capt_img; ?&gt;" alt="" /&gt;  		            &lt;?php foreach($Capt as $val){  		                echo "&lt;button type="button" onclick="return click_ok('{$val}');" class="btn btn-xs btn-rcapt btn-default"&gt;{$val}&lt;/button&gt;"; 		            } ?&gt; 				&lt;/div&gt; 			&lt;/div&gt; 			&lt;div class="cell btnclose"&gt;&lt;button type="button" title="Перейти на сайт" class="btn-none" onclick="addon_delview('');"&gt;х&lt;/button&gt;&lt;/div&gt; 		&lt;/div&gt; 		&lt;div style="padding: 10px 10px 5px 15px;"&gt; 			&lt;button type="button" title="Перейти на сайт" class="btn-link" onclick="addon_gosite('&lt;?php echo $r['Url']; ?&gt;');" data-addon_gosite=""&gt;&lt;strong&gt;&lt;?php echo $r['Title']; ?&gt;&lt;/strong&gt;&lt;/button&gt; 			&lt;p style="font-size: 14px;"&gt;&lt;?php echo $r['Body']; ?&gt;&lt;/p&gt; 			&lt;div&gt;&lt;button title="Перейти на сайт" type="button" class="btn-link gosite" onclick="addon_gosite('&lt;?php echo $r['Url']; ?&gt;');" data-addon_gosite=""&gt;&lt;?php echo $_url; ?&gt;&lt;/button&gt;&lt;/div&gt; 		&lt;/div&gt; 	&lt;/div&gt;     &lt;script src="/assets/js/jqery.3.4.1.js"&gt;&lt;/script&gt; 	&lt;script&gt; 		var url = '&lt;?php echo PROT."{$_SERVER['SERVER_NAME']}/earn/addon" ?&gt;'; 		function addon_gosite(uri) { 			top.postMessage({&lt;?php echo $el_id; ?&gt;_gosite:uri}, '*'); 		} 		function addon_delview(go) { 			let data = new FormData();             data.append('addonkey', '&lt;?php echo $user['AddonKey']; ?&gt;');             data.append('delete_view', &lt;?php echo $r['Id']; ?&gt;); 			if(navigator.sendBeacon)                  navigator.sendBeacon(url, data);              else                 $.ajax({contentType: false,processData: false,url:url,type:"POST",data: data});             var dat = {&lt;?php echo $el_id; ?&gt;_delview:'1'};             if(go)             	dat.gosite = go; 			top.postMessage(dat, '*'); 		} 		$(document).ready(function(){ 			var h = $('#addon_main').height(); 			$('#addon_main').attr('style', 'height:'+h+'px'); 		    top.postMessage({&lt;?php echo $el_id; ?&gt;_load: h}, '*');		 			var sec = &lt;?php echo $r['Price']; ?&gt;; 			var timer = $('.timer'); 	        timerId = setTimeout( 	            function tick() { 	                if((sec+50) &lt; 1){ 	                    clearTimeout(timerId); 	                    addon_delview(''); 	                } 	                else{ 	                    sec--; 		                if(sec &gt; 0){	                	 			                timer.html(sec); 		                } 		                else if(sec === 0){ 		                    $('#text_wait').hide(); 		                    $('#capt').show(); 		                } 	                    timerId = setTimeout(tick, 1000); 		            } 	            }, 1000 	        ); 		}); 	    function click_ok(c){ 	        $('#capt').html('Подождите ...'); 	        $.ajax({ 	            url: url, 	            dataType: 'json', 	            type: "POST", 	            data: {click_ok:&lt;?php echo $r['Id']; ?&gt;,captcha:c,addonkey:'&lt;?php echo $user['AddonKey']; ?&gt;'}, 	            success: function(d){ 	                var t = parseInt(d.status); 	                if(t &gt; 0){ 	                    $('#view_panel_load').html('&lt;strong&gt;Просмотр засчитан!&lt;/strong&gt;'); 	                    $('#view_panel_load').addClass('text-success'); 	                    var timerId = setTimeout( 	                        function () {	                             	                            addon_delview(''); 	                        } 	                        , 3000 	                    ); 	                } 	                else{ 	                    $('#view_panel_load').html('&lt;strong&gt;'+d.mess+'&lt;/strong&gt;'); 	                    //$('#view_panel_load').addClass('text-danger'); 	                    var timerId = setTimeout( 	                        function () {    	                            addon_delview(''); 	                         	                        } 	                        , 3000 	                    ); 	                } 	            }, 	            error: function(){ 					$('#view_panel_load').html('&lt;strong&gt;Неизвестная ошибка&lt;/strong&gt;');                     //$('#view_panel_load').addClass('text-danger');                     var timerId = setTimeout(function () { addon_delview(''); }, 3000);                 } 	        }); 	        return true; 	    } 	&lt;/script&gt; 	&lt;?php } else { ?&gt; 	&lt;div style="width: 300px;height: 150px;background: #fff;overflow: hidden;"&gt; 		&lt;div style="background: #b2ceec;display: table;width: 100%;"&gt; 			&lt;div style="padding: 5px 10px;" class="cell"&gt;Ошибка авторизации&lt;/div&gt; 			&lt;div style="width: 30px;background: #e03232; color: #fff;" class="cell"&gt;&lt;button style="display: block;width: 100%;height: 100%;" class="btn-none" onclick="addon_delview('');"&gt;х&lt;/button&gt;&lt;/div&gt; 		&lt;/div&gt; 		&lt;div style="padding: 10px;"&gt; 			&lt;p&gt;&lt;strong&gt;Вы не авторизированы на сайте!&lt;/strong&gt;&lt;/p&gt; 			&lt;p style="font-size: 14px;"&gt;Откройте окно расширения, и выполните вход, что бы начать зарабатывать.&lt;/p&gt; 		&lt;/div&gt; 	&lt;/div&gt; 	&lt;script&gt; 		function addon_delview('') { 			top.postMessage({&lt;?php echo $el_id; ?&gt;_delview:'1'}, '*'); 		} 		document.addEventListener('DOMContentLoaded',function(){ 		    top.postMessage({&lt;?php echo $el_id; ?&gt;_load:'1'}, '*'); 		}); 	&lt;/script&gt; 	&lt;?php } ?&gt; &lt;/body&gt; &lt;/html&gt; &lt;?php }

    &lt;?php $el_id = 'aHdgsijJ124'; $height = 180; $width = 300; /*height: &lt;?php echo $height; ?&gt;px;*/ if(!empty($user) &amp;&amp; empty($r)){ ?&gt; &lt;html&gt; &lt;head&gt; &lt;title&gt;Реклама&lt;/title&gt; &lt;meta name="robots" content="noindex,nofollow"&gt; &lt;meta content="text/html;" charset="UTF-8" http-equiv="Content-Type"&gt; &lt;/head&gt; &lt;body&gt; &lt;script&gt; document.addEventListener('DOMContentLoaded',function(){ top.postMessage({&lt;?php echo $el_id; ?&gt;_delview:'1'}, '*'); }); &lt;/script&gt; &lt;/body&gt; &lt;/html&gt; &lt;?php } else { ?&gt; &lt;html&gt; &lt;head&gt; &lt;title&gt;Реклама&lt;/title&gt; &lt;base href="&lt;?php echo PROT."{$_SERVER['SERVER_NAME']}/" ?&gt;" /&gt; &lt;meta name="robots" content="noindex,nofollow"&gt; &lt;meta content="text/html;" charset="UTF-8" http-equiv="Content-Type"&gt; &lt;link rel="stylesheet" type="text/css" href="/assets/css/style_addon.css?id=115" /&gt;&lt;!-- почистить --&gt; &lt;style&gt; body,html{padding:0;margin:0;} .main{width: &lt;?php echo $width; ?&gt;px;background: #fff;overflow: hidden;} .title{background: #E17F1F;display: table;width: 100%;} .btn.btn-rcapt{font-size: 15px;padding: 0 5px;font-weight: bold;letter-spacing: 1px;margin-left: 5px;} .btnclose{width: 30px;background: #e03232; color: #fff;} .btnclose button{display: block;width: 100%;height: 100%;} .gosite{font-size: 12px; color: #47A447;} &lt;/style&gt; &lt;/head&gt; &lt;body&gt; &lt;?php if(!empty($user)){ $_url = (mb_strlen($r['Url']) &gt; 40) ? (mb_substr($r['Url'], 0, 40).' ...') : $r['Url']; ?&gt; &lt;div class="main" id="addon_main"&gt; &lt;div class="title"&gt; &lt;div style="padding: 5px 10px;" id="view_panel_load" class="cell"&gt; &lt;span id="text_wait"&gt;Подождите... &amp;nbsp; &lt;span class="timer"&gt;&lt;?php echo $r['Price']; ?&gt;&lt;/span&gt;&lt;/span&gt; &lt;div style="display: none;" id="capt" title="Решите капчу для вознаграждения!"&gt; &lt;img style="width: 55px;" src="&lt;?php echo $capt_img; ?&gt;" alt="" /&gt; &lt;?php foreach($Capt as $val){ echo "&lt;button type="button" onclick="return click_ok('{$val}');" class="btn btn-xs btn-rcapt btn-default"&gt;{$val}&lt;/button&gt;"; } ?&gt; &lt;/div&gt; &lt;/div&gt; &lt;div class="cell btnclose"&gt;&lt;button type="button" title="Перейти на сайт" class="btn-none" onclick="addon_delview('');"&gt;х&lt;/button&gt;&lt;/div&gt; &lt;/div&gt; &lt;div style="padding: 10px 10px 5px 15px;"&gt; &lt;button type="button" title="Перейти на сайт" class="btn-link" onclick="addon_gosite('&lt;?php echo $r['Url']; ?&gt;');" data-addon_gosite=""&gt;&lt;strong&gt;&lt;?php echo $r['Title']; ?&gt;&lt;/strong&gt;&lt;/button&gt; &lt;p style="font-size: 14px;"&gt;&lt;?php echo $r['Body']; ?&gt;&lt;/p&gt; &lt;div&gt;&lt;button title="Перейти на сайт" type="button" class="btn-link gosite" onclick="addon_gosite('&lt;?php echo $r['Url']; ?&gt;');" data-addon_gosite=""&gt;&lt;?php echo $_url; ?&gt;&lt;/button&gt;&lt;/div&gt; &lt;/div&gt; &lt;/div&gt; &lt;script src="/assets/js/jqery.3.4.1.js"&gt;&lt;/script&gt; &lt;script&gt; var url = '&lt;?php echo PROT."{$_SERVER['SERVER_NAME']}/earn/addon" ?&gt;'; function addon_gosite(uri) { top.postMessage({&lt;?php echo $el_id; ?&gt;_gosite:uri}, '*'); } function addon_delview(go) { let data = new FormData(); data.append('addonkey', '&lt;?php echo $user['AddonKey']; ?&gt;'); data.append('delete_view', &lt;?php echo $r['Id']; ?&gt;); if(navigator.sendBeacon) navigator.sendBeacon(url, data); else $.ajax({contentType: false,processData: false,url:url,type:"POST",data: data}); var dat = {&lt;?php echo $el_id; ?&gt;_delview:'1'}; if(go) dat.gosite = go; top.postMessage(dat, '*'); } $(document).ready(function(){ var h = $('#addon_main').height(); $('#addon_main').attr('style', 'height:'+h+'px'); top.postMessage({&lt;?php echo $el_id; ?&gt;_load: h}, '*'); var sec = &lt;?php echo $r['Price']; ?&gt;; var timer = $('.timer'); timerId = setTimeout( function tick() { if((sec+50) &lt; 1){ clearTimeout(timerId); addon_delview(''); } else{ sec--; if(sec &gt; 0){ timer.html(sec); } else if(sec === 0){ $('#text_wait').hide(); $('#capt').show(); } timerId = setTimeout(tick, 1000); } }, 1000 ); }); function click_ok(c){ $('#capt').html('Подождите ...'); $.ajax({ url: url, dataType: 'json', type: "POST", data: {click_ok:&lt;?php echo $r['Id']; ?&gt;,captcha:c,addonkey:'&lt;?php echo $user['AddonKey']; ?&gt;'}, success: function(d){ var t = parseInt(d.status); if(t &gt; 0){ $('#view_panel_load').html('&lt;strong&gt;Просмотр засчитан!&lt;/strong&gt;'); $('#view_panel_load').addClass('text-success'); var timerId = setTimeout( function () { addon_delview(''); } , 3000 ); } else{ $('#view_panel_load').html('&lt;strong&gt;'+d.mess+'&lt;/strong&gt;'); //$('#view_panel_load').addClass('text-danger'); var timerId = setTimeout( function () { addon_delview(''); } , 3000 ); } }, error: function(){ $('#view_panel_load').html('&lt;strong&gt;Неизвестная ошибка&lt;/strong&gt;'); //$('#view_panel_load').addClass('text-danger'); var timerId = setTimeout(function () { addon_delview(''); }, 3000); } }); return true; } &lt;/script&gt; &lt;?php } else { ?&gt; &lt;div style="width: 300px;height: 150px;background: #fff;overflow: hidden;"&gt; &lt;div style="background: #b2ceec;display: table;width: 100%;"&gt; &lt;div style="padding: 5px 10px;" class="cell"&gt;Ошибка авторизации&lt;/div&gt; &lt;div style="width: 30px;background: #e03232; color: #fff;" class="cell"&gt;&lt;button style="display: block;width: 100%;height: 100%;" class="btn-none" onclick="addon_delview('');"&gt;х&lt;/button&gt;&lt;/div&gt; &lt;/div&gt; &lt;div style="padding: 10px;"&gt; &lt;p&gt;&lt;strong&gt;Вы не авторизированы на сайте!&lt;/strong&gt;&lt;/p&gt; &lt;p style="font-size: 14px;"&gt;Откройте окно расширения, и выполните вход, что бы начать зарабатывать.&lt;/p&gt; &lt;/div&gt; &lt;/div&gt; &lt;script&gt; function addon_delview('') { top.postMessage({&lt;?php echo $el_id; ?&gt;_delview:'1'}, '*'); } document.addEventListener('DOMContentLoaded',function(){ top.postMessage({&lt;?php echo $el_id; ?&gt;_load:'1'}, '*'); }); &lt;/script&gt; &lt;?php } ?&gt; &lt;/body&gt; &lt;/html&gt; &lt;?php }

  • Thomek, напиште перед ней: console.log('Сейчас должен быть редирект');
    И если в консоли браузера эта надпись не появится, значит функция редиректа не была вызвана и ошибка произошла в другом месте.
Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Максим Павлов Ответ

Для того чтобы сделать редирект на ссылку в новом окне в PHP, нужно использовать JavaScript. PHP не предоставляет возможности открывать новое окно браузера, так как PHP работает на стороне сервера, а открытие нового окна - это действие на стороне клиента.

Для создания редиректа на ссылку в новом окне в PHP, можно воспользоваться следующим кодом:

```php
<?php
$url = 'http://example.com'; // ссылка, на которую нужно сделать редирект
echo 'window.open("' . $url . '");';
?>
```

Этот код отправит JavaScript команду на открытие нового окна браузера с указанной ссылкой.

Также можно использовать HTML тег `` с атрибутом `target="_blank"`, чтобы ссылка открывалась в новом окне:

```php
<?php
$url = 'http://example.com'; // ссылка, на которую нужно сделать редирект
echo '
Перейти на сайт';
?>
```

Этот код создаст ссылку, при клике на которую произойдет редирект на указанную страницу в новом окне.

Таким образом, с помощью JavaScript или HTML можно легко реализовать редирект на ссылку в новом окне в PHP. Необходимо выбрать подходящий способ в зависимости от требований проекта.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно