CSS 和 PHP 运行 exec 和 return 到原始页面
CSS and PHP to run exec and return to original page
有点网络编码的新手,我正在尝试实现一些简单的事情:
显示一个带有大按钮图像的页面,单击时,它将在我的 Raspberry Pi 上执行一个简单的命令行。执行完成后,我想 return 到同一页面准备再次按下按钮。
所以,我正在使用以下内容:
<?php
if(isset($_GET['trigger']) && $_GET['trigger'] == 1)
{
error_reporting(E_ALL);
exec('<something>');
usleep(1000000);
exec('<something>');
header("Location: push.php");
exit;
}
?>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css">
<script src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
<script src="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js"></script>
<link href="style.css" rel="stylesheet" type="text/css" media="screen" />
</head>
<body>
<div id="container">
<a href='push.php?trigger=1' class="btn"></a>
</div>
</body>
</html>
这有效,但是,在 exec 完成后,浏览器不会重定向回原始页面,或者确实会,但是 url 是:
http://10.0.0.1/push.php?trigger=1
其中有 GET 参数。因此,在我点击浏览器上的后退按钮或刷新按钮之前,我无法再次点击该按钮。
有什么想法...?
一个更优雅的解决方案可能是使用 ajax,我看到您已经有了 jquery,因此您可以包含一个包含此代码的脚本
var button = $('.btn')
$(document).on('click', '.btn', function(){
button.css('display', 'none');
$.get('push.php?trigger=1', function(){
button.css('display', 'block');
});
});
这将在不关心响应的情况下调用该站点并将执行您的脚本,我建议使用 <button></button>
标记而不是 <a></a>
以避免重定向
如果您想进一步改进您的代码,我会将脚本与 html 分开,并可能使用 POST 而不是 GET
来调用它
有点网络编码的新手,我正在尝试实现一些简单的事情: 显示一个带有大按钮图像的页面,单击时,它将在我的 Raspberry Pi 上执行一个简单的命令行。执行完成后,我想 return 到同一页面准备再次按下按钮。
所以,我正在使用以下内容:
<?php
if(isset($_GET['trigger']) && $_GET['trigger'] == 1)
{
error_reporting(E_ALL);
exec('<something>');
usleep(1000000);
exec('<something>');
header("Location: push.php");
exit;
}
?>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css">
<script src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
<script src="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js"></script>
<link href="style.css" rel="stylesheet" type="text/css" media="screen" />
</head>
<body>
<div id="container">
<a href='push.php?trigger=1' class="btn"></a>
</div>
</body>
</html>
这有效,但是,在 exec 完成后,浏览器不会重定向回原始页面,或者确实会,但是 url 是:
http://10.0.0.1/push.php?trigger=1
其中有 GET 参数。因此,在我点击浏览器上的后退按钮或刷新按钮之前,我无法再次点击该按钮。
有什么想法...?
一个更优雅的解决方案可能是使用 ajax,我看到您已经有了 jquery,因此您可以包含一个包含此代码的脚本
var button = $('.btn')
$(document).on('click', '.btn', function(){
button.css('display', 'none');
$.get('push.php?trigger=1', function(){
button.css('display', 'block');
});
});
这将在不关心响应的情况下调用该站点并将执行您的脚本,我建议使用 <button></button>
标记而不是 <a></a>
以避免重定向
如果您想进一步改进您的代码,我会将脚本与 html 分开,并可能使用 POST 而不是 GET
来调用它