【问题标题】:html array passed to python script via phphtml数组通过php传递给python脚本
【发布时间】:2017-01-27 19:32:28
【问题描述】:

我尝试通过 php 部分将数组中的 html 输入中的数据传递给 python 脚本。该脚本在按钮单击时执行,并将其参数写入 txt 文件。

html部分:

<input type="number" id="Uhrzeit_mo" name="day[]" value="" Maxlength="5" size="4">
<a href="?id=schedule" target="_parent"><button>Senden</button></a>

php部分:

<?php
if (isset($_GET["id"])) {
    $id = $_GET["id"];
    if($id == "button_on") {
        shell_exec("sudo /var/www/gpiotest2.py 3");
    } elseif($id == "schedule") {
        $day = $_POST['day'][0];
        $day2 = 6;
        shell_exec("sudo /var/www/params.py {$day} {$day2}");
    }
}
?>

如果执行,第一个条件语句可以正常工作。第二个没有。 $day 不会被写入文本文件,我不知道为什么。

关于更好调试的附加问题:有没有办法重定向错误消息,因为当通过按钮单击触发脚本时,我的 putty 终端保持为空。顺便说一句,scipt 本身工作正常。 非常感谢!

【问题讨论】:

  • 告诉我们 - 有什么区别?
  • 您在这段代码中没有任何地方试图将任何内容写入文本文件。
  • 它是在 python 脚本 shell_exec("sudo /var/www/params.py {$day} {$day2}"); 中完成的,如果我通过 python /var/www/params.py arg1 arg2 在 shell 终端上执行该确切的 python 脚本,它工作正常。如果我替换 $day = $_POST['day'][0];by ,它甚至可以正常工作,例如$day = 5;

标签: php python html arrays


【解决方案1】:

您在此行中的 MaxLength 附近缺少引号: &lt;input type="time" id="Uhrzeit_mo" name="day[]" value="10:00" Maxlength=5" size="4"&gt;

这肯定会改变变量中传递的内容。

至于在 PHP 中。在第二个条件中,添加一个带有警告框的“else”语句,其中显示变量的值是什么。看来你没有得到你认为你得到的价值。

【讨论】:

  • 谢谢,对不起,我复制了错误的行 &lt;input type="number" id="Uhrzeit_mo" name="day[]" value="" Maxlength="5" size="4"&gt; 并输入例如2 也不起作用。
猜你喜欢
  • 1970-01-01
  • 2019-06-11
  • 1970-01-01
  • 1970-01-01
  • 2018-02-23
  • 2011-01-23
  • 2019-07-07
  • 2016-03-29
  • 2018-10-03
相关资源
最近更新 更多