如何在不刷新网页的情况下打印PHP?

如何在不刷新网页的情况下打印PHP?,php,python,jquery,ajax,apache,Php,Python,Jquery,Ajax,Apache,首先,感谢所有的建议。 因此,我有一个php,名为sys.php,还有一个python程序,名为button.py,如果我按下其中一个按钮,网页就会打印出来,无论GPIO是低还是高。现在这个工作非常完美,现在我想达到这个目标,它可以在不刷新网页的情况下获取信息,我如何才能真正做到这一点?我听说过Ajax和JQuery,但我知道它是如何工作的 这里是sys.php,其中一些片段是用匈牙利语编写的,因为我来自那里,希望不会打扰您 <html lang="hu"> <head>

首先,感谢所有的建议。 因此,我有一个php,名为sys.php,还有一个python程序,名为button.py,如果我按下其中一个按钮,网页就会打印出来,无论GPIO是低还是高。现在这个工作非常完美,现在我想达到这个目标,它可以在不刷新网页的情况下获取信息,我如何才能真正做到这一点?我听说过Ajax和JQuery,但我知道它是如何工作的

这里是sys.php,其中一些片段是用匈牙利语编写的,因为我来自那里,希望不会打扰您

<html lang="hu">
<head>
<title>Project</title>
<meta charset="UTF-8">
<link rel="icon" href="logo.jpg" type="image/gif" sizes="16x16">
 <link rel="stylesheet" type="text/css" href="projekt.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>

<script>

</script>

</head>
<body>

<p class="small"><big>Project</big></p>
<p class="ex2">Choose GPIO </p>
<table style="width:95%">
  <tr>
    <td><form method="post"><input type="submit" value="GPIO 7" name="GPIO7"></form></td>
    <td><form method="post"><input type="submit" value="GPIO 8" name="GPIO8"></form></td>
        <td><form method="post"><input type="submit" value="GPIO 10" name="GPIO10"></form></td>
        <td><form method="post"><input type="submit" value="GPIO 11" name="GPIO11"></form></td>
        <td><form method="post"><input type="submit" value="GPIO 12" name="GPIO12"></form></td>
        <td><form method="post"><input type="submit" value="GPIO 13" name="GPIO13"></form></td>
        <td><form method="post"><input type="submit" value="GPIO 15" name="GPIO15"></form></td>
        <td><form method="post"><input type="submit" value="GPIO 16" name="GPIO16"></form></td>
        <td><form method="post"><input type="submit" value="GPIO 18" name="GPIO18"></form></td>
        <td><form method="post"><input type="submit" value="GPIO 19" name="GPIO19"></form></td>
        <td><form method="post"><input type="submit" value="GPIO 21" name="GPIO21"></form></td>
        <td><form method="post"><input type="submit" value="GPIO 22" name="GPIO22"></form></td>
        </tr>
        <tr>
        <td><form method="post"><input type="submit" value="GPIO 23" name="GPIO23"></form></td>
        <td><form method="post"><input type="submit" value="GPIO 24" name="GPIO24"></form></td>
        <td><form method="post"><input type="submit" value="GPIO 26" name="GPIO26"></form></td>
        <td><form method="post"><input type="submit" value="GPIO 29" name="GPIO29"></form></td>
        <td><form method="post"><input type="submit" value="GPIO 31" name="GPIO31"></form></td>
        <td><form method="post"><input type="submit" value="GPIO 32" name="GPIO32"></form></td>
        <td><form method="post"><input type="submit" value="GPIO 33" name="GPIO33"></form></td>
        <td><form method="post"><input type="submit" value="GPIO 35" name="GPIO35"></form></td>
        <td><form method="post"><input type="submit" value="GPIO 36" name="GPIO36"></form></td>
        <td><form method="post"><input type="submit" value="GPIO 37" name="GPIO37"></form></td>
        <td><form method="post"><input type="submit" value="GPIO 38" name="GPIO38"></form></td>
        <td><form method="post"><input type="submit" value="GPIO 40" name="GPIO40"></form></td>
        </tr>
</table>

