verfaßt von MagicBird, Berlin, 16.07.2022, 10:05:57
Hallo Forum,
meine rf_receive.php hat immer noch das Problem beim Update vom status mit dem offcode.
<?php
include "error.php";
require_once '../include/config.include.php';
require_once '../include/mysql_connect.include.php';
require_once '../include/mqtt_connect.include.php';
require_once '../include/date_time.include.php';
require "../vendor/autoload.php";
if ($_GET['rxcode'] == true) {
$statement = $pdo->prepare("SELECT * FROM $controltbl WHERE oncode = :oncode OR offcode = :offcode");
$statement->execute(array('oncode' => $_GET['rxcode'], 'offcode' => $_GET['rxcode']));
$anzahl_user = $statement->rowCount();
while($row = $statement->fetch()) {
if ($_GET['rxcode'] == $row['oncode']) {
$mqtt = new \PhpMqtt\Client\MQTTClient($server, $port, $clientId);
$mqtt->connect();
$mqtt->publish($row['mqtt_msg'] ,$row['mqtt_status_on'] , $row['mqtt_qos']);
$mqtt->close();
$sql = "UPDATE $controltbl SET status = '1' WHERE oncode = ".$_GET['rxcode']."";
$pdo->exec($sql);
$sql = "INSERT INTO $recievedtbl (id, codecs, date, time) VALUES (NULL, '".$_GET['rxcode']."', '$date', '$time')";
$pdo->exec($sql);
print "1";
}
else if ($_GET['rxcode'] == $row['offcode']) {
$mqtt = new \PhpMqtt\Client\MQTTClient($server, $port, $clientId);
$mqtt->connect();
$mqtt->publish($row['mqtt_msg'] , $row['mqtt_status_off'], $row['mqtt_qos']);
$mqtt->close();
$sql = "UPDATE $controltbl SET status = '0' WHERE offcode = ".$_GET['rxcode']."";
$pdo->exec($sql);
$sql = "INSERT INTO $recievedtbl (id, codecs, date, time) VALUES (NULL, '".$_GET['rxcode']."', '$date', '$time')";
$pdo->exec($sql);
print "2";
}
else { }
}
}
else {
echo "Digga rxcode Variable setzten!";
}
if ($anzahl_user == '0') {
$sql = "INSERT INTO $unknowtbl (id, code, date, time) VALUES (NULL, '".$_GET['rxcode']."', '$date', '$time')";
$pdo->exec($sql);
print "3";
}
require_once '../include/mysql_disconnect.include.php';
?>
wenn ich http://192.168.5.90/smarthome/auswerten/rf_receive.php?rxcode=4457812 anfüge wird dieser auch in die tbl geschrieben für empfangenem Code aber der Status wird nicht geändert. Mit Print sehe ich welchen Teil das Script welche abfolge durchlaufen ist On/Off.
danke Lars
gesamter Thread: