• Home
  • Forum
  • Fare Web
  • PHP

Form con aggiunta righe

  • Creatore Discussione Creatore Discussione giuppyone
  • Data di inizio Data di inizio 13 Feb 2014
G

giuppyone

Nuovo Utente
13 Feb 2014
5
0
0
  • 13 Feb 2014
  • #1
Buona sera a tutti.
Sto cercando questa soluzione da tempo, ma non la trovo. Premetto che sono un neofita dell'argomento php e html.
Ho creato, modificandolo, un javascript che aggiunge righe in un form.
Ora il problema è questo, aggiungendo righe i "name" diventano per esempio "nome1", "name2", "name3", etc, come posso inviarmi via email, con una pagina php, tutti i dati generati da questo form?
Vi posto il codice:
HTML:
<SCRIPT language="javascript">  
       var num=1
	    function addRow(tableID) {  
  
            var table = document.getElementById(tableID);  
  
            var rowCount = table.rows.length;  
            var row = table.insertRow(rowCount); 
			
            var cell1 = row.insertCell(0);  
            var element1 = document.createElement("input");  
            element1.type = "checkbox";  
            cell1.appendChild(element1);  
  
            var cell2 = row.insertCell(1);  
            cell2.innerHTML = rowCount + 1;  
  
            var cell3 = row.insertCell(2);  
            var element2 = document.createElement("input");  
            element2.type = "text";  
			element2.name = "cod"+num;  
			element2.placeholder = "Codice prodotto";
            cell3.appendChild(element2);  
			
			var cell3 = row.insertCell(3);  
            var element2 = document.createElement("input");  
            element2.type = "text";  
			element2.name = "des"+num;  
			element2.placeholder = "Descrizione";
            cell3.appendChild(element2); 
			
			var cell3 = row.insertCell(4);  
            var element2 = document.createElement("input");  
            element2.type = "text"; 
			element2.name = "forma"+num;  
			element2.placeholder = "Formato"; 
            cell3.appendChild(element2); 
			
			var cell3 = row.insertCell(5);  
            var element2 = document.createElement("input");  
            element2.type = "text";  
			element2.name = "quant"+num;  
			element2.placeholder = "Quantità";
            cell3.appendChild(element2); 
  
        }  
  
        function deleteRow(tableID) {  
            try {  
            var table = document.getElementById(tableID);  
            var rowCount = table.rows.length;  
  
            for(var i=0; i<rowCount; i++) {  
                var row = table.rows[i];  
                var chkbox = row.cells[0].childNodes[0];  
                if(null != chkbox && true == chkbox.checked) {  
                    table.deleteRow(i);  
                    rowCount--;  
                    i--;  
                }  
  
            }  
            }catch(e) {  
                alert(e);  
            }  
        }  
  
    </SCRIPT>  
	</head>
<body>
<h1>Ordine</h1>
<form id="form1" name="form1" method="post" action="invio.php">
<INPUT type="button" value="Aggiungi una Riga" onclick="addRow('dataTable')" />  
  
    <INPUT type="button" value="Cancella una Riga" onclick="deleteRow('dataTable')" />  
  
<TABLE id="dataTable" width="350px" border="1">  
        <TR>  
            <TD><INPUT type="checkbox" name="chk"/></TD>  
            <TD> 1 </TD>  
            <TD> <INPUT type="text" name="cod" id="cod" placeholder="Codice prodotto"> </TD>  
            <TD> <INPUT type="text" name="des" id="des" placeholder="Descrizione"/> </TD> 
            <TD> <INPUT type="text" name="forma" id="for" placeholder="Formato"/> </TD> 
            <TD> <INPUT type="text" name="quant" id="quant" placeholder="Quantità"/> </TD>  
        </TR>  
    </TABLE>
      <input type="submit" name="Invia ordine" id="Invia ordine" value="Invia Ordine" />
    </form>
    <p>&nbsp;</p>
</body>
</html>
mentre il php è questo:
PHP:
<?php
$cod=$_POST[cod];
$des=$_POST[des];
$forma=$_POST[forma];
$quant=$_POST[quant];

$destinatario = "mioindirizzo@server.xx";

$oggetto = "Ordine";

$messaggio = "Codice articolo: $cod\n";
$messaggio .= "Descrizione: $des\n";
$messaggio .= "Formato: $forma\n";
$messaggio .= "Quantità: $quant\n";

$da = $email;
$intestazione = "From: $da";

mail($destinatario,$oggetto,$messaggio,$intestazione);

	    
?>

Grazie mille
 
G

giuppyone

