• Home
  • Forum
  • Fare Web
  • PHP

creare form mail PHP

  • Creatore Discussione Creatore Discussione alessiof86
  • Data di inizio Data di inizio 6 Lug 2009
Prec.
  • 1
  • 2
  • 3
  • 4
  • …
  • 8
Succ.
Primo Prec. 2 di 8 Succ. Ultimo

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 7 Lug 2009
  • #21
ciao
prima di passare a php volevo segnalarti un paio di cose
1. non è corretto utilizzare piè check con lo stesso nome, se vuoi che lo script funzioni corretamente devi dare un nome diverso ad ogni check, se al contrario vuoi che l'utente possa selezionare solo un prodotto devi utilizzare i radiobutton
2. dato che in php non sono ammessi nomi di variabile del tipo:
$pinco pallo ma deve essere scritto, se vuoi dividere, $pinco_pallo, non è bene che tu utilizzi nomi con spazi all'interno come
<input name="Canapa macinata" type="text" size="10" maxlength="3" /></td>
perche quando poi devi utilizzarlo $_POST['Canapa macinata'] e possibile avere degli errori meglio canapa_macinata
domani, se non ho problemi, ti mando le indicazioni per il php.

p.s.
una sottigliezza Kg si scrive kg (isoUNI)
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 8 Lug 2009
  • #22
ciao,
come promesso "solennemente" ti invio un esempio di come potresti operare, credo che leggendo i vari commenti il concetto sia chiaro, comunque siamo qui

PHP:
<?php
/* ******************************************************************
leggo il valore del tasto di submit e se premuto opero
es. dati  inseriti in un db o inviati via email
è un esmpio "didattico" il tutto può essere molto semplificato e contiene
delle righe che possono essere accumunate
passaggi ridondanti servono a specificare meglio cosa si fa
******************************************************************** */
if(isset($_POST['Submit']) && $_POST['Submit']=="Invia"){
/* *************leggo i dati inseriti nel form************* */
	$ch1=$_POST['farinadibase1'];//valore del check 1
	$q_ch1=$_POST['farinadibase1'];//quantità correlata a check 1
	$ch2=$_POST['farinadibase2'];//valore del check 2
	$q_ch2=$_POST['Canapa_macinata'];//quantità correlata a check 2
/*proseguo con tutti gli altri prodotti*/
/* ********faccio alcune verifiche soprattutto sui dati inseriti manualmente **************** */
	$errore=0;//metto a zero un flag per verificare se non ci sono stati errori di inserimento
//tolgo eventuali spazi inutili
	$q_ch1=trim($q_ch1);
	$q_ch2=trim($q_ch2);
//.................
/* ******** verifico che l'utente abbia inserito un numero nella quantità ********* */
	if(!eregi("[09]{0,3}",$q_ch1)){$errore=1;}//l'utente ha inserito un carattere diverso da un numero
	if(!eregi("[09]{0,3}",$q_ch2)){$errore=1;}
//.................
/* ************verifico che l'utente non abbia inserito solo uno zero, mi servirà in seguito*** */
	if($q_ch1=="0"){$q_ch1="";}
	if($q_ch2=="0"){$q_ch2="";}
//.................
/* **********verifico che i vari campi siano stati correttamente compilati ************ */
	if($ch1!="" && $q_ch1==""){//l'utente ha selezionato il check ma non indicata quantità, o indicato 0
		$errore=1;
	}elseif($ch1=="" && $q_ch1!=""){//contrario di sopra
		$errore=1;
	}
	if($ch2!="" && $q_ch2==""){//l'utente ha selezionato il check ma non indicata quantità, o indicato 0
		$errore=1;
	}elseif($ch2=="" && $q_ch2!=""){//contrario di sopra
		$errore=1;
	}
//.................
/* ****è evidente che simili controlli devono essere fatti anche su altri eventuali
campi esistenti nel form, es. nome utente, email utente.....
alla fine dei controlli se non sono stati fatti errori il valore di
$errore è rimasto zero
*************** */
	if($errore=0){//NON sono stati commessi errori
		/*faccio quello che devo fare es. inizio a prepara il il testo
		che mi verrà inviato per email
		*/
		$oggetto="ordine";
		$testo="vi prego di inviarmi il prodotto sottoelencato:<br>";
		$testo.="$ch1:  $q_ch1 kg <br>";
		//ecc......
		//funzione mail()... e ritorno al form
	}else{//il valore di $errore è 1: ci sono degli errori
		/*non inserisco i dati
	 	visualizzo messaggio di errore
	 	e torno al form, o dove altro mi pare*/
	}
}//fine if submit
?>
<!-- 
utilizzo $server perchè faccio una pagigina unica inserimento ed invio dati
quindi se cambio nome alla pagina non ho bisogni di modificare l'action del form
-->
<form action="<?php htmlspecialchars($_SERVER['PHP_SELF']);?>" method="POST" name="form">
<fieldset >
<legend><span class="Stile15">Farine di base</span></legend>
<table border="0"; cellspacing="0" cellpadding="0" width="640" align="center" style="color:#000000; font-size:12px;">
<tr>
<td>
<table border="3"; cellspacing="1" cellpadding="1" width="320" >
<tr> 
<td >Prodotti</td> 
<td><span class="Stile5">Qtà (Kg)</span></td>
</tr>
<tr> 
<td><input type="checkbox" name="farinadibase1" value="Albumina" />Albumina</td> 
<td align="center"><input type="text" name="Albumina" size="10" maxlength="3" /></td>
</tr>

