«Неопределенный индекс» с ESP32, + PHP + MySQL - PullRequest
0 голосов
/ 13 июня 2018

Я пытаюсь создать программу, которая хранит случайные числа в моей базе данных.

Я использую 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);
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...