Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > it.comp.lang.javascript > #8025

Re: inviare form multipli (pure Javascript)

Newsgroups it.comp.lang.javascript
Subject Re: inviare form multipli (pure Javascript)
From macmax@nospam.it (MacMax)
Message-ID <1mllgiq.17h3w2k9dp9ciN%macmax@nospam.it> (permalink)
References <34d0c316-e41a-4ff1-a5b9-290a499e7174@googlegroups.com>
Date 2016-04-12 13:30 +0200

Show all headers | View raw


<apelissi697@gmail.com> wrote:

> Salve a tutti! Per ragioni che non dipendono da me devo inviare ad un
> database (attraverso PHP) una serie di form del tipo:
> 
> Mese       Campo1    Campo2    Campo3
> ======================================== Gennaio      xxxx      xxxx
> xxxxx Febbraio      yyy      yyyy      yyyyyy Marzo       zzzzz      zzzzz
> zzzzzz
> 
> con un solo bottone. I form saranno composti dal campo Mese e dai campi
> Campo1 Campo2 Campo3. In altre parole devo inviare al database il
> prospetto di un intero anno, cioè 12 form, uno per ogni mese, uno di
> seguito all'altro. Come posso farlo con puro Javascript, senza usare
> framework?
> Grazie a chi vorrà aiutarmi.

Dunque, tanto per cominciare "i" form è sbagliato.
"Il" form è il contenitore dove "i" campi di input (anche detti
"moduli") verranno posizionati. Questo giusto per chiarire.

Ognuno di questi campi farà parte di un array, e la sintassi corretta è
<input type="text" name="mese[]" id="mese[0]" value="valore">
<input type="text" name="Campo1[]" id="Campo1[0]" value="valore">
ecc...
Io di solito uso un numero autoincrementante per l'id, quindi:
mese[0], mese[1], mese[2], e via così.

Lato PHP dovrai reiterare i vari array con il classico ciclo for(). 
Qui ti faccio un esempio usando il campo mese per contare i moduli
presenti e il button submit (con valore "aggiorna" per verificare
l'avvenuto invio...

if(isset($_POST['submit']) && $_POST['submit]=="aggiorna") {
    for($i=0;$i<count($_POST['mese']);$i++) {
        $mese = $_POST['mese'][$i];
        $campo1 =  $_POST['Campo1'][$i];
       ecc....
       $sql = "INSERT INTO table (mese, Campo1, ....) VALUES ('$mese',
$campo1', ecc...)";
}

Come vedi non serve nessun framework.
Altro consiglio, usa sempre un controllo sui valori inseriti, altrimenti
sei a rischio SLQ injection


Max
-- 
http://www.maxori.it
L'Arte è la capacità di fare cose di nessun valore
e di riuscire a venderle
F. Zappa

Back to it.comp.lang.javascript | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

inviare form multipli (pure Javascript) apelissi697@gmail.com - 2016-04-12 02:58 -0700
  Re: inviare form multipli (pure Javascript) macmax@nospam.it (MacMax) - 2016-04-12 13:30 +0200
  Re: inviare form multipli (pure Javascript) Alex <tommaso5ita@yahoo.it> - 2016-04-12 16:21 +0200

csiph-web