invio massivo dati a file php

AndreaCerre

Utente Attivo
7 Giu 2020
55
0
6
Ciao a tutti, sto creando un portale che gestisce i dati di un sensore arduino. Ho creato questa pagina per simulare l'invio dati alla mia pagina con i controlli e le funzioni di inserimento nel db.
Ora avrei bisogno di provare un invio massivo, ad esempio ogni 3000 millisecondi inviare questi dati e ricaricare la pagina di invio. Inoltre dovrei fare i test con dati diversi ovviamente, è possibile trovare un modo diverso da quello di creare le stringhe ogni volta?

Grazie per chi potrà aiutarmi. Premetto che non me ne intendo per nulla di javascript.

Codice:
<!DOCTYPE html>
<html>
    
    
      <link rel="canonical" href="https://getbootstrap.com/docs/4.5/examples/offcanvas/">
    
    <!-- CSS per icone fontawesome -->
<link rel="stylesheet" type="text/css" href="https://use.fontawesome.com/releases/v5.0.7/css/all.css">

    <!-- Bootstrap core CSS -->
<link href="https://getbootstrap.com/docs/4.5/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-TX8t27EcRE3e/ihU7zmQxVncDAy5uIKz4rEkgIXeMed4M0jlfIDPvg6uqKI2xXr2" crossorigin="anonymous">

    <!-- Favicons -->
<link rel="apple-touch-icon" href="http://www.sitocavour2a.com/IcoCAV2A.png" sizes="180x180">
<link rel="icon" href="http://www.sitocavour2a.com/IcoCAV2A.png" sizes="32x32" type="image/png">
<link rel="icon" href="http://www.sitocavour2a.com/IcoCAV2A.png" sizes="16x16" type="image/png">
<link rel="manifest" href="https://getbootstrap.com/docs/4.5/assets/img/favicons/manifest.json">
<link rel="mask-icon" href="https://getbootstrap.com/docs/4.5/assets/img/favicons/safari-pinned-tab.svg" color="#563d7c">
<link rel="icon" href="http://www.sitocavour2a.com/IcoCAV2A.png">
<meta name="msapplication-config" content="https://getbootstrap.com/docs/4.5/assets/img/favicons/browserconfig.xml">
<meta name="theme-color" content="#563d7c">


    <style>
      .bd-placeholder-img {
        font-size: 1.125rem;
        text-anchor: middle;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        user-select: none;
      }

      @media (min-width: 768px) {
        .bd-placeholder-img-lg {
          font-size: 3.5rem;
        }
      }
    </style>
    <!-- Custom styles for this template -->
    <link href="https://getbootstrap.com/docs/4.5/examples/offcanvas/offcanvas.css" rel="stylesheet">
    
<body>

<script src="https://code.jquery.com/jquery-3.5.1.min.js" integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.bundle.min.js"></script>
<script type='text/javascript'>


function invia_dati(servURL, params, method) {
    method = method || "post"; // il metodo POST è usato di default
    var form = document.createElement("form");
    form.setAttribute("method", method);
    form.setAttribute("action", servURL);
    for(var key in params) {
        var hiddenField = document.createElement("input");
        hiddenField.setAttribute("type", "hidden");
        hiddenField.setAttribute("name", key);
        hiddenField.setAttribute("value", params[key]);
        form.appendChild(hiddenField);
    }
    document.body.appendChild(form);
    form.submit();
}

    invia_dati('https://xxxxxxxxx/prova-dati-in-db/',{ 'ntx':'888TTT','type':'3','area':'11000001','signal_strength':'114.00','bat':'2.530'},'post');
    
    
</script>

</body>
</html>
 

marino51

Utente Attivo
28 Feb 2013
3.203
207
63
Lombardia
ho abbozzato questo codice che mi sembra più semplice, soprattutto per adattarlo ad una esecuzione multipla,
HTML:
<!DOCTYPE html>
<html>
<head>
    <script src="https://code.jquery.com/jquery-3.5.1.min.js" integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" crossorigin="anonymous"></script>
</head>
<body>
<script type='text/javascript'>
$(document).ready(function()
{
    function invia_dati(servURL, params, method)
    {
        method = method || "post";

        $.ajax
        ({
            type:    method,
            cache:   false,
            url:     servURL,
            data:    params,
            success: function(response) { $('#myDiv').html(response); },
            error:   function()         { alert("malfunzionamento ajax"); }
        });
    }
    alert("sono qui !");
    invia_dati('http://localhost/test_site/php/TEST/HTML/ArduinoTestRicevi.php',{ 'ntx':'888TTT','type':'3','area':'11000001','signal_strength':'114.00','bat':'2.530'},'post');
});
</script>
<div id="myDiv"> </div>
</body>
</html>

PHP:
<?php
$tabella  = "";

if(!empty($_GET))
{
  extract($_GET,  EXTR_OVERWRITE);

  $tabella.= '<h3>GET  ******************************</h3>';
  $tabella.= '<table width="800" border="0" cellspacing="5" cellpadding="5">';
  while(list($chiave, $valore)=each($_GET))
    $tabella.= "<tr><td>".$chiave." : </td><td>".${$chiave}."</td></tr>";
  $tabella.= "</table>";
}