Nuovo Utente
13 Feb 2014
5
0
0
  • 14 Feb 2014
  • #2
Forse è meglio questo:
HTML:
<script language="JavaScript" type="text/javascript">
<!--
var num=1;
function accoda(){
    if(document.createElement && document.getElementById && document.getElementsByTagName) {
        // crea elementi
        var oTr=document.createElement("TR");
        var oTd1=document.createElement("TD");
        var oTd2=document.createElement("TD");
        var oField=document.createElement("INPUT");
            var oFieldB=document.createElement("INPUT"); 
			var oFieldC=document.createElement("INPUT"); 
			var oFieldD=document.createElement("INPUT"); 
        var oButt=document.createElement("INPUT");

        // setta attributi
        oField.setAttribute("type","text");
        oField.setAttribute("name","codice[]");
		oField.setAttribute("value","");
		oField.setAttribute("placeholder","Codice prodotto");
                oFieldB.setAttribute("type","text");
                oFieldB.setAttribute("name","descizione[]");
				oFieldB.setAttribute("value","");
				oFieldB.setAttribute("placeholder","Descrizione");
				oFieldC.setAttribute("type","text");
                oFieldC.setAttribute("name","formato[]"); 
				oFieldC.setAttribute("value","");
				oFieldC.setAttribute("placeholder","Formato");
				oFieldD.setAttribute("type","text");
                oFieldD.setAttribute("name","quanti[]");
				oFieldD.setAttribute("value",""); 
				oFieldD.setAttribute("placeholder","Quantita'");
        oButt.setAttribute("type","button");
        oButt.setAttribute("value","rimuovi");

        // setta gestore evento
        if(oButt.attachEvent) oButt. attachEvent('onclick',function(e){rimuovi(e);})
        else if(oButt.addEventListener) oButt. addEventListener('click',function(e){rimuovi(e);},false)

        // appendi al relativo padre
        oTd1.appendChild(oField);
            oTd1.appendChild(oFieldB); 
			oTd1.appendChild(oFieldC);
			oTd1.appendChild(oFieldD);
        oTd2.appendChild(oButt);
        oTr.appendChild(oTd1);
        oTr.appendChild(oTd2);
        document.getElementById('tabella').getElementsByTagName('TBODY')[0].appendChild(oTr);

        // incrementa variabile globale
        num++
    }
}


function rimuovi(e){
    if(document.removeChild && document.getElementById && document.getElementsByTagName) {
        if(!e) e=window.event;
        var srg=(e.target)?e.target:e.srcElement;

        // risali al tr del td che contiene l' elemento che ha scatenato l' evento
        while(srg.tagName!="TR"){srg=(srg.parentNode)?srg.parentNode:srg.parentElement}

        // riferimento al tbody
        var tb=document.getElementById('tabella').getElementsByTagName('TBODY')[0];
        
        // rimuovi
        tb.removeChild(srg);
    }
}
//-->
</script>
</head>
<body>
<form name="modulo" action="invio.php" method="post">
<input type="button" value="Aggiungi riga" onclick="accoda()" />
<table border="1" id="tabella">
<tbody>
<tr>
<td>

<input type="text" name="codice[]" value=""  placeholder="Codice prodotto"/>
<input type="text" name="descrizione[]" value="" placeholder="Descrizione"/> 
<input type="text" name="formato[]" value="" placeholder="Formato"/> 
<input type="text" name="quanti[]" value="" placeholder="Quantita'"/> 
</td><td>
<input type="button" disabled="disabled" value="rimuovi" />
</td>
</tr>
</tbody>
</table>


<input type="submit" name="Submit" value="Invia Ordine"></p>
</form>

</body>
</html>
 

Longo8

Utente Attivo
28 Mar 2011
1.694
0
36
  • 17 Feb 2014
  • #3
Il problema è solo 'inviare una mail con i dati del form'?
Basta fare il submit del form e nella pagina 'di arrivo' prendi i dati dalla variabile $_POST (se usi il metodo post) e invii una mail tramite php_mailer o tramite swift_mailer o roba simile.
 
G

giuppyone

Nuovo Utente
13 Feb 2014
5
0
0
  • 17 Feb 2014
  • #4
No Longo8, il problema è che aggiungendo le righe creo un numero indefinito di "name", dal quale prendo l'informazione de inviare via mail. Come recupero questi "infiniti" dati con un codice php?
 
Devi accedere o registrarti per poter rispondere.

Discussioni simili

P
rilevare dati db e inserirli in tabella con aggiunta form
  • pasqlaur
  • 4 Lug 2013
  • PHP
  • 2