<div id="demo">
<?php
                if(isset($_POST['GPIO7']))
        {
                $output=exec("sudo python /var/www/html/gomb.py '7' ");
        echo "<pre>A GPIO értéke: ";
                print_r($output);
        echo ".</pre>";
        }
                elseif(isset($_POST['GPIO8']))
        {
                $output=exec("sudo python /var/www/html/gomb.py '8' ");
        echo "<pre>A GPIO értéke: ";
                print_r($output);
        echo ".</pre>";
        }
                elseif(isset($_POST['GPIO10']))
        {
                $output=exec("sudo python /var/www/html/gomb.py '10' ");
        echo "<pre>A GPIO értéke: ";
                print_r($output);
        echo ".</pre>";
        }
                elseif(isset($_POST['GPIO11']))
        {
                $output=exec("sudo python /var/www/html/gomb.py '11' ");
        echo "<pre>A GPIO értéke: ";
                print_r($output);
        echo ".</pre>";
        }
                elseif(isset($_POST['GPIO12']))
        {
                $output=exec("sudo python /var/www/html/gomb.py '12' ");
        echo "<pre>A GPIO értéke: ";
                print_r($output);
        echo ".</pre>";
        }
                elseif(isset($_POST['GPIO13']))
        {
                $output=exec("sudo python /var/www/html/gomb.py '13' ");
        echo "<pre>A GPIO értéke: ";
                print_r($output);
        echo ".</pre>";
        }
                elseif(isset($_POST['GPIO15']))
        {
                $output=exec("sudo python /var/www/html/gomb.py '15' ");
        echo "<pre>A GPIO értéke: ";
                print_r($output);
        echo ".</pre>";
        }
                elseif(isset($_POST['GPIO16']))
        {
                $output=exec("sudo python /var/www/html/gomb.py '16' ");
        echo "<pre>A GPIO értéke: ";
                print_r($output);
        echo ".</pre>";
        }
 elseif(isset($_POST['GPIO18']))
        {
                $output=exec("sudo python /var/www/html/gomb.py '18' ");
        echo "<pre>A GPIO értéke: ";
                print_r($output);
        echo ".</pre>";
        }
                elseif(isset($_POST['GPIO19']))
        {
                $output=exec("sudo python /var/www/html/gomb.py '19' ");
        echo "<pre>A GPIO értéke: ";
                print_r($output);
        echo ".</pre>";
        }
                elseif(isset($_POST['GPIO21']))
        {
                $output=exec("sudo python /var/www/html/gomb.py '21' ");
        echo "<pre>A GPIO értéke: ";
                print_r($output);
        echo ".</pre>";
        }
                elseif(isset($_POST['GPIO22']))
        {
                $output=exec("sudo python /var/www/html/gomb.py '22' ");
        echo "<pre>A GPIO értéke: ";
                print_r($output);
        echo ".</pre>";
        }
 elseif(isset($_POST['GPIO23']))
        {
                $output=exec("sudo python /var/www/html/gomb.py '23' ");
        echo "<pre>A GPIO értéke: ";
                print_r($output);
        echo ".</pre>";
        }
                elseif(isset($_POST['GPIO24']))
        {
                $output=exec("sudo python /var/www/html/gomb.py '24' ");
        echo "<pre>A GPIO értéke: ";
                print_r($output);
        echo ".</pre>";
        }
                elseif(isset($_POST['GPIO26']))
        {
                $output=exec("sudo python /var/www/html/gomb.py '26' ");
        echo "<pre>A GPIO értéke: ";
                print_r($output);
        echo ".</pre>";
        }
                elseif(isset($_POST['GPIO27']))
        {
                $output=exec("sudo python /var/www/html/gomb.py '27' ");
        echo "<pre>A GPIO értéke: ";
                print_r($output);
        echo ".</pre>";
        }
 elseif(isset($_POST['GPIO28']))
        {
                $output=exec("sudo python /var/www/html/gomb.py '28' ");
        echo "<pre>A GPIO értéke: ";
                print_r($output);
        echo ".</pre>";
        }
                elseif(isset($_POST['GPIO29']))
        {
                $output=exec("sudo python /var/www/html/gomb.py '29' ");
        echo "<pre>A GPIO értéke: ";
                print_r($output);
        echo ".</pre>";
        }
                elseif(isset($_POST['GPIO31']))
        {
                $output=exec("sudo python /var/www/html/gomb.py '31' ");
        echo "<pre>A GPIO értéke: ";
                print_r($output);
        echo ".</pre>";
        }
                elseif(isset($_POST['GPIO32']))
        {
                $output=exec("sudo python /var/www/html/gomb.py '32' ");
        echo "<pre>A GPIO értéke: ";
                print_r($output);
        echo ".</pre>";
        }
    elseif(isset($_POST['GPIO33']))
        {
                $output=exec("sudo python /var/www/html/gomb.py '33' ");
        echo "<pre>A GPIO értéke: ";
                print_r($output);
        echo ".</pre>";
        }
                elseif(isset($_POST['GPIO35']))
        {
                $output=exec("sudo python /var/www/html/gomb.py '35' ");
        echo "<pre>A GPIO értéke: ";
                print_r($output);
        echo ".</pre>";
        }
                elseif(isset($_POST['GPIO36']))
        {
                $output=exec("sudo python /var/www/html/gomb.py '36' ");
        echo "<pre>A GPIO értéke: ";
                print_r($output);
        echo ".</pre>";
        }
                elseif(isset($_POST['GPIO37']))
        {
                $output=exec("sudo python /var/www/html/gomb.py '37' ");
        echo "<pre>A GPIO értéke: ";
                print_r($output);
        echo ".</pre>";
        }
                elseif(isset($_POST['GPIO38']))
        {
                $output=exec("sudo python /var/www/html/gomb.py '38' ");
        echo "<pre>A GPIO értéke: ";
                print_r($output);
        echo ".</pre>";
        }
       elseif(isset($_POST['GPIO40']))
        {
                $output=exec("sudo python /var/www/html/gomb.py '40' ");
        echo "<pre>A GPIO értéke: ";
                print_r($output);
        echo ".</pre>";
        }
?>
 </body>


</html>

我的建议是编写一个javascript函数,异步向Web服务器请求新信息。如果有,您可以操纵DOM以适应新信息

要做到这一点,您的php代码需要在一个单独的文件中,因为AJAX只能调用整个脚本。让我们称之为“code.php”

在HTML中,您需要一个地方来写入javascript中的值

HTML:

DOM操作:


Ajax:

您好,您将不得不使用Ajax,它与您的python实现几乎没有关系:我建议您看看这个
#!/usr/bin/env python

import sys
import RPi.GPIO as GPIO

var=int(sys.argv[1])
GPIO.setmode(GPIO.BOARD)
GPIO.setup(var, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
print(GPIO.input(var))
<p id="output"></p>
setInterval(myMethod, 1000);

function myMethod( )
{
  //this function will be called every second

  //now you can asynchronously ask the server
  $.ajax({ url: '/path/to/your/code.php',
         type: 'post',
         success: function(output) {
                      //this function is called when the php script finished executing
                      //'output' is your new data
                      //now you can write it into the HTML
                      document.getElementById('output').innerHTML = output;
                  }
  });
}