<td><input type="checkbox" name="farinadibase2" value="Canapa macinata" />Canapa macinata</td> 
<td align="center"><input name="Canapa_macinata" type="text" size="10" maxlength="3" /></td>
</tr>

<tr>

<td><input type="submit" name="Submit" value="Invia">
  aa</td> 
<td align="center">bb</td>
</tr>
</table>
</table>
</form>
 
A

alessiof86

Utente Attivo
6 Lug 2009
134
0
0
  • 8 Lug 2009
  • #23
in questa parte di codice
$ch1=$_POST['farinadibase1'];//valore del check 1
$q_ch1=$_POST['farinadibase1'];//quantità correlata a check 1
$ch2=$_POST['farinadibase2'];//valore del check 2
$q_ch2=$_POST['Canapa_macinata'];//quantità correlata a check 2

Al posto di canapa_macinata devo scriverci farinadibase2? Ti sei sbagliato per caso?. Perche nel form html è
<tr>
td><input type="checkbox" name="farinadibase1" value="Albumina" />Albumina</td>
<td align="center"><input type="text" name="Albumina" size="10" maxlength="3" /></td>
</tr>

<td><input type="checkbox" name="farinadibase2" value="Canapa macinata" />Canapa macinata</td>
<td align="center"><input name="Canapa_macinata" type="text" size="10" maxlength="3" /></td>
</tr>

O a quello sopra devo metterci per recuperare la quantita relativa al prodotto ci devo mettere Albumina ? Non riesco a capire Grazie
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 8 Lug 2009
  • #24
ciao
scusa un mio errore
su
$ch1 = $_POST['farinabase1'];
$q_ch1 = $_POST['Albumina'];
$ch2 = $_POST['farinabase2'];
$q_ch2 = $_POST['canapa_macinata'];
 
A

alessiof86

Utente Attivo
6 Lug 2009
134
0
0
  • 9 Lug 2009
  • #25
