Member 14860285 Ответов: 1

Показать или скрыть кнопку с другой страницы


у меня есть одна страница (select.php) и мне нужно, чтобы div был показан или скрыт на другой странице (output.php) когда я нажимаю кнопку (в select.php) но без загрузки какой-либо из двух страниц.

(чтобы лучше понять это: обе страницы открыты одновременно (в разных браузерах, но на одной машине), на странице select.php я выбираю какое правило вывода мне нужно показать и на странице output.php эта информация отображается, проблема в том, что одно из правил-это таблица с автопрокруткой, поэтому я не могу перезагружать страницу каждую секунду, потому что вся информация в таблице не отображается. Я попробовал следующий код, но он не работает для меня из-за того, что я сказал раньше:

Что я уже пробовал:

output.php
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>


<div id="reload"></div>

<script>

$(document).ready(function() {
      var refreshId =  setInterval( function(){
    $('#reload').load('includes/outputsetup.php');
  }, 1000 );
});

</script>
</body>

</html>

outputsetup.php
<?php
$conectar = mysqli_connect("localhost", "root", "", "ianseo");

$sqlend = "SELECT output, oldout FROM tvoutput";
$resultend = mysqli_query($conectar,$sqlend);

while($mostrar=mysqli_fetch_array($resultend)){
$out1 = $mostrar['output'];
$out2 = $mostrar['oldout'];
}


if ($out1==1) {
  include '../finales/scoreboard.php';
}
if ($out1==2) {
  include '../finales/parquero1.php';
}
if ($out1==3) {
  include '../finales/parquero2.php';
}
if ($out1==4) {
  include '../finales/brackets.php';
}
?>

select.php
In this page i have a form with which I send to the database what I want to show

F-ES Sitecore

Вероятно, это будет зависеть от того, как вы открываете страницы в браузерах и есть ли что-то общее для сеансов браузера, что вы можете использовать, как вошедший в систему пользователь. Если вы ссылаетесь на одну страницу с другой вы можете указать целевое имя и ссылаться на документ во втором окне под этим именем;

<a href="..." target="mySecondPage">

1 Ответов

Рейтинг:
2

Dave Kreskowiak

Если у вас есть что-то в двух вкладках браузера, они не знают друг о друге. Сервер тоже ничего о них не знает. С таким же успехом они могут быть одной закладкой на земле, а другой-на Луне.

Как только сервер отправляет визуализированный HTML-код в браузер, он забывает, что запрос вообще был сделан. Между страницей и сервером нет никакой связи. HTTP работает как система запроса/ответа. Браузер запрашивает страницу, а сервер отправляет ее обратно и переходит к следующему запросу.

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