Visualizzazione dei risultati da 1 a 7 su 7

Visualizzazione discussione

  1. #1

    Forward di dati tra due siti diversi

    Salve, anticipo che non sono molto esperto di PHP e HTML.
    Sto cercando di realizzare una pagina web che visualizzi i dati raccolti da alcuni sensori tramite Arduino.
    Ho sottoscritto un servizio di hosting gratuito nel quale ho creato la pagina e il database necessario. Purtroppo non riesco ad inviare direttamente i dati a questa pagina, probabilmente perchè si tratta di un server condiviso ed arduino non gestisce bene la cosa. Per risolvere il problema ho installato Apache /MySQL/PHP su una macchina nella mia rete e qui posso popolare il database. Ho pensato quindi di fare in modo che quando il mio pc riceve i dati li invii a sua volta al server remoto tramite una chiamata GET nello script PHP che uso per inserire i dati nel DB. Inserendo i dati tramite un form HTML tutto funziona regolarmente, quando i dati vengono inviati da Arduino invece finiscono solo nel database locale.
    Sapete darmi una mano? Come fa il server remoto a distinguere i due casi. Ho cercato nei log di Apache ed ho trovato questa differenza: nella richiesta fatta da messaggio Arduino dopo la stringa GET/..... ci sono due codici 302 e 49 seguiti da "-" "-"
    Nella richiesta generata da inserimento dati nel form i codici sono 302 697 seguiti dal nome della pagina php "http://localhost/get_test.html" e da un header "Mozzilla(5.0 (windows NT 10; Win64; x64) ..........."
    Sapete aiutarmi a fare in modo che lo script funzioni in entrambi i casi?
    Grazie in anticipo
    Questo è il codice PHP:
    Codice PHP:
    REPLACE with your Database name
    $dbname 
    "sensor_data";
    // REPLACE with Database user
    $username "username_DB";
    // REPLACE with Database user password
    $password "PWD_DB";

    // Keep this API Key value to be compatible with the ESP32 code provided in the project page. If you change this value, the ESP32 sketch needs to match
    $api_key_value "xxxxxxxxx";
     
    $api_key $value1 $value2 $value3 "";

    foreach(
    getallheaders()as $name=>$value){

    echo
    "$name:$value\n";

    }
     
     
    header("Location: http://aqair.byethost31.com/getdata.php?api_key=xxxxxxxxx&value1=12&value2=13&value3=14&submit_b=");

    if (
    $_SERVER["REQUEST_METHOD"] == "GET") {

        
    $api_key test_input($_GET["api_key"]);

        if(
    $api_key == $api_key_value) {
            
    $value1 test_input($_GET["value1"]);
            
    $value2 test_input($_GET["value2"]);
            
    $value3 test_input($_GET["value3"]);
             
    // Create connection
            
    $conn = new mysqli($servername$username$password$dbname);
            
    // Check connection
            
    if ($conn->connect_error) {
                die(
    "Connection failed: " $conn->connect_error);
            }
            
    $sql "INSERT INTO Sensor (value1, value2, value3)
            VALUES ('" 
    $value1 "', '" $value2 "', '" $value3 "')";

            if (
    $conn->query($sql) === TRUE) {
                echo 
    "New record created successfully";
            }
            else {
                echo 
    "Error: " $sql "<br>" $conn->error;
            }
            
    $conn->close();
        }
        else {

            echo 
    "Wrong API Key provided.";
        }
    }
    else {

        echo 
    "No data posted with HTTP GET.";

    }
    function 
    test_input($data) {
        
    $data trim($data);
        
    $data stripslashes($data);
        
    $data htmlspecialchars($data);
        return 
    $data;

    Ultima modifica di Alhazred; 26-08-2021 a 20:03

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.