【发布时间】:2016-11-19 09:07:28
【问题描述】:
我的 HTML 页面
<html>
<body>
<form action="myScript.php" method="POST">
Enter a transceiver ID:
<br><br>
<input type="text" name="id" >
<br><br>
<input type="submit" value="Submit">
</form>
</body>
我的 PHP 脚本正在我的服务器上运行
<?php
$id_array = array("101");
while(1)
{
if (isset($_POST['id']))
{
$id = $_POST['id'];
echo ("ID is ".$id."\n");
array_push($transceiverID_array, $id);
}
print_r($id_array);
usleep(5000000);
// lot of processing will be done
}
?>
我的 PHP 脚本处于一个永远的 while 循环中。如果我从我的 HTML 页面发布一些数据,我的 PHP 脚本正在做其他事情(这需要相当多的时间),而不一定要处理它正在检查是否设置了来自 HTML 页面的变量的行。因此,即使我从我的 HTML 页面发布了一些内容,由于发布数据和 PHP 脚本在 isset 行上的持续时间很长,我的 PHP 脚本也无法获取数据。
我需要在从 HTML 页面发布的 PHP 脚本中获取变量是否有任何时间限制?有没有更好的方法呢?
此外,在发布后,我的 HTML 页面一直在等待我的 PHP 脚本响应。有什么方法可以停止加载我的 HTML 页面?
【问题讨论】:
-
为什么会有一个while循环?你认为它有什么好处。这个 while 循环将运行“无限”,因为 1 永远为真
-
My PHP script is in a forever while loop.什么?那是行不通的。你需要一个 web.socket 用于 stackoverflow.com/questions/7160899/websocket-client-in-php 和表单中的 ajax 帖子 -
您实际上是使用
while(1)将其置于“永远的while 循环”中。 -
是的,我需要它永远运行。我做错了吗?
-
我认为是因为你在第一次发帖后让它休眠了 5 分钟
标签: javascript php html html-post