Я пытаюсь создать в PHP оператор, который будет отображать всплывающее окно опроса обезьян на главной странице сайта, а не на других страницах.
Я попробовал приведенный ниже код и различные его варианты, чтобы попытаться заставить его работать. Я могу добавить всплывающее окно ко всему сайту, просто поместив элемент на сайт, но когда я пытаюсь сделать так, чтобы он появлялся только на главной странице, ничего не появляется вообще.
Я пробовал использовать только один ‘echo’ вместо того, чтобы разделить его на три, а также использовать /index.php вместо /.
<?php
if ($_SERVER["SCRIPT_NAME"] == '/') {
echo '<script>';
echo '(function(t,e,s,o){var n,a,c;t.SMCX=t.SMCX||[],e.getElementById(o)||(n=e.getElementsByTagName(s),a=n[n.length-1],c=e.createElement(s),c.type="text/javascript",c.async=!0,c.id=o,c.src=["https:"===location.protocol?"https://":"http://","widget.surveymonkey.com/collect/website/js/tRaiETqnLgj758hTBazgd_2Fw5nxAtNDAAqLsYqzVv_2FShi5yryjY3psD6EYInvUCYX.js"].join(""),a.parentNode.insertBefore(c,a))})(window,document,"script","smcx-sdk");';
echo '</script>';
}
?>
Я нашел здесь несколько похожих вопросов, но ни один из них не подходит для моей ситуации. Я также опробовал некоторые из их рекомендаций, но они, похоже, не работают.
Любая помощь будет принята с благодарностью, я чувствую, что это что-то очень простое, и я просто усложняю дела. Надеюсь, я предоставил достаточно информации для всех вас!
PHP решение:
$active_location = $_SERVER['HTTP_HOST'].$_SERVER["REQUEST_URI"];
$host_name = $_SERVER['HTTP_HOST'];
if ($active_location == $host_name || $active_location == $host_name.'/'){
//stuff you want to do
}
$active_location
вернет текущий полный URL без ssl-сертификации $host_name
даст имя хоста без ssl. если они одинаковы, код будет работать.
OR (||)
Statemant потому, что в некоторых случаях домашняя страница будет иметь /
если вы не видите этого, если вы не поставите отметку, код не будет запущен в некоторых случаях.
Других решений пока нет …