Risposte
23
Visite
3K
PHP 7 Lug 2013
Longo8
S
passare un valore da un form a un file .php con metodo post
  • smack2005
  • 15 Nov 2023
  • PHP
Risposte
4
Visite
1K
PHP 23 Nov 2023
zorro
I
Form con selettore
  • Ikon
  • 2 Dic 2022
  • HTML e CSS
Risposte
0
Visite
956
HTML e CSS 2 Dic 2022
Ikon
I
G
form invio multiplo con checkbox
  • giacomo9783
  • 29 Ott 2022
  • PHP
Risposte
12
Visite
3K
PHP 1 Nov 2022
marino51
R
Aprire maschera con Openform filtrando un campo testuale con un valore recuperato da un'altra maschera
  • RAF66
  • 27 Mar 2022
  • MS Access
Risposte
10
Visite
4K
MS Access 3 Apr 2022
RAF66
R
M
Unire 2 funzioni per l'invio di un form e con l'apertura di un div
  • maxnegri2036
  • 11 Dic 2021
  • Javascript
Risposte
0
Visite
2K
Javascript 11 Dic 2021
maxnegri2036
M
G
Invio form con PHP
  • Giulia2021
  • 24 Lug 2021
  • PHP
Risposte
3
Visite
2K
PHP 17 Ago 2021
bubino8
G
VBA OpenForm con WhereCondition + LIKE su campi differenti
  • Giorgio23
  • 16 Mar 2021
  • MS Access
Risposte
5
Visite
3K
MS Access 15 Apr 2021
CarlettoFed
C
M
Problema con controllo form in real time
  • migo80
  • 21 Dic 2020
  • jQuery
Risposte
6
Visite
4K
jQuery 30 Dic 2020
migo80
M
M
form con checkbox
  • miagy
  • 15 Ago 2020
  • PHP
Risposte
8
Visite
2K
PHP 15 Ago 2020
miagy
M
F
query e form con select multipla
  • FMax
  • 23 Lug 2020
  • PHP
Risposte
17
Visite
5K
PHP 19 Ago 2020
FMax
F
W
Rinominare Documenti Con Form Asp
  • wuolfit_one
  • 21 Mag 2020
  • Classic ASP
Risposte
9
Visite
2K
Classic ASP 29 Mag 2020
wuolfit_one
W
S
[PHP] Recupero nome immagine da Form con input file
  • solari77
  • 10 Nov 2019
  • PHP
Risposte
3
Visite
2K
PHP 12 Nov 2019
marino51
[Javascript] [HTML] Campi form con sfondo imposto dal browser
  • Domenico_Falco1
  • 17 Giu 2019
  • Javascript
Risposte
5
Visite
2K
Javascript 20 Giu 2019
Domenico_Falco1
E
Form inserimento dati con JavaScript
  • Emidio
  • 9 Mar 2019
  • Javascript
Risposte
0
Visite
2K
Javascript 9 Mar 2019
Emidio
E
I
[PHP] inviare form con allegato tramite una mail
  • iper00
  • 19 Feb 2019
  • PHP
Risposte
1
Visite
2K
PHP 19 Feb 2019
Max 1
P
PHP - Leggere una pagina passata con Form e Captcha
  • pelandro
  • 31 Gen 2019
  • PHP
Risposte
0
Visite
1K
PHP 31 Gen 2019
pelandro
P
M
[HTML] form con multipli input type image
  • Marcom149
  • 12 Dic 2018
  • HTML e CSS
Risposte
1
Visite
1K
HTML e CSS 12 Dic 2018
Max 1
[PHP] Popolamento database con form ricorsivi - problema array (foreach )
  • alessandra86
  • 28 Giu 2018
  • PHP
Risposte
5
Visite
3K
PHP 12 Lug 2018
alessandra86
U
[PHP] Form stessa pagina con qualche complicazione
  • Uzzi
  • 8 Mag 2018
  • PHP
Risposte
0
Visite
1K
PHP 8 Mag 2018
Uzzi
U
Condividi:
Facebook X (Twitter) LinkedIn WhatsApp e-mail Condividi Link
  • Home
  • Forum
  • Fare Web
  • PHP
  • Italiano
  • Termini e condizioni d'uso del sito
  • Policy Privacy
  • Aiuto
  • Home
Community platform by XenForo® © 2010-2024 XenForo Ltd. | Traduzione a cura di XenForo Italia
Menu
Accedi

Registrati

  • Home
  • Forum
    • Nuovi Messaggi
    • Cerca...
  • Novità
    • Featured content
    • Nuovi Messaggi
    • Ultime Attività
X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?

X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?