Ora dovrei far in modo che tutt ciò venga stampato su un file txt che mi verra mandato in seguito via email . Uso il comando $file=fopen(”messaggi_salvati.txt”,”a+”);
fwrite($file, “-inizio-
$messaggio.
Ma devo ripassare ogni variabile? Come mi devo muovere?
Grazie mille per gli aiuti che mi stai dando
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 9 Lug 2009
  • #26
ciao
perchè vuoi complicarti la vita.
fatti inviare il messaggio direttamente nell'email.
 
A

alessiof86

Utente Attivo
6 Lug 2009
134
0
0
  • 9 Lug 2009
  • #27
il mio dubbio e che magari le check box che uso mi compaiono sfalsate ossia con una formattazione differente a tal punto da non farmi leggere niente. cosa mi consigli?
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 9 Lug 2009
  • #28
ciao
puoi, come avresti fatto per il file txt formattare il testo con vari <br> oppure impostando bene l'header della funzione mail() in formato html, puoi costruirti una tabella e ti arriva il testo ben formattato, ti faccio un esempio sintetico sul messaggio da inviare:

$messaggio="<table>
<tr><td>farina</td><td>kg</td></tr>
<tr><td>$ch1</td><td>$q_ch1</td></tr>
.............
</table>";

ti puoi costruire una tabella in modo che l'ordine ti arrivi ben formattato.
 
A

alessiof86

Utente Attivo
6 Lug 2009
134
0
0
  • 9 Lug 2009
  • #29
grazie mille un altrcosa il codice php che mi hai postato nella parte
/* ******** verifico che l'utente abbia inserito un numero nella quantità ********* */
if(!eregi("[09]{0,3}",$q_ch1)){$errore=1;}//l'utente ha inserito un carattere diverso da un numero
if(!eregi("[09]{0,3}",$q_ch2)){$errore=1;}
//.................
tra lo 0 e il 9 ci deve essere il trattino giusto?
Altra cosa quindi organizzo i dati in tabella come da tuo esempio e cio lo devo scrivere nel file php dopo il codice che hai postato te?
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 9 Lug 2009
  • #30
ciao
no, niente trattino
comunque visto che stai iniziando con php ti consiglio vivamente questo link

http://www.php.net/manual/it/index.php

in alto a dx digitando la funzione (es eregi) trovi tutte le spiegazioni ed esempi

per il secondo quesito, se hai pazienza ti faccio un esempio
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 10 Lug 2009
  • #31
ciao,
qusto dovrebbe servirti per impostare l'invio dell'email

PHP:
<?php
//tutti i $_POST

/*
dopo aver raccolto i dati con post inizi ad organizzarli, immagino che nel form tu chieda anche il nome/email all'inviante
prepari le variabili che ti servono e le formatti*/
$email_a="mia_email@pinco.pal";//indirizzo a cui inviare
$oggetto="ordine farine"; //oggetto dell'email
$inviato_da="nome $nome $cognome<br>"; //nome e dell'inviante
$email_da="email: $email <br>";//ec...tel indirizzo e altro.......
$inviato_il="inviato il : "data("g m y")."<br><br>";
// e prepari la tabella per l'ordine dei prodotti
/*intestazione, nora nel tab table, tr, td puoi mettere i classici
parametri che si mettono per la costruzione delle tabelle*/
$prodotto="<table><tr><td>prodotto</td><td>kg</td></tr>";
//metti degli if in modo da non creare righe che non servono
//e inizi a concatenare le varie righe
if($ch1!=""){
$prodotto.="<tr><td>$ch1</td><td>$q_ch1</td></tr>";
}
if($ch2!=""){
$prodotto.="<tr><td>$ch2</td><td>$q_ch2</td></tr>";
}
//continui così per tutti i prodotti sino a chiudere la tabella
$prodotto.="</table>";
//a questo punto prepari tutto il messaggio
$messaggio=$inviato_da.$email_da.$inviato_il;
//se vuoi metti una riga di separazione
$messaggio.="-------------------------------<br><br><br>";
//e attacchi il prodotto
$messaggio.=$prodotto;
//a questo punto invii con la function mail()
if(mail($email_a,$oggetto,$messaggio,$header)){
	echo "email inviata correttamente";
}else{
	echo "errore, riprova più tardi";
}
/**********per la variabile $header ti conviene guardare sul manuale php function mail*********/
?>

se hai dubbi posta
 

SolidSnake4

Utente Attivo
23 Ott 2007
505
0
0
  • 10 Lug 2009
  • #32
ma il codice html deve essere per forza solo utilizzando le tabelle? io ho fatto una pagina web con div ma quando la invio via mail non mi riconosce il codice html
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 10 Lug 2009
  • #33
ciao
puoi utilizzare tutti i tag html <div><b<br><p>.... ecc, non per niente puoi inviare una pagina completa con colori, bordi, immagini...
devi impostare l'eader per html, poi se il tuo ottlook (o simile) è impostato su testo non legge comunque l'html.
non so sulla funct mail(), ma nella classe phpmailer c'e il teso alternanito che, se non leggi html, scrive tipo txt
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 10 Lug 2009
  • #34
dimenticavo, dal manuale php:

Note: If intending to send HTML or otherwise Complex mails, it is recommended to use the PEAR package » PEAR::Mail_Mime.
Clicca per allargare...
 

SolidSnake4

Utente Attivo
23 Ott 2007
505
0
0
  • 10 Lug 2009
  • #35
sarebbe la classe da usare built in del php ?
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 10 Lug 2009
  • #36
ciao
non chiedere troppo alla mia abissale ignoranza

io comunque utilizzo

https://www.mrw.it/php/articoli/inviare-email-classe-phpmailer_631.html

e mi sono sempre trovato bene, invia le email (volendo) in formato html
 

SolidSnake4

Utente Attivo
23 Ott 2007
505
0
0
  • 10 Lug 2009
  • #37
ok grazie mille borgo come sempre posso contare sul tuo aiuto :fonzie: come faccio ad impostare i parametri di questa classe ? mi da errore sempre XD
 
Ultima modifica: 10 Lug 2009

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 11 Lug 2009
  • #38
ciao
io imposto in questa maniera

PHP:
require "phpmailler/class.phpmailer.php";
		$Emailmessaggio = new PHPmailer();
		
		$Emailmessaggio->SetLanguage('it','language/'); 
		$Emailmessaggio->IsHTML(true); // email in formato HTML

		$Emailmessaggio->FromName= $nome;
		$Emailmessaggio->From=$email;
		$Emailmessaggio->AddAddress($destinatario);
		$Emailmessaggio->Subject=$soggetto;
		$Emailmessaggio->Body=$testo;
		
		if(!$Emailmessaggio->Send()){ 
                   //errorre
                }
se apri la classe poi vedi come sono altre eventuali variabili.
se hai pazienza (e se ti serve) poi cerco quello che ho fatto per il testo alternativo e per eventuale invio news-letter
 

SolidSnake4

Utente Attivo
23 Ott 2007
505
0
0
  • 11 Lug 2009
  • #39
mi da questo errore :

Could not instantiate mail function
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 11 Lug 2009
  • #40
ciao
stai attento ai percorsi, io ho dentro la cartella
scrivi_a[cartella]
pag_form.php
phpmailler[cartella]
class.phpmailer.php
e_tutte_le_altre_cartelle_di_phpMailer


comunque riverifico di non aver dimenticato qualcosa nel copia/incolla del mio post, poi ti so dire
 
Prec.
  • 1
  • 2
  • 3
  • 4
  • …
  • 8
Succ.
Primo Prec. 2 di 8 Succ. Ultimo
Devi accedere o registrarti per poter rispondere.

Discussioni simili

P
Creare form e inviare via mail
  • playciuffo
  • 12 Ott 2015
  • HTML e CSS
Risposte
2
Visite
2K
HTML e CSS 8 Nov 2015
Jonn
S
Creare un form mail
  • SlimBig
  • 24 Mag 2009
  • PHP
Risposte
9
Visite
3K
PHP 29 Mag 2009
borgo italia
F
Salve a tutti, devo creare un sito web/gioco online dove cliccando il tasto 'Inizia' del form viene estratta una capitale casualmente dal
  • faccone
  • 8 Mag 2024
  • PHP
Risposte
1
Visite
1K
PHP 23 Apr 2025
webest
Creare bottone delete in form upload
  • Cosina
  • 25 Apr 2021
  • PHP
Risposte
5
Visite
2K
PHP 21 Ago 2021
princebhaini8
P
  • Bloccata
Creare bottone delete in form upload
  • Cosina
  • 24 Apr 2021
  • PHP
Risposte
1
Visite
1K
PHP 25 Apr 2021
Max 1
L
creare oggetti da una classe tramite un form
  • Leonardo Scotti
  • 22 Apr 2020
  • Javascript
Risposte
0
Visite
2K
Javascript 22 Apr 2020
Leonardo Scotti
L
B
  • Bloccata
[PHP] Creare PDF dopo inserimento dati form
  • bipolare75
  • 28 Set 2019
  • PHP
Risposte
4
Visite
4K
PHP 28 Set 2019
Max 1
D
[PHP] Consigli su come creare form
  • Delaras
  • 18 Lug 2019
  • PHP
Risposte
1
Visite
2K
PHP 20 Lug 2019
eraclio666
T
[PHP] Creare Honeypot per form contatti
  • Tom&Jerry
  • 26 Giu 2019
  • PHP
Risposte
10
Visite
2K
PHP 28 Giu 2019
mr.x
M
[PHP] Form per creare filtro di ricerca su DB
  • sandropochi
  • 16 Mar 2017
  • PHP
Risposte
8
Visite
11K
PHP 19 Mar 2017
sandropochi
S
Concatenare due campi di un form per creare un indirizzo web valido
  • steverm
  • 21 Mar 2016
  • Javascript
Risposte
7
Visite
2K
Javascript 21 Mar 2016
steverm
S
A
Creare da form un PDF da inviare come allegato.
  • Alexanders
  • 7 Dic 2015
  • PHP
Risposte
1
Visite
5K
PHP 15 Dic 2015
filomeni
E
creare un form
  • enricoenrico
  • 22 Giu 2015
  • Presentati al Forum
Risposte
3
Visite
1K
Presentati al Forum 22 Giu 2015
filomeni
M
creare form in un popup
  • Mo Vivere
  • 24 Ott 2014
  • HTML e CSS
Risposte
1
Visite
3K
HTML e CSS 25 Ott 2014
Max 1
L
creare pagine php in modo automatico attraverso form
  • lorenzo84
  • 8 Mag 2014
  • PHP
Risposte
1
Visite
2K
PHP 8 Mag 2014
marino51
J
Creare form registriazione
  • james81
  • 6 Feb 2014
  • PHP
Risposte
2
Visite
2K
PHP 6 Feb 2014
Salvo Salvi
S
C
Creare una form con pulsanti di scelta macro
  • cavaliere123
  • 12 Lug 2013
  • Visual Basic
Risposte
1
Visite
2K
Visual Basic 22 Ago 2013
novizio
N
Errore nel creare miniature da immagini caricate su un mio form
  • Jam1
  • 4 Lug 2013
  • PHP
Risposte
0
Visite
1K
PHP 4 Lug 2013
Jam1
D
Come creare validazione form istantanea??
  • Danix1994
  • 7 Giu 2013
  • Javascript
Risposte
1
Visite
6K
Javascript 7 Giu 2013
Danix1994
D
M
Creare un form
  • maxxjo
  • 2 Mag 2013
  • HTML e CSS
Risposte
3
Visite
2K
HTML e CSS 3 Mag 2013
maxxjo
M
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?