• Home
  • Forum
  • Fare Web
  • PHP

Elaborazione form

  • Creatore Discussione Creatore Discussione delfina
  • Data di inizio Data di inizio 3 Gen 2013
Prec.
  • 1
  • 2
Primo Prec. 2 di 2
D

delfina

Nuovo Utente
18 Mag 2011
28
0
0
  • 4 Gen 2013
  • #21
Nefyt ha scritto:
Devi chiudere l'if, mancava una tonda
PHP:
if(mail("info@google.com","oggetto:...", $messaggio,$header)){
Clicca per allargare...

Ok ora funziona ma ci sono gli stessi problemi di prima.... mi dice che indirizzo e numero civico non sono corretti e me lo dice in una nuova finestra invece che nella finestra del form... come risolvo e soprattutto perchè quei campi non vanno bene?
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 4 Gen 2013
  • #22
ciao
corrggi numero_civico, la chfra tre le {} indiva di quanti caratteriri deve essere le stringa, per il CAP va bene 5, ma il numero cinico può essere da 1 a un massimo (credo che 3 possa andare bene)

correggi
PHP:
if($utente_numerocivico=="" || !preg_match("/^[0-9]{5}$/",)){
in
PHP:
if($utente_numerocivico=="" || !preg_match("/^[0-9]{1,3}$/",)){

ora guardo che pattern hai messo su indirizzo

edit
analogo per il numero di telefono: devi mettere il minimo e il massimo (e se tra prefisso e numero ci può essere uno spazio)
 
Ultima modifica: 4 Gen 2013
D

delfina

Nuovo Utente
18 Mag 2011
28
0
0
  • 4 Gen 2013
  • #23
eh avevo già notato e risolto... ora funziona tutto.. il problema è un altro... la mail mi arriva ma senza corpo della mail.... che ho sbagliato? Il codice ora è questo...
(ultimo sforzo... magari ci riesco... )
PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Form da compilare</title>
<script language="Javascript">
function ControllaForm()

{

var controllo=false;		

if (document.form1.utente_nome.value == "" )

{

controllo=true;
alert("Attenzione: Hai lasciato vuoto un campo obbligatorio.\nIl form non sarÃ* inviato");
}

if (document.form1.utente_cognome.value == "" )

{

controllo=true;
alert("Attenzione: Hai lasciato vuoto un campo obbligatorio.\nIl form non sarÃ* inviato");
}

if (document.form1.utente_indirizzo.value == "" )

{

controllo=true;
alert("Attenzione: Hai lasciato vuoto un campo obbligatorio.\nIl form non sarÃ* inviato");
}

if (document.form1.utente_numerocivico.value == "" )

{

controllo=true;
alert("Attenzione: Hai lasciato vuoto un campo obbligatorio.\nIl form non sarÃ* inviato");
}

if (document.form1.utente_citta.value == "" )

{

controllo=true;
alert("Attenzione: Hai lasciato vuoto un campo obbligatorio.\nIl form non sarÃ* inviato");
}

if (document.form1.utente_provincia.value == "" )

{

controllo=true;
alert("Attenzione: Hai lasciato vuoto un campo obbligatorio.\nIl form non sarÃ* inviato");
}

if (document.form1.utente_cap.value == "" )

{

controllo=true;
alert("Attenzione: Hai lasciato vuoto un campo obbligatorio.\nIl form non sarÃ* inviato");
}

if (document.form1.utente_email.value.indexOf("@") == -1 ) 

{

controllo=true;
alert("Attenzione: L'E-MAIL inserita non e' valida.\nIl form non sarÃ* inviato");
}

if (document.form1.utente_numeroditelefono.value == "" )

{

controllo=true;
alert("Attenzione: Hai lasciato vuoto un campo obbligatorio.\nIl form non sarÃ* inviato");
}

if (document.form1.utente_msg.value == "" )

{

controllo=true;
alert("Attenzione: Hai lasciato vuoto un campo obbligatorio.\nIl form non sarÃ* inviato");
}		

if (controllo){return false}else{return true}	

}

// -->
</SCRIPT>
</head>
<body>
<?php
if(isset($_POST['invia'])){
    
    $utente_nome=trim($_POST['utente_nome']);
    $utente_cognome=trim($_POST['utente_cognome']);
    $utente_indirizzo=trim($_POST['utente_indirizzo']);
    $utente_numerocivico=trim($_POST['utente_numerocivico']);
    $utente_cap=trim($_POST['utente_cap']);
    $utente_citta=trim($_POST['utente_citta']);
    $utente_provincia=trim($_POST['utente_provincia']);
    $utente_cap=trim($_POST['utente_cap']);
    $utente_telefono=trim($_POST['utente_telefono']);
    $utente_email=trim($_POST['utente_email']);
    $utente_msg=strip_tags(trim($_POST['utente_msg']));
    
    $errore="";
    if($utente_nome ==""){
        $errore.="non hai inserito il nome<br />";
    }
    if($utente_cognome ==""){
        $errore.="non hai inserito il cognome<br />";
    }
    if($utente_indirizzo ==""){
        $errore.="non hai inserito il indirizzo<br />";
    }
   if($utente_numerocivico=="" || !preg_match("/^[0-9]/",$utente_numerocivico)){
        $errore.="numero civico non valido o vuoto<br />";
    } 
    if($utente_cap=="" || !preg_match("/^[0-9]{5}$/",$utente_cap)){
        $errore.="CAP non valido o vuoto<br />";
    }
    if($utente_citta ==""){
        $errore.="non hai inserito la città<br />";
    }
    if($utente_provincia ==""){
        $errore.="non hai inserito la provincia<br />";
    }
    if($utente_telefono=="" || !preg_match("/^[0-9]{10}$/",$utente_telefono)){
        $errore.="telefono non valido o vuoto<br />";
    }
    if(!filter_var($utente_email, FILTER_VALIDATE_EMAIL)){
        $errore.="indirizzo mail non valido<br />";
    }
    
    if($errore !=""){
        echo $errore;
                
        echo "<meta http-equiv='Refresh' content='3; URL=".htmlspecialchars($_SERVER['PHP_SELF'])."'>";
    }else{
        
 if(mail("maria.ariemma@gmail.com","oggetto:...", $messaggio,$header)){  
             echo "email inviata correttamente, sarai contatta quanto prima";
            
           echo "<meta http-equiv='Refresh' content='3; URL=https://www.google.it/'>"; 
        }else{
            echo "c'è stato un errore di trasmissione, riprova più tardi";
            echo "<meta http-equiv='Refresh' content='3; URL=http://prinkbe.com/formtisana/prova.php'>"; 
        }
    }
}else{
?>

<form method="post" name="form1" action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>" OnSubmit="return ControllaForm(this)">
Nome*:<br>
<input type="text" name="utente_nome" size="20"><br>
Cognome*:<br>
<input type="text" name="utente_cognome" size="20"><br>
Indirizzo*:<br>
<input type="text" name="utente_indirizzo" size="20"><br>
Numero civico*:<br>
<input type="text" name="utente_numerocivico" size="20"><br>
Città*:<br>
<input type="text" name="utente_citta" size="20"><br>
Provincia*:<br>
<input type="text" name="utente_provincia" size="20"><br>
CAP*:<br>
<input type="text" name="utente_cap" size="5"><br>
Numero di telefono*:<br>
<input type="text" name="utente_telefono" size="20"><br>
Indirizzo email*:<br>
<input type="text" name="utente_email" size="20"><br>
<br>
Messaggio:<br>
<textarea name="utente_msg" cols="40" rows="4"></textarea><br>
<br>
<input type="submit" name= "invia" value="INVIA"> 
</form>
<?php
}
?>
</body>
</html>
 
Ultima modifica di un moderatore: 4 Gen 2013

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 4 Gen 2013
  • #24
ciao
per forza, devi costruire il corpo del messaggio e l'header

PHP:
<?php
//.....
}else{
	//qui devi costruire il messaggio e l'header ti schematizzo poi prosegui
	$messaggio= "da $utente_nome $utente_cognome \n";
	$messaggio .= "indorizzo $utente_indirizzo n°$utente_numerocivico\n";
	//ecc.. con tutti i campi che hai ricevuto
	$messaggio .= "---------------------------------------\n";
	$messaggio .= "$utente_msg\n";
	$header="from $utente_email \n";
	if(mail("maria.ariemma@gmail.com","oggetto:...", $messaggio,$header)){
	echo "email inviata correttamente, sarai contatta quanto prima";
//......
?>

p.s.
quando scrivi del codice racchiudilo tra gli appositi tag (seconda riga formattazione del post ultime 3 iconcine, nell'ordine CODE, HTML, PHP)
 
D

delfina

Nuovo Utente
18 Mag 2011
28
0
0
  • 4 Gen 2013
  • #25
Me l ostavo propri ochiedendo sul come si faceva a scrivere sto codice

Cmq ora tutto bene. Funziona ma c'è una piccola cosa che vorrei sapere se si può fare... invece di dare il messaggio in una nuova pagina è possibile fare una cosa del genere?

Allora io scrivo il nome, cognome. Arrivo all'indiirzzo mail. Lo scrivo sbagliato. Mi si apre una finestra di popup in cui mi dice l'errore che ho fatto. clicco su ok e reinserisco la mail... si può fare?

Oppure almeno una volta visualizzati i messaggi essere insirizzati al form ma con i campi giusti già compilati?

PS=Grazie mille per l'aiuto... non so come avrei fatto senza di te credimi
 
Ultima modifica: 4 Gen 2013

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 4 Gen 2013
  • #26
ciao
se il pop è l'alert di js, una volta che hai cliccato su OK puoi riscrivere il dato corretto.
se invece intendi il messaggio che ti da php per fare in modo che si possa correggere solo il dato errato, mentre gli altri rimangono come scritti, si deve passare alle sessioni (o ai cookie).
però bisogna rimettere le mani su tutto lo script e ci vuole un po' di pazienza

p.s.
come ho fatto io la pagina è la stessa, sparisce il form quando dai il submit in quanto è dentro l'if else
 
D

delfina

Nuovo Utente
18 Mag 2011
28
0
0
  • 4 Gen 2013
  • #27
borgo italia ha scritto:
ciao
se il pop è l'alert di js, una volta che hai cliccato su OK puoi riscrivere il dato corretto.
se invece intendi il messaggio che ti da php per fare in modo che si possa correggere solo il dato errato, mentre gli altri rimangono come scritti, si deve passare alle sessioni (o ai cookie).
però bisogna rimettere le mani su tutto lo script e ci vuole un po' di pazienza

p.s.
come ho fatto io la pagina è la stessa, sparisce il form quando dai il submit in quanto è dentro l'if else
Clicca per allargare...

Il problema è che con l'alert di js non posso controllare se i dati inseriti sono corretti. insomma una persona può tranquillamente scrivermi un "Ciao" al posto della sua mail e io lo saprò solo al momento in cui guardo la mail. Non esiste una funzione di php che possa dare un popup. Tra l'altro i popup di js vengono dati tutti insieme e non uno alla volta.. insomma se ometto tutti i campi il popup mi viene visualizzato il numero di volte corrispondente al numero di campi... cosa che vorrei evitare... suggerimenti su qualche guida da seguire o su come procedere?
 
Prec.
  • 1
  • 2
Primo Prec. 2 di 2
Devi accedere o registrarti per poter rispondere.

Discussioni simili

T
apertura pagina elaborazione form in altra finestra
  • tivovi74
  • 4 Mar 2013
  • Javascript
Risposte
1
Visite
2K
Javascript 4 Mar 2013
criric
D
Risultati diversi elaborazione dati fra localhost e Altervista
  • dastur67
  • 2 Mar 2023
  • PHP
Risposte
0
Visite
709
PHP 2 Mar 2023
dastur67
D
Software elaborazione video
  • Max 1
  • 12 Mag 2022
  • Windows e Software
Risposte
1
Visite
1K
Windows e Software 11 Giu 2022
Max 1
S
[OFFRO] Articolista per guide, correzione bozze, rielaborazione testi
  • Syfo81
  • 22 Feb 2018
  • Offerte e Richieste di Lavoro e/o Collaborazione
Risposte
1
Visite
1K
Offerte e Richieste di Lavoro e/o Collaborazione 2 Set 2018
Federico.Marcelo
A
Interrompere elaborazione dati
  • andreto
  • 18 Dic 2015
  • PHP
Risposte
0
Visite
974
PHP 18 Dic 2015
andreto
A
A
Interrompere elaborazione dati
  • andreto
  • 18 Dic 2015
  • Javascript
Risposte
0
Visite
991
Javascript 18 Dic 2015
andreto
A
K
Elaborazione rxmlHttp.responseText
  • Kelly
  • 7 Mag 2014
  • Ajax
Risposte
5
Visite
2K
Ajax 8 Mag 2014
criric
MediaCed - Centro Elaborazione Dati
  • Eugene
  • 26 Feb 2010
  • Presenta il tuo Sito
Risposte
0
Visite
1K
Presenta il tuo Sito 26 Feb 2010
Eugene
A
  • Bloccata
Amministrazione Digital-Designs Elaborazione Siti Web, Open Source PHP, Flash
  • apocalipse
  • 25 Ago 2005
  • HTML e CSS
Risposte
0
Visite
1K
HTML e CSS 25 Ago 2005
apocalipse
A
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
G
campo non presente nel form
  • Gae
  • 7 Mag 2024
  • Javascript
Risposte
2
Visite
3K
Javascript 8 Mag 2024
Gae
G
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
K
Form che manda dati doppi
  • kamibest
  • 5 Ott 2023
  • PHP
Risposte
1
Visite
1K
PHP 5 Ott 2023
mapa
M
K
Problema form update
  • Kiko74b
  • 22 Giu 2023
  • PHP
Risposte
2
Visite
1K
PHP 3 Ott 2023
WEBLEADERS
W
[Contact form 7] Inserire Numero auto incrementante
  • Elisacau
  • 6 Mar 2023
  • WordPress
Risposte
1
Visite
2K
WordPress 15 Mag 2023
mariathomas
M
K
form Inserimento record mysql
  • Kiko74b
  • 21 Gen 2023
  • PHP
Risposte
2
Visite
1K
PHP 25 Gen 2023
WmbertSea
I
Form con selettore
  • Ikon
  • 2 Dic 2022
  • HTML e CSS
Risposte
0
Visite
915
HTML e CSS 2 Dic 2022
Ikon
I
K
[php]form invio dati
  • Kiko74b
  • 7 Nov 2022
  • PHP
Risposte
0
Visite
1K
PHP 7 Nov 2022
Kiko74b
K
G
form invio multiplo con checkbox
  • giacomo9783
  • 29 Ott 2022
  • PHP
Risposte
12
Visite
2K
PHP 1 Nov 2022
marino51
Intercettare form solo dopo invio
  • nivaria.achinet
  • 29 Apr 2022
  • Javascript
Risposte
1
Visite
1K
Javascript 30 Apr 2022
otto9due
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?