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