Я пытаюсь создать программу, которая хранит случайные числа в моей базе данных.
Я использую pushbutton
, что каждый раз, когда я нажимаю на него, он генерирует случайное число.
Я запустил код на ESP32, и он отлично работает.Проблема в том, что PHP не распознает переменную, он выглядит так:
Неопределенный индекс: randNumber в C: \ wamp64 \ www \ tentativa \ random.php в строке 5
код Arduino
#include <SPI.h>
#include <WiFi.h>
#include <WiFiClient.h>
#include <WiFiServer.h>
#include <WiFiUdp.h>
const char ssid[] = "Baja Preto";
const char psw[] = "seucosta123";
const int http_port = 80;
const char* http_site = "http://mycomputer";
IPAddress server(192,168,0,15);
WiFiClient client;
int switchState = 0;
int randNumber;
void setup() {
delay(3000);
Serial.begin(9600);
Serial.println("Gravando dados no DB via PHP");
Serial.println("Aguardando conexão");
WiFi.begin(ssid, psw);
while ( WiFi.status() != WL_CONNECTED) {
delay(100);
Serial.print(".");
}
Serial.print("\nWIFI conectado com sucesso: ");
Serial.println(ssid);
pinMode(14, INPUT);
}
void loop() {
switchState = digitalRead(14);
if (switchState == HIGH)
{
randNumber = random(300);
delay(500);
Serial.println(randNumber);
Serial.println("Gravando dados no BD: ");
// Envio dos dados do sensor para o servidor via GET
if ( !getPage((int)randNumber)) {
Serial.println("GET request failed");
}
}
}
bool getPage(int randNumber) {
if (!client.connect(server, http_port)) {
Serial.println("Falha na conexao com o site: ");
return false;
}
String param = "?randNumber=" + String(randNumber);
Serial.println(param);
client.println("GET localhost/tentativa/random.php" + param + " HTTP/1.1");
client.println("Host: ");
client.println(http_site);
client.println("Connection: close");
while (client.available()) {
String line = client.readStringUntil('\r');
Serial.print(line);
}
return true;
}
код PHP
<?php
#$randNumber = filter_input(INPUT_GET, 'randNumber',
FILTER_SANITIZE_NUMBER_FLOAT);
$randNumber = filter_var ( $_GET['randNumber'], FILTER_SANITIZE_NUMBER_INT );
if (is_null($randNumber)) {
//Gravar log de erros
die("Dados inválidos");
}
$conn = new mysqli("127.0.0.1", "root", "root", "espdata");
if ($conn->connect_error) {
die("Não foi possivel estabelecer conexao com o BD:" . $conn-
>connect_error);
}
$sql="INSERT into esptable (id, sensor) VALUES (0, $randNumber)";
mysqli_query($conn, $sql);
?>