У меня есть малина pi, которая открывает веб-страницу при загрузке. Загрузка этой страницы включает в себя страницу php, которая прослушивает порт udp для ввода. Когда вход получен, я хочу загрузить другую страницу, но у меня возникают проблемы с этим.показать html перед запуском кода php
Вот index.html
<html style="background-color:#0085b3;">
<body>
<img src="bg.jpg"/>
<div id="content"></div>
</body>
<script src="scripts/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("#content").load("udp.php");
});
</script>
</html>
и udp.php
<?php
session_start();
$socket = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
socket_bind($socket, '10.10.10.25', 5000);
$from = '';
$port = 0;
socket_recvfrom($socket, $buf, 12, 0, $from, $port);
$buf = preg_replace('/\s+/', '', $buf);
$conn = null;
socket_close($socket);
die("<script>location.href = 'http://10.10.10.20/main.php'</script>");
?>
Что происходит, что функция умирает вторит на малину и браузер не загружает веб-страницы main.php файл
Я попытался использовать одну страницу php для отображения изображения, а затем прослушать вход, но PHP-код запускается сразу и отображает html только после получения некоторого ввода.
index.php
<?php
echo '<html style="background-color:#0085b3;">';
echo '<body>';
echo '<img src="bg.jpg"/>';
echo '</body>';
echo '</html>';
session_start();
$socket = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
socket_bind($socket, '10.10.10.25', 5000);
$from = '';
$port = 0;
socket_recvfrom($socket, $buf, 12, 0, $from, $port);
$buf = preg_replace('/\s+/', '', $buf);
$conn = null;
socket_close($socket);
die("<script>location.href = 'http://localhost/plc/main.php'</script>");
?>
Почему вы так перенаправляетесь? почему бы не использовать 'header (location:); умереть(); '? –
Epodax
использовать метод sleep() Я думаю, что буду работать –
PHP-код всегда запускается всегда и должен завершиться, нет никакого способа обойти его - http://stackoverflow.com/questions/10877399/php-html-javascript-execution-order – Tasos