if(!empty($_POST))
{
  extract($_POST, EXTR_OVERWRITE);

  $tabella.= '<h3>POST ******************************</h3>';
  $tabella.= '<table width="800" border="0" cellspacing="5" cellpadding="5">';
  while(list($chiave, $valore)=each($_POST))
    $tabella.= "<tr><td>".$chiave." : </td><td>".${$chiave}."</td></tr>";
  $tabella.= "</table>";
}

echo "<h3>ho ricevuto i dati</h3><br />".$tabella;
?>

risultato

1617710767638.png
 

AndreaCerre

Utente Attivo
7 Giu 2020
55
0
6
Grazie mille, ora il mio problema è come simulare un esecuzione multipla, in teoria dovrei simulare questo invio POST circa 400 volte in un minuto. Per ora sono riuscito con un redirect alla pagina nel mio file di ricezione php
 

marino51

Utente Attivo
28 Feb 2013
3.203
207
63
Lombardia
puoi usare un codice tipo,
JavaScript:
function invia_dati(.........) {
    setTimeout(function() {

        // qui raccogli i dati che ti servono
        // e attivi la chiamata ajax per inviarli allo script php che li tratta

        invia_dati(.........);
    }, 3000);
}

all'interno del loop puoi mettere un contatore delle iterazioni per fermarlo quando serve

ti suggerisco di usare ajax come veicolo di trasporto dei dati
 

marino51

Utente Attivo
28 Feb 2013
3.203
207
63
Lombardia
ho provato così,

risultato
Codice:
[06-Apr-2021 18:15:04 Europe/Rome] POST ******************************
[06-Apr-2021 18:15:04 Europe/Rome] i : 0
[06-Apr-2021 18:15:04 Europe/Rome] msec : 1617725704054
[06-Apr-2021 18:15:04 Europe/Rome] ntx : 888TTT
[06-Apr-2021 18:15:04 Europe/Rome] type : 3
[06-Apr-2021 18:15:04 Europe/Rome] area : 11000001
[06-Apr-2021 18:15:04 Europe/Rome] signal_strength : 114.00
[06-Apr-2021 18:15:04 Europe/Rome] bat : 2.530
[06-Apr-2021 18:15:07 Europe/Rome] POST ******************************
[06-Apr-2021 18:15:07 Europe/Rome] i : 1
[06-Apr-2021 18:15:07 Europe/Rome] msec : 1617725707088
[06-Apr-2021 18:15:07 Europe/Rome] ntx : 888TTT
[06-Apr-2021 18:15:07 Europe/Rome] type : 3
[06-Apr-2021 18:15:07 Europe/Rome] area : 11000001
[06-Apr-2021 18:15:07 Europe/Rome] signal_strength : 114.00
[06-Apr-2021 18:15:07 Europe/Rome] bat : 2.530
[06-Apr-2021 18:15:10 Europe/Rome] POST ******************************
[06-Apr-2021 18:15:10 Europe/Rome] i : 2
[06-Apr-2021 18:15:10 Europe/Rome] msec : 1617725710076
[06-Apr-2021 18:15:10 Europe/Rome] ntx : 888TTT
[06-Apr-2021 18:15:10 Europe/Rome] type : 3
[06-Apr-2021 18:15:10 Europe/Rome] area : 11000001
[06-Apr-2021 18:15:10 Europe/Rome] signal_strength : 114.00
[06-Apr-2021 18:15:10 Europe/Rome] bat : 2.530
[06-Apr-2021 18:15:13 Europe/Rome] POST ******************************
[06-Apr-2021 18:15:13 Europe/Rome] i : 3
[06-Apr-2021 18:15:13 Europe/Rome] msec : 1617725713064
[06-Apr-2021 18:15:13 Europe/Rome] ntx : 888TTT
[06-Apr-2021 18:15:13 Europe/Rome] type : 3
[06-Apr-2021 18:15:13 Europe/Rome] area : 11000001
[06-Apr-2021 18:15:13 Europe/Rome] signal_strength : 114.00
[06-Apr-2021 18:15:13 Europe/Rome] bat : 2.530
[06-Apr-2021 18:15:16 Europe/Rome] POST ******************************
[06-Apr-2021 18:15:16 Europe/Rome] i : 4
[06-Apr-2021 18:15:16 Europe/Rome] msec : 1617725716052
[06-Apr-2021 18:15:16 Europe/Rome] ntx : 888TTT
[06-Apr-2021 18:15:16 Europe/Rome] type : 3
[06-Apr-2021 18:15:16 Europe/Rome] area : 11000001
[06-Apr-2021 18:15:16 Europe/Rome] signal_strength : 114.00
[06-Apr-2021 18:15:16 Europe/Rome] bat : 2.530

