У меня проблема со сравнением 2 значений и изменение значения 1 в операторе if. Но, конечно, когда я перезагружаю страницу, он снова забирает первое значение. Я использую этот код для установки некоторой информации в базе данных, когда машина включена или выключена.Сравнение проблем со значениями php
$urlMachineON = 'http://192.168.0.150/awp/Shredder/PLCfiles/IOmachineActive.html';
// get content
$contentMachineON = file_get_contents($urlMachineON);
//remove first 2 characters
$truncate = substr($contentMachineON, 2);
//remove last 5 characters
$MachineOn = substr($truncate, 0, -5);
//MachineON can only be 1 or 0
$currentState = 2;
if ($MachineOn != $currentState)
{
$stmt = $conn->prepare("INSERT INTO machineactiviteit (Time, MachineStatus) VALUES(NOW(), ?)");
$stmt->bind_param('s', $MachineOn);
if ($stmt->execute() === TRUE)
{
$currentState = $MachineOn;
echo 'success';
}
else
{
echo $conn->error;
}
$stmt->close();
}
elseif($MachineOn == $currentState)
{
echo 'do nothing';
}
Так что, когда я делаю это, он всегда будет использовать, если заявление, так как $currentState
и $MachineOn
всегда отличаются друг от друга. В C# у вас есть что-то вроде инициализации компонента, чтобы установить значение один раз на определенное значение. Но я ничего не нашел об этом в php. Итак, мой вопрос: могу ли я установить значение только один раз? Или я должен решить этот другой путь?
Вот как это должно работать:
первой попытку перед: currentState = 2;
MachineOn = 0;
после: currentState= 0;
MachineOn = 0;
второй попытки перед: currentState= 0;
MachineOn = 0;
после: currentState= 0;
MachineOn = 0;
третьей попытки перед: currentState= 0;
MachineOn = 1;
после: currentState= 1;
MachineOn = 1;
(I может изменить значение MachineOn с помощью кнопки).
PHP полностью без гражданства - каждый раз, когда вы выполняете код, он сбрасывает все, если вы не сохраняете это значение, используя что-то вроде переменной сеанса, файла cookie или какой-либо базы данных. В его нынешнем виде этот код всегда ничего не делает. –
Я думаю, что мне нужно работать с моим запросом базы данных и проверять последний статус машины – Bart