Problema download pagina gprs

Ciao ragazzi, sto utilizzando da circa 2 mesi la modalità GPRS del simcom800c, molto simile al 900. Grazie a voi, ho spazzato via molti miei dubbi e risolto moltissimi problemi ma ,purtroppo, è dall’inizio che mi porto un problema molto importante per il funzionamento corretto del sistema. Comincio col dire che non utilizzo nessuna libreria e mando direttamente i comandi AT al dispositivo.

Il mio problema consiste nello scaricamento della pagina in PHP im modo sbagliato, ma se mando i comandi AT in modo singolare la pagina me la scarica in modo corretto. Ho provato a modificare i tempi ma non è cambiato nulla. In allegato alcuni codici sorgenti che vi posso interessare per aiutarmi a risolvere questo importantissimo problema.

Codice pagina “.PHP”:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<style type="text/css">
html, body { font: 14px sans-serif }
</style>
</head>
<body>
  <h1>Sito in costruzione</h1>
  <p>Questo sito è ancora in costruzione</p>
</body>
</html>

<?php
$servername = "localhost";
$username = "";
$password = "";
$dbname = "";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 

$con = new mysqli($servername, $username, $password, $dbname);
$con->query($_GET['input']);

$sql1 = "";
$result = $conn->query($sql1);

if ($result->num_rows > 0) {
    // output data of each row
    while($row = $result->fetch_assoc()) {
      
    }

} else {
    echo "0 results";
}
$conn->close();
?>

Codice dove possiedo il problema:

void controllostato() {
  dat2 = "AT+HTTPPARA=\"URL\",\"http://paginaweb.altervista.org/pagina.php\"";


  if (inviogsm == 1) {
    gprsSerial.println("AT+HTTPINIT");// initialize http service
  }
  if (inviogsm == 100) {
    gprsSerial.println(dati2);
  }
  if (inviogsm == 200) {
    gprsSerial.println("AT+HTTPACTION=0"); //il metodo utilizzato  0 = GET, 1 = POST, 2 = HEAD
    toSerial();
  }
  if (inviogsm == 500) {

    gprsSerial.println("AT+HTTPREAD");  // risposta da parte del server
    toSerial();
  }
  if (inviogsm == 550) {
    gprsSerial.println("");
    gprsSerial.println("AT+HTTPTERM");
    toSerial();
  }
  if (inviogsm == 565) {
    gprsSerial.println("");
  }
  if (inviogsm == 665) {
    inviogsm = 0;
  }
}


void toSerial()
{
  while (gprsSerial.available() != 0)
  {
    Serial.write(gprsSerial.read());

  }
}

Codice dove non possiedo il problema:

#include <SoftwareSerial.h>

#define  SS_RX 50     // RX PIN to receive  data
#define  SS_TX 3      // TX PIN to transmit data

SoftwareSerial ssSerial(SS_RX, SS_TX);

void setup()
{
 delay (2000);
 //
 Serial.begin(19200);        // Initialize USB Serial port
 ssSerial.begin(19200);      // Initialize SoftwareSerial port
 Serial.println("--- Ports ready ---");
}

void loop()
{
 if (ssSerial.available() > 0) Serial.write(ssSerial.read());
 if (Serial.available() > 0) ssSerial.write(Serial.read());
}


void toSerial()
{
 while (ssSerial.available() != 0)
 {
   Serial.write(ssSerial.read());

 }

}