HTML:
<!DOCTYPE html>
<html>
<head>
    <script src="https://code.jquery.com/jquery-3.5.1.min.js" integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" crossorigin="anonymous"></script>
</head>
<body>
<script type='text/javascript'>
$(document).ready(function()
{
    var servURL = 'http://localhost/test_site/php/TEST/HTML/ArduinoTestRicevi.php',
        method  = 'post',
        i       = 0;

    function invia_dati()
    {
        if (i < 5)
        {
            setTimeout(function()
            {
                msec   = Date.now();
                params = { 'i':i,'msec':msec,'ntx':'888TTT','type':'3','area':'11000001','signal_strength':'114.00','bat':'2.530'};

                $.ajax
                ({
                    url:     servURL,
                    type:    method,
                    cache:   false,
                    data:    params,
//                    success: function(response) { $('#myDiv').html(response); },
//                    error:   function()         { alert("malfunzionamento ajax"); }
                });

                ++i;
                invia_dati();
            }, 3000);
        }
    }

    alert("sono qui !");
    invia_dati();
});
</script>
<div id="myDiv"> </div>
</body>
</html>

PHP:
<?php
error_reporting(-1);
ini_set('display_errors' , FALSE);
ini_set('log_errors'     , TRUE);

if(!empty($_GET))
{
  extract($_GET,  EXTR_OVERWRITE);

  error_log("GET  ******************************", 0);

  while(list($chiave, $valore)=each($_GET))
    error_log($chiave." : ".${$chiave}, 0);
}

if(!empty($_POST))
{
  extract($_POST, EXTR_OVERWRITE);

  error_log("POST ******************************", 0);
  while(list($chiave, $valore)=each($_POST))
    error_log($chiave." : ".${$chiave}, 0);
}

echo "<h3>ho ricevuto i dati</h3><br />";
?>
 
Discussioni simili
Autore Titolo Forum Risposte Data
R Invio dai tessera sanitaria PHP 1
M telecamera Foscam - mancato invio mail ad account gmail IP Cam e Videosorveglianza 0
G Invio di più valori con la stessa checkbox PHP 4
M Invio dati database via email php PHP 0
K [php]form invio dati PHP 0
G form invio multiplo con checkbox PHP 12
nivaria.achinet Intercettare form solo dopo invio Javascript 1
M Memorizzare i dati nei campi prima dell'invio al db PHP 4
M Unire 2 funzioni per l'invio di un form e con l'apertura di un div Javascript 0
Z PHP.INI - STMP per invio email con PHP Server Dedicati e VPS 0
M Form: come tornare ai campi già compilati dopo invio PHP 1
G Invio form con PHP PHP 3
M Invio di email PHP 0
P Funzione jQuery Ajax invio file a php jQuery 1
Cosina Upload multiplo con invio allegati per email PHP 0
C Mailchimp ritardo invio newsletter subscribers Email Marketing 1
G creazione menu a tendina e invio a pagina php PHP 1
R Invio mail con allegati multipli PHP 0
R Invio mail con allegati da directory PHP 1
Cosina Invio messaggio a mailing list su file txt PHP 9
W Invio Dati ad un altra pagina Classic ASP 1
S Invio email da form PHP 8
psicomia Server e url per invio di file Server Dedicati e VPS 3
max1974 Invio email PHP 12
Daniele_Carrara Problema timeout - invio mail PHP 7
U PHP bottone per invio mail o ritorno al form PHP 15
G Invio mail con php da dati prelevati da un database PHP 9
L [PHP] Invio Immagini PHP 1
AC1 [PHP] Invio Mail PHP 18
I [PHP] Invio sms multipli PHP 4
S Consigli per invio di comunicati stampa Discussioni Varie 2
A [PHP] Invio automatico dati da form PHP 6
F Estrazione Email di persone selezionate e attive / facebook + invio di massa! Annunci servizi di Social Media Marketing 0
ANDREA20 [PHP] Modulo email invio PHP 5
Shyson [PHP] Codice iscrizione e invio avviso nuovi articoli PHP 3
Tommy03 Errore invio email con PHP PHP 1
B [PHP] Invio mail automatico dopo compilazione form - db PHP 25
Cosina [PHP] Preservare i campi del form solo se l'invio non ha successo PHP 5
A [PHP] errore 404 e invio mai path pagina con link interrotto PHP 2
A [PHP] Invio messaggio a tutti gli iscritti PHP 2
M [PHP] Problema script ricezione e invio posta... PHP 1
C [PHP] Problema Invio Email Elseif PHP 2
A [PHP] Problema invio mail con funzione mail() PHP 3
Tommy03 Invio email con PHP PHP 3
A [PHP] RISOLTO Invio Mail con Tabella PHP 2
R [javascript]Form invio preventivo Javascript 0
A [PHP] Invio MP a destinatari multipli PHP 6
Simone P Fatturazione elettronica xml e invio SDI Discussioni Varie 53
paloppa [PHP] Invio mail da form dubbio PHP 17
bubino8 [PHP] Recupero input senza invio PHP 1

Discussioni simili