2016-02-22 3 views
0

У меня есть малина 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>"); 
?> 
+0

Почему вы так перенаправляетесь? почему бы не использовать 'header (location: ); умереть(); '? – Epodax

+0

использовать метод sleep() Я думаю, что буду работать –

+0

PHP-код всегда запускается всегда и должен завершиться, нет никакого способа обойти его - http://stackoverflow.com/questions/10877399/php-html-javascript-execution-order – Tasos

ответ

0

PHP будет выполнять первый, а затем HTML и, наконец, JavaScript.

  • Вы отправляете запрос на сервер, сервер выполняет сценарий
  • Затем возвращается визуализации HTML в браузер, браузер анализирует HTML (встроенный Javascript казнены)
  • Наконец выполняет внешний включен JavaScript файлы, один за другим в порядке они включены.
Смежные вопросы