PDA

View Full Version : Creazione di un form [html/PHP]


fabbri.fili
22-08-2013, 16:51
Ciao, ho un problema con la creazione di un form, è stato creato con html e devo renderlo funzionale, per far questo dovrei farlo in php, ma non conosco molto di PHP.
Qualcuno può aiutarmi o consigliarmi?

OoZic
22-08-2013, 17:49
requisito fondamentale: sarà forse scontato ma il server deve avere php installato altrimenti non funziona niente.

istruzioni semplici con screenshot che ti aiutano a capire:
http://www.phpeasystep.com/phptu/8.html

html:
<table width="400" border="0" align="center" cellpadding="3" cellspacing="1">
<tr>
<td><strong>Contact Form </strong>
</td>
</tr>
</table>
<table width="400" border="0" align="center" cellpadding="0" cellspacing="1">
<tr>
<td>
<form name="form1" method="post" action="send_contact.php">
<table width="100%" border="0" cellspacing="1" cellpadding="3">
<tr>
<td width="16%">Subject</td>
<td width="2%">:</td>
<td width="82%">
<input name="subject" type="text" id="subject" size="50">
</td>
</tr>
<tr>
<td>Detail</td>
<td>:</td>
<td>
<textarea name="detail" cols="50" rows="4" id="detail"></textarea>
</td>
</tr>
<tr>
<td>Name</td>
<td>:</td>
<td>
<input name="name" type="text" id="name" size="50">
</td>
</tr>
<tr>
<td>Email</td>
<td>:</td>
<td>
<input name="customer_mail" type="text" id="customer_mail" size="50">
</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>
<input type="submit" name="Submit" value="Submit">
<input type="reset" name="Submit2" value="Reset">
</td>
</tr>
</table>
</form>
</td>
</tr>
</table>


php:
<?php

// Contact subject
$subject ="$subject";

// Details
$message="$detail";

// Mail of sender
$mail_from="$customer_mail";

// From
$header="from: $name <$mail_from>";

// Enter your email address
$to ='someone@somewhere.com';
$send_contact=mail($to,$subject,$message,$header);

// Check, if message sent to your email
// display message "We've recived your information"
if($send_contact){
echo "We've recived your contact information";
}
else {
echo "ERROR";
}
?>

se vuoi ulteriori informazioni leggiti la funziona mail() di php
http://php.net/manual/en/function.mail.php

fabbri.fili
22-08-2013, 18:17
requisito fondamentale: sarà forse scontato ma il server deve avere php installato altrimenti non funziona niente.

istruzioni semplici con screenshot che ti aiutano a capire:
http://www.phpeasystep.com/phptu/8.html

html:
<table width="400" border="0" align="center" cellpadding="3" cellspacing="1">
<tr>
<td><strong>Contact Form </strong>
</td>
</tr>
</table>
<table width="400" border="0" align="center" cellpadding="0" cellspacing="1">
<tr>
<td>
<form name="form1" method="post" action="send_contact.php">
<table width="100%" border="0" cellspacing="1" cellpadding="3">
<tr>
<td width="16%">Subject</td>
<td width="2%">:</td>
<td width="82%">
<input name="subject" type="text" id="subject" size="50">
</td>
</tr>
<tr>
<td>Detail</td>
<td>:</td>
<td>
<textarea name="detail" cols="50" rows="4" id="detail"></textarea>
</td>
</tr>
<tr>
<td>Name</td>
<td>:</td>
<td>
<input name="name" type="text" id="name" size="50">
</td>
</tr>
<tr>
<td>Email</td>
<td>:</td>
<td>
<input name="customer_mail" type="text" id="customer_mail" size="50">
</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>
<input type="submit" name="Submit" value="Submit">
<input type="reset" name="Submit2" value="Reset">
</td>
</tr>
</table>
</form>
</td>
</tr>
</table>


php:
<?php

// Contact subject
$subject ="$subject";

// Details
$message="$detail";

// Mail of sender
$mail_from="$customer_mail";

// From
$header="from: $name <$mail_from>";

// Enter your email address
$to ='someone@somewhere.com';
$send_contact=mail($to,$subject,$message,$header);

// Check, if message sent to your email
// display message "We've recived your information"
if($send_contact){
echo "We've recived your contact information";
}
else {
echo "ERROR";
}
?>

se vuoi ulteriori informazioni leggiti la funziona mail() di php
http://php.net/manual/en/function.mail.php

Ti mando il mio form, potresti cortesemente farmi il codice php per l'invio della mail con i miei campi?
il codice php è da incorporare nella stessa pagina dell'html
Grazie in anticipo

<form method="post" name="contact" action="#">

<p><b>PER SOCIO</b></p>
<label for="author">Nome socio:</label> <input type="text" id="author" name="author" class="required input_field" />
<div class="cleaner_h10"></div>
<label for="url">indirizzo:</label> <input type="text" name="url" id="url" class="input_field" />
<div class="cleaner_h10"></div>
<label for="text">Generi musicali:</label> <textarea id="text" name="text" rows="0" cols="0" class="required"></textarea>
<div class="cleaner_h10"></div>
<label for="email">Email: (se ne sei sprovvisto sarai avvisato tramite sms)</label> <input type="text" id="email" name="email" class="validate-email required input_field" />
<div class="cleaner_h10"></div>

<label for="url">cel:</label> <input type="text" name="url" id="url" class="input_field" />

<div class="cleaner_h10"></div>
<label for="text"><a href="questionario_spedito.html"><img src="images/bottone.PNG" width="90" height="30"/></a></label>

</form>

OoZic
22-08-2013, 19:36
Non ero molto dell'idea di scrivertelo io perchè così non impari niente...

Devi solo cambiare nomepagina.php col nome della tua pagina e email-su-cui-ricevere-il-form@sito.it con la tua mail.

Andrebbero fatti dei controlli server-side per validare gli input e/o client-side.

<?php
if ( empty($_POST['socio']) || empty($_POST['generi']) || empty($_POST['email']) )
{
?>
<form method="post" name="contact" action="nomepagina.php">

<p><b>PER SOCIO</b></p>
<label for="socio">Nome socio:</label>
<input type="text" id="socio" name="socio" class="required input_field" />
<div class="cleaner_h10"></div>

<label for="indirizzo">indirizzo:</label>
<input type="text" name="indirizzo" id="indirizzo" class="input_field" />
<div class="cleaner_h10"></div>

<label for="generi">Generi musicali:</label>
<textarea id="generi" name="generi" rows="0" cols="0" class="required"></textarea>
<div class="cleaner_h10"></div>

<label for="email">Email: (se ne sei sprovvisto sarai avvisato tramite sms)</label>
<input type="text" id="email" name="email" class="validate-email required input_field" />
<div class="cleaner_h10"></div>

<label for="cel">cel:</label>
<input type="text" name="cel" id="cel" class="input_field" />

<div class="cleaner_h10"></div>
<input type="submit" name="Invia form" />

</form>


<?php
}
else
{
$socio = $_POST['socio'] ;
$indirizzo = $_POST['indirizzo'] ;
$email = $_POST['email'] ;
$generi = $_POST['generi'] ;
$cel = $_POST['cel'] ;

$to = "email-su-cui-ricevere-il-form@sito.it";
$email_subject = "Form completato da: $socio";
$email_body = "Name: $socio \n ".
"Email: $email \n ".
"Indirizzo: $indirizzo \n ".
"Generi: $generi \n ".
"Cel: $cel \n ";
$headers = "From: email-su-cui-ricevere-il-form@sito.it \n";
$headers .= "Reply-To: $email";
mail($to,$email_subject,$email_body,$headers);
echo "<p>Ehi stronzo il tuo form è stato spedito correttamente!</p>";
}
?>

fabbri.fili
23-08-2013, 20:23
Non ero molto dell'idea di scrivertelo io perchè così non impari niente...

Devi solo cambiare nomepagina.php col nome della tua pagina e email-su-cui-ricevere-il-form@sito.it con la tua mail.

Andrebbero fatti dei controlli server-side per validare gli input e/o client-side.

<?php
if ( empty($_POST['socio']) || empty($_POST['generi']) || empty($_POST['email']) )
{
?>
<form method="post" name="contact" action="nomepagina.php">

<p><b>PER SOCIO</b></p>
<label for="socio">Nome socio:</label>
<input type="text" id="socio" name="socio" class="required input_field" />
<div class="cleaner_h10"></div>

<label for="indirizzo">indirizzo:</label>
<input type="text" name="indirizzo" id="indirizzo" class="input_field" />
<div class="cleaner_h10"></div>

<label for="generi">Generi musicali:</label>
<textarea id="generi" name="generi" rows="0" cols="0" class="required"></textarea>
<div class="cleaner_h10"></div>

<label for="email">Email: (se ne sei sprovvisto sarai avvisato tramite sms)</label>
<input type="text" id="email" name="email" class="validate-email required input_field" />
<div class="cleaner_h10"></div>

<label for="cel">cel:</label>
<input type="text" name="cel" id="cel" class="input_field" />

<div class="cleaner_h10"></div>
<input type="submit" name="Invia form" />

</form>


<?php
}
else
{
$socio = $_POST['socio'] ;
$indirizzo = $_POST['indirizzo'] ;
$email = $_POST['email'] ;
$generi = $_POST['generi'] ;
$cel = $_POST['cel'] ;

$to = "email-su-cui-ricevere-il-form@sito.it";
$email_subject = "Form completato da: $socio";
$email_body = "Name: $socio \n ".
"Email: $email \n ".
"Indirizzo: $indirizzo \n ".
"Generi: $generi \n ".
"Cel: $cel \n ";
$headers = "From: email-su-cui-ricevere-il-form@sito.it \n";
$headers .= "Reply-To: $email";
mail($to,$email_subject,$email_body,$headers);
echo "<p>Ehi stronzo il tuo form è stato spedito correttamente!</p>";
}
?>

Ciao, volevo uno ringraziarti per il codice che mi hai mandato e volevo chiederti se il codice php lo devo inserire nella pagina dell'action.
Ti ho chiesto di farmelo perché ho una scadenza e non ho tempo per imparare il codice

OoZic
23-08-2013, 20:43
come ti avevo già scritto sopra se la tua pagina "html" si chiama nomepagina.html devi inserire quel blocco di codice all'interno della pagina dove vuoi che venga visualizzato il form e successivamente rinominare la pagina nomepagina.html -> nomepagina.php

all'interno del codice devi sostituire al posto di "nomepagina.php" il vero nomepagina.php e l'indirizzo email metti il tuo o un indirizzo che vuoi compaia come mittente (quello del dominio del sito in genere si usa)

fabbri.fili
24-08-2013, 14:12
come ti avevo già scritto sopra se la tua pagina "html" si chiama nomepagina.html devi inserire quel blocco di codice all'interno della pagina dove vuoi che venga visualizzato il form e successivamente rinominare la pagina nomepagina.html -> nomepagina.php

all'interno del codice devi sostituire al posto di "nomepagina.php" il vero nomepagina.php e l'indirizzo email metti il tuo o un indirizzo che vuoi compaia come mittente (quello del dominio del sito in genere si usa)

ciao, ho seguito le tue istruzioni ma non mi funziona, la mia pagina si chiama index.php e nell'action ho scritto index.php ma mi viene come da immagine ed all'invio ritorna alla home.
grazie per la pazienza

p.s allego link immagine: http://img43.imageshack.us/img43/9902/1lz8.png

OoZic
24-08-2013, 16:30
1 - se noti infondo c'è un errore, probabilmente hai copiato male il codice che ti ho messo perchè ti compare
"; } ?>

2 - sei sicuro che stai visualizzando il file php tramite webserver? ti avevo scritto nel primo post:
requisito fondamentale: sarà forse scontato ma il server deve avere php installato altrimenti non funziona niente.

se non hai un webserver che "interpreta" i file php non funzionerà mai niente.

postami il sorgente completo di index.php
assicurati di avere webserver installato e funzionante con php

fabbri.fili
24-08-2013, 16:38
1 - se noti infondo c'è un errore, probabilmente hai copiato male il codice che ti ho messo perchè ti compare
"; } ?>

2 - sei sicuro che stai visualizzando il file php tramite webserver? ti avevo scritto nel primo post:

se non hai un webserver che "interpreta" i file php non funzionerà mai niente.

postami il sorgente completo di index.php
assicurati di avere webserver installato e funzionante con php

ti posto il codice oppure vuoi il file?
come webserver va bene phpmyadmin oppure installo apache?
Io ho questa versione: http://img191.imageshack.us/img191/7780/1afx.jpg
Ti invio il link per il file index.php, sono 7/8 pagine in una perchè il template è così, dovrei fare 3 form: socio, gestore locale ed il contattaci, se puoi cortesemente aiutarmi su tutte e 3 ti ringranzio infinitamente.
Ciao

OoZic
24-08-2013, 21:54
credo sia arrivato il momento che ti sforzi ad imparare qualcosa altrimenti non serve a nulla quel che ti dico...

devi aprire i file dal webserver (localhost) altrimenti non stai interpretando il php.

crea un file chiamato phpinfo.php e all'interno inserisci questo codice poi aprilo

<?php
phpinfo();
?>


se lo apri dal webserver vedrai correttamente se hai php installato, viceversa vedi solo quel codice e null'altro.

qual'è la cartella che hai impostato come document root di apache?
devi mettere li i file php

se vuoi essere sicuro di avere php e apache (webserver) installati e funzionanti guarda se hai fatto come dice questa guida:
http://www.vbforums.com/showthread.php?651571-Installing-PHP-5-3-and-Apache-HTTP-Server-on-Windows-7

fabbri.fili
25-08-2013, 12:41
credo sia arrivato il momento che ti sforzi ad imparare qualcosa altrimenti non serve a nulla quel che ti dico...

devi aprire i file dal webserver (localhost) altrimenti non stai interpretando il php.

crea un file chiamato phpinfo.php e all'interno inserisci questo codice poi aprilo

<?php
phpinfo();
?>


se lo apri dal webserver vedrai correttamente se hai php installato, viceversa vedi solo quel codice e null'altro.

qual'è la cartella che hai impostato come document root di apache?
devi mettere li i file php

se vuoi essere sicuro di avere php e apache (webserver) installati e funzionanti guarda se hai fatto come dice questa guida:
http://www.vbforums.com/showthread.php?651571-Installing-PHP-5-3-and-Apache-HTTP-Server-on-Windows-7

ciao, il webserver con apache l'ho installato correttamente, non ho capito cosa intendevi con: devi mettere li i file php, quali file? Quelli che creo tipo del sito che sto creando?

OoZic
25-08-2013, 13:33
crea un file chiamato
info.php

il suo contenuto deve essere il seguente:

<?php
phpinfo();
?>


salva e aprilo sul browser.

se il tuo webserver funziona correttamente visualizzerai una schermata simile:
http://f.cl.ly/items/2U3I0w12133Q3W3T3P2I/Schermata%202013-08-25%20alle%2014.32.46.png


se non la vedi non hai configurato correttamente php e/o webserver.

fabbri.fili
25-08-2013, 13:39
crea un file chiamato
info.php

il suo contenuto deve essere il seguente:

<?php
phpinfo();
?>


salva e aprilo sul browser.

se il tuo webserver funziona correttamente visualizzerai una schermata simile:
http://f.cl.ly/items/2U3I0w12133Q3W3T3P2I/Schermata%202013-08-25%20alle%2014.32.46.png


se non la vedi non hai configurato correttamente php e/o webserver.

si si come da guida e funziona perfettamente come hai riportato tu e dalla guida

OoZic
25-08-2013, 13:53
okay quindi ora prendi la tua pagina che stai creando, ammettiamo che si chiama index.html
ed è composta da:

<html>
<head>
<body>
...contenuto...
</body>
</head>
</html>


la rinomini index.php e all'interno della pagina nel punto in cui c'è il form inserisci il codice che ti avevo scritto, ricordandoti di cambiare il nomepagina.php in index.php, come riportato qui sotto:


<?php
if ( empty($_POST['socio']) || empty($_POST['generi']) || empty($_POST['email']) )
{
?>
<form method="post" name="contact" action="index.php">

<p><b>PER SOCIO</b></p>
<label for="socio">Nome socio:</label>
<input type="text" id="socio" name="socio" class="required input_field" />
<div class="cleaner_h10"></div>

<label for="indirizzo">indirizzo:</label>
<input type="text" name="indirizzo" id="indirizzo" class="input_field" />
<div class="cleaner_h10"></div>

<label for="generi">Generi musicali:</label>
<textarea id="generi" name="generi" rows="0" cols="0" class="required"></textarea>
<div class="cleaner_h10"></div>

<label for="email">Email: (se ne sei sprovvisto sarai avvisato tramite sms)</label>
<input type="text" id="email" name="email" class="validate-email required input_field" />
<div class="cleaner_h10"></div>

<label for="cel">cel:</label>
<input type="text" name="cel" id="cel" class="input_field" />

<div class="cleaner_h10"></div>
<input type="submit" name="Invia form" />

</form>


<?php
}
else
{
$socio = $_POST['socio'] ;
$indirizzo = $_POST['indirizzo'] ;
$email = $_POST['email'] ;
$generi = $_POST['generi'] ;
$cel = $_POST['cel'] ;

$to = "email-su-cui-ricevere-il-form@sito.it";
$email_subject = "Form completato da: $socio";
$email_body = "Name: $socio \n ".
"Email: $email \n ".
"Indirizzo: $indirizzo \n ".
"Generi: $generi \n ".
"Cel: $cel \n ";
$headers = "From: email-su-cui-ricevere-il-form@sito.it \n";
$headers .= "Reply-To: $email";
mail($to,$email_subject,$email_body,$headers);
echo "<p>Il tuo form è stato spedito correttamente!</p>";
}
?>



quindi il risultato della pagina index.php sarà il seguente:


<html>
<head>
</head>
<body>
... contenuto ...

<?php
if ( empty($_POST['socio']) || empty($_POST['generi']) || empty($_POST['email']) )
{
?>
<form method="post" name="contact" action="index.php">

<p><b>PER SOCIO</b></p>
<label for="socio">Nome socio:</label>
<input type="text" id="socio" name="socio" class="required input_field" />
<div class="cleaner_h10"></div>

<label for="indirizzo">indirizzo:</label>
<input type="text" name="indirizzo" id="indirizzo" class="input_field" />
<div class="cleaner_h10"></div>

<label for="generi">Generi musicali:</label>
<textarea id="generi" name="generi" rows="0" cols="0" class="required"></textarea>
<div class="cleaner_h10"></div>

<label for="email">Email: (se ne sei sprovvisto sarai avvisato tramite sms)</label>
<input type="text" id="email" name="email" class="validate-email required input_field" />
<div class="cleaner_h10"></div>

<label for="cel">cel:</label>
<input type="text" name="cel" id="cel" class="input_field" />

<div class="cleaner_h10"></div>
<input type="submit" name="Invia form" />

</form>

<?php
}
else
{
$socio = $_POST['socio'] ;
$indirizzo = $_POST['indirizzo'] ;
$email = $_POST['email'] ;
$generi = $_POST['generi'] ;
$cel = $_POST['cel'] ;

$to = "email-su-cui-ricevere-il-form@sito.it";
$email_subject = "Form completato da: $socio";
$email_body = "Name: $socio \n ".
"Email: $email \n ".
"Indirizzo: $indirizzo \n ".
"Generi: $generi \n ".
"Cel: $cel \n ";
$headers = "From: email-su-cui-ricevere-il-form@sito.it \n";
$headers .= "Reply-To: $email";
mail($to,$email_subject,$email_body,$headers);
echo "<p>Il tuo form è stato spedito correttamente!</p>";
}
?>

... ulteriore contenuto ...
</body>
</html>

fabbri.fili
25-08-2013, 14:58
okay quindi ora prendi la tua pagina che stai creando, ammettiamo che si chiama index.html
ed è composta da:

<html>
<head>
<body>
...contenuto...
</body>
</head>
</html>


la rinomini index.php e all'interno della pagina nel punto in cui c'è il form inserisci il codice che ti avevo scritto, ricordandoti di cambiare il nomepagina.php in index.php, come riportato qui sotto:


<?php
if ( empty($_POST['socio']) || empty($_POST['generi']) || empty($_POST['email']) )
{
?>
<form method="post" name="contact" action="index.php">

<p><b>PER SOCIO</b></p>
<label for="socio">Nome socio:</label>
<input type="text" id="socio" name="socio" class="required input_field" />
<div class="cleaner_h10"></div>

<label for="indirizzo">indirizzo:</label>
<input type="text" name="indirizzo" id="indirizzo" class="input_field" />
<div class="cleaner_h10"></div>

<label for="generi">Generi musicali:</label>
<textarea id="generi" name="generi" rows="0" cols="0" class="required"></textarea>
<div class="cleaner_h10"></div>

<label for="email">Email: (se ne sei sprovvisto sarai avvisato tramite sms)</label>
<input type="text" id="email" name="email" class="validate-email required input_field" />
<div class="cleaner_h10"></div>

<label for="cel">cel:</label>
<input type="text" name="cel" id="cel" class="input_field" />

<div class="cleaner_h10"></div>
<input type="submit" name="Invia form" />

</form>


<?php
}
else
{
$socio = $_POST['socio'] ;
$indirizzo = $_POST['indirizzo'] ;
$email = $_POST['email'] ;
$generi = $_POST['generi'] ;
$cel = $_POST['cel'] ;

$to = "email-su-cui-ricevere-il-form@sito.it";
$email_subject = "Form completato da: $socio";
$email_body = "Name: $socio \n ".
"Email: $email \n ".
"Indirizzo: $indirizzo \n ".
"Generi: $generi \n ".
"Cel: $cel \n ";
$headers = "From: email-su-cui-ricevere-il-form@sito.it \n";
$headers .= "Reply-To: $email";
mail($to,$email_subject,$email_body,$headers);
echo "<p>Il tuo form è stato spedito correttamente!</p>";
}
?>



quindi il risultato della pagina index.php sarà il seguente:


<html>
<head>
</head>
<body>
... contenuto ...

<?php
if ( empty($_POST['socio']) || empty($_POST['generi']) || empty($_POST['email']) )
{
?>
<form method="post" name="contact" action="index.php">

<p><b>PER SOCIO</b></p>
<label for="socio">Nome socio:</label>
<input type="text" id="socio" name="socio" class="required input_field" />
<div class="cleaner_h10"></div>

<label for="indirizzo">indirizzo:</label>
<input type="text" name="indirizzo" id="indirizzo" class="input_field" />
<div class="cleaner_h10"></div>

<label for="generi">Generi musicali:</label>
<textarea id="generi" name="generi" rows="0" cols="0" class="required"></textarea>
<div class="cleaner_h10"></div>

<label for="email">Email: (se ne sei sprovvisto sarai avvisato tramite sms)</label>
<input type="text" id="email" name="email" class="validate-email required input_field" />
<div class="cleaner_h10"></div>

<label for="cel">cel:</label>
<input type="text" name="cel" id="cel" class="input_field" />

<div class="cleaner_h10"></div>
<input type="submit" name="Invia form" />

</form>

<?php
}
else
{
$socio = $_POST['socio'] ;
$indirizzo = $_POST['indirizzo'] ;
$email = $_POST['email'] ;
$generi = $_POST['generi'] ;
$cel = $_POST['cel'] ;

$to = "email-su-cui-ricevere-il-form@sito.it";
$email_subject = "Form completato da: $socio";
$email_body = "Name: $socio \n ".
"Email: $email \n ".
"Indirizzo: $indirizzo \n ".
"Generi: $generi \n ".
"Cel: $cel \n ";
$headers = "From: email-su-cui-ricevere-il-form@sito.it \n";
$headers .= "Reply-To: $email";
mail($to,$email_subject,$email_body,$headers);
echo "<p>Il tuo form è stato spedito correttamente!</p>";
}
?>

... ulteriore contenuto ...
</body>
</html>



purtroppo non funziona, ed oltrettutto ci sono questi caratteri dopo il tasto invia: Il tuo form è stato spedito correttamente!
"; } ?>

questo è il link: http://www.ddlstorage.com/h7k4dcxlhxaa/sito_performance.zip.htm
del sito completo...ti ringrazio per la pazienza che hai

OoZic
25-08-2013, 15:53
a me si vede correttamente, boh ho il sospetto che ci sia qualcosa che non funziona correttamente nel tuo webserver (versione php molto vecchia? apache vecchio?...sono ipotesi)
http://f.cl.ly/items/3u1E110i1X223k3W0a0E/Schermata%202013-08-25%20alle%2016.49.19.png

l'unica modifica che ho fatto è:

<form method="post" name="contact" action="index.php#questionario">

ho aggiunto #questionario se no ritorna alla home e l'utente non vede che è stato inviato correttamente.

in locale la mail non viene inviata a meno che tu non abbia configurato il mail server locale.

metti il file su un webserver su internet configurato a dovere e funziona senza problemi, l'ho testato sul mio:
http://f.cl.ly/items/2P1F2M1U332d300C1E3k/Schermata%202013-08-25%20alle%2016.49.11.png

fabbri.fili
25-08-2013, 19:48
a me si vede correttamente, boh ho il sospetto che ci sia qualcosa che non funziona correttamente nel tuo webserver (versione php molto vecchia? apache vecchio?...sono ipotesi)
http://f.cl.ly/items/3u1E110i1X223k3W0a0E/Schermata%202013-08-25%20alle%2016.49.19.png

l'unica modifica che ho fatto è:

<form method="post" name="contact" action="index.php#questionario">

ho aggiunto #questionario se no ritorna alla home e l'utente non vede che è stato inviato correttamente.

in locale la mail non viene inviata a meno che tu non abbia configurato il mail server locale.

metti il file su un webserver su internet configurato a dovere e funziona senza problemi, l'ho testato sul mio:
http://f.cl.ly/items/2P1F2M1U332d300C1E3k/Schermata%202013-08-25%20alle%2016.49.11.png


Edit grazie mille per l'aiuto, ti devo una bevuta se passi per riccione

fabbri.fili
25-08-2013, 20:16
risolto pure il CC, ora ti devo chiedere per l'ultima pagina che sono i contatti mi aiuteresti perchè sono molti campi?

OoZic
25-08-2013, 20:51
Edit grazie mille per l'aiuto, ti devo una bevuta se passi per riccione

ci conto :)

risolto pure il CC, ora ti devo chiedere per l'ultima pagina che sono i contatti mi aiuteresti perchè sono molti campi?

provaci da solo poi posta il codice e se non funziona te lo correggo.

fai un piccolo sforzo su :)

fabbri.fili
25-08-2013, 21:05
Edit

OoZic
25-08-2013, 21:39
errori presenti:
- i name e le variabili sono case-sensitive, se scrivi "email" non è uguale a "Email", allo stesso modo $email è diverso da $Email.
- cerca di tenere uguali nomi, id e label, per una questione di ordine e per non fare conflitti.


<?php
if ( empty($_POST['Ragione']) || empty($_POST['indirizzo']) || empty($_POST['Piva']) || empty($_POST['Data']) || empty($_POST['Luogo']) || empty($_POST['Generi']) || empty($_POST['Email']) || empty($_POST['cel']))
{
?>
<table>
<tr>
<td><form method="post" name="contact" action="index.php#questionario1">

<p><b>PER GESTORE LOCALE:</b></p>
<label for="author">Ragione sociale locale:</label> <input type="text" id="Ragione" name="Ragione" class="required input_field" />
<div class="cleaner_h10"></div>
<label for="indirizzo">indirizzo:</label> <input type="text" name="indirizzo" id="indirizzo" class="input_field" />
<div class="cleaner_h10"></div>

<label for="Piva">P.iva / cod fiscale:</label> <input type="text" name="Piva" id="Piva" class="input_field" />
<div class="cleaner_h10"></div>

<label for="Data">Data Serata:</label> <input type="text" name="Data" id="Data" class="input_field" />

<div class="cleaner_h10"></div>
<label for="Luogo">Luogo della serata:</label> <input type="text" name="Luogo" id="Luogo" class="input_field" />
<div class="cleaner_h10"></div>

<label for="Generi">Generi musicali richiesti:</label> <textarea id="Generi" name="Generi" rows="0" cols="0" class="required"></textarea></td>



<td>
<label for="Email">Email: (se ne sei sprovvisto sarai avvisato tramite sms)</label><br> <input type="text" id="Email" name="Email" class="validate-email required input_field" />
<div class="cleaner_h10"></div>
<label for="cel">cel:</label><br> <input type="text" name="cel" id="cel" class="input_field" />
<div class="cleaner_h10"></div>
<input type="submit" name="Invia form" />
</tr>
</table>

</form>
<?php
}
else
{
$Ragione = $_POST['Ragione'] ;
$indirizzo = $_POST['indirizzo'] ;
$Piva = $_POST['Piva'] ;
$Data = $_POST['Data'] ;
$Luogo = $_POST['Luogo'] ;
$Generi = $_POST['Generi'] ;
$Email = $_POST['Email'] ;
$cel = $_POST['cel'] ;



$to = "pipes80@alice.it, deborharuggiero@gmail.com";
$email_subject = "Form completato da: $Ragione";
$email_body = "Ragione sociale: $Ragione \n ".

"Indirizzo: $indirizzo \n ".
"Piva: $Piva \n ".
"Data: $Data \n ";
"Luogo: $Luogo \n ".
"Generi: $generi \n ".
"Email: $email \n ".
"cel: $cel \n ".
$headers = "From: test@mattia-asti.it \n";
$headers .= "Reply-To: $email";
mail($to,$email_subject,$email_body,$headers);
echo "<p>Il tuo form è stato spedito correttamente!</p>";
}
?>

fabbri.fili
25-08-2013, 21:45
Ho risolto, errori di maiuscole, ora mi manca solamente la pagina dei contatti...grazie mille per l'aiuto!!!

fabbri.fili
25-08-2013, 22:24
Ora ho questo codice e non mi funziona, ti posto il codice

<?php
if ( empty($_POST['Ragione']) || empty($_POST['Nome']) || empty($_POST['Indirizzo']) || empty($_POST['Città']) || empty($_POST['Provincia']) || empty($_POST['CAP']) || empty($_POST['Nazione']) || empty($_POST['Email']) || empty($_POST['Tel']) || empty($_POST['Fax']) || empty($_POST['Cellulare']) || empty($_POST['Richiesta']) || empty($_POST['Trattamento']))
{
?>
<table width="590" height="100">

<form method="post" action="index.php#contactus">
<tr>
<td ><label >Ragione sociale:</label><br>
<input type="text" id="Ragione" name="Ragione" class="" /></td>

<td><label >Nome e cognome:</label><br>
<input type="text" id="Nome" name="Nome" class="" /></td>

<td > <label >Indirizzo:</label><br>
<input type="text" id="Indirizzo" name="Indirizzo" class="" /></td>

</tr>
<tr>

<td> <label>Città:</label> <br>
<input type="text" id="Città" name="Città" class="" /></td>

<td ><label>Provincia:</label><br>
<input type="text" id="Provincia" name="Provincia" class="" /></td>

<td> <label>CAP:</label> <br>
<input type="text" id="CAP" name="CAP" class="" /></td>
</tr>
<tr>

</tr>
<tr>
<td><label>Nazione:</label> <br>
<input type="text" id="Nazione" name="Nazione" class="" /></td>

<td > <label>Email:</label><br>
<input type="text" id="Email" name="Email" class="" /></td>

<td><label>Tel:</label> <br>
<input type="text" id="Tel" name="Tel" class="" /></td>
</tr>
<tr>

<td> <label>Fax:</label><br>
<input type="text" id="Fax" name="Fax" class="" /></td>

<td><label>Cellulare:</label><br>
<input type="text" id="Cellulare" name="Cellulare" class="" /></td>

<td><label for="text">Richiesta:</label><br>
<textarea id="Richiesta" name="Richiesta" rows="0" cols="23" class="required"></textarea>
</td>
</tr>

<tr>
<td> <label>Trattamento dei dati personali:</label><br>
<input type="text" id="Trattamento" name="Trattamento " class="" /></td>
<td>
<input type="submit" name="Invia form" />
</td>

</tr>
</table>
</form>
<?php
}
else
{
$Ragione = $_POST['Ragione'] ;
$Nome = $_POST['Nome'] ;
$Indirizzo = $_POST['Indirizzo'] ;
$Città = $_POST['Città'] ;
$Provincia = $_POST['Provincia'] ;
$CAP = $_POST['CAP'] ;
$Nazione = $_POST['Nazione'] ;
$Email = $_POST['Email'] ;
$Tel = $_POST['Tel'] ;
$Cellulare = $_POST['Cellulare'] ;
$Richiesta = $_POST['Richiesta'] ;
$Trattamento = $_POST['Trattamento'] ;




$to = "pipes80@alice.it, deborharugiero@gmail.com";
$email_subject = "Form completato da: $Ragione";
$email_body = "Ragione sociale: $Ragione \n ".
"Nome: $Nome \n ".
"Indirizzo: $Indirizzo \n ".
"Città: $Città \n ".
"Provincia: $Provincia \n ".
"CAP: $CAP \n ".
"Nazione: $Nazione \n ".
"Email: $Email \n ".
"Tel: $Tel \n ".
"Cellulare: $Cellulare \n ".
"Richiesta: $Richiesta \n ".
"Email: $Email \n ".
"Trattamento: $Trattamento \n ".
$headers = "From: info@performanceart.it \n";
$headers .= "Reply-To: $Email";
mail($to,$email_subject,$email_body,$headers);
echo "<p>I tuoi contatti sono stati spediti correttamente!</p>";
}
?>

OoZic
25-08-2013, 22:39
al posto di
Città
metti
Citta

meglio evitare gli accenti.

fabbri.fili
26-08-2013, 17:19
al posto di
Città
metti
Citta

meglio evitare gli accenti.

Ciao ho fatto la modifica ma nisba, continua a non funzionare. ti posto il codice

<?php
if ( empty($_POST['ragione']) || empty($_POST['Nome']) || empty($_POST['Indirizzo']) || empty($_POST['Citta']) || empty($_POST['Provincia']) || empty($_POST['CAP']) || empty($_POST['Nazione']) || empty($_POST['Email']) || empty($_POST['Tel']) || empty($_POST['Fax']) || empty($_POST['Cellulare']) || empty($_POST['Richiesta']) || empty($_POST['Trattamento']))
{
?>
<table width="590" height="100">

<form method="post" action="index.php#contactus">
<tr>
<td ><label >Ragione sociale:</label><br>
<input type="text" id="ragione" name="ragione" class="" /></td>

<td><label >Nome e cognome:</label><br>
<input type="text" id="Nome" name="Nome" class="" /></td>

<td > <label >Indirizzo:</label><br>
<input type="text" id="Indirizzo" name="Indirizzo" class="" /></td>

</tr>
<tr>

<td> <label>Citta:</label> <br>
<input type="text" id="Citta" name="Citta" class="" /></td>

<td ><label>Provincia:</label><br>
<input type="text" id="Provincia" name="Provincia" class="" /></td>

<td> <label>CAP:</label> <br>
<input type="text" id="CAP" name="CAP" class="" /></td>
</tr>
<tr>

</tr>
<tr>
<td><label>Nazione:</label> <br>
<input type="text" id="Nazione" name="Nazione" class="" /></td>

<td > <label>Email:</label><br>
<input type="text" id="Email" name="Email" class="" /></td>

<td><label>Tel:</label> <br>
<input type="text" id="Tel" name="Tel" class="" /></td>
</tr>
<tr>

<td> <label>Fax:</label><br>
<input type="text" id="Fax" name="Fax" class="" /></td>

<td><label>Cellulare:</label><br>
<input type="text" id="Cellulare" name="Cellulare" class="" /></td>

<td><label for="text">Richiesta:</label><br>
<textarea id="Richiesta" name="Richiesta" rows="0" cols="23" class="required"></textarea>
</td>
</tr>

<tr>
<td> <label>Trattamento dei dati personali:</label><br>
<input type="text" id="Trattamento" name="Trattamento " class="" /></td>
<td>
<input type="submit" name="Invia form" />
</td>

</tr>

</table>
</form>

<?php
}
else
{
$ragione = $_POST['ragione'] ;
$Nome = $_POST['Nome'] ;
$Indirizzo = $_POST['Indirizzo'] ;
$Citta = $_POST['Citta'] ;
$Provincia = $_POST['Provincia'] ;
$CAP = $_POST['CAP'] ;
$Nazione = $_POST['Nazione'] ;
$Email = $_POST['Email'] ;
$Tel = $_POST['Tel'] ;
$Cellulare = $_POST['Cellulare'] ;
$Richiesta = $_POST['Richiesta'] ;
$Trattamento = $_POST['Trattamento'] ;




$to = "pipes80@alice.it, deborharuggiero@gmail.com";
$email_subject = "Form completato da: $ragione";
$email_body = "Ragione sociale: $ragione \n ".
"Nome: $Nome \n ".
"Indirizzo: $Indirizzo \n ".
"Citta: $Citta \n ".
"Provincia: $Provincia \n ".
"CAP: $CAP \n ".
"Nazione: $Nazione \n ".
"Email: $Email \n ".
"Tel: $Tel \n ".
"Cellulare: $Cellulare \n ".
"Richiesta: $Richiesta \n ".
"Trattamento: $Trattamento \n ".
$headers = "From: info@performanceart.it \n";
$headers .= "Reply-To: $Email";
mail($to,$email_subject,$email_body,$headers);
echo "<p>I tuoi contatti sono stati spediti correttamente!</p>";
}
?>

ciao e grazie mille

OoZic
26-08-2013, 19:39
c'erano due errori
<input ... name="invia form"> invece è corretto value="invia form"
c'era uno spazio in name="trattamento " che produceva una variabile "trattamento_" e quindi la condizione non era mai verificata.


<?php
if ( empty($_POST['ragione']) || empty($_POST['Nome']) || empty($_POST['Indirizzo']) || empty($_POST['Citta']) || empty($_POST['Provincia']) || empty($_POST['CAP']) || empty($_POST['Nazione']) || empty($_POST['Email']) || empty($_POST['Tel']) || empty($_POST['Fax']) || empty($_POST['Cellulare']) || empty($_POST['Richiesta']) || empty($_POST['Trattamento']) )
{
?>
<table width="590" height="100">
<form method="post" action="form2.php">
<tr>
<td ><label >Ragione sociale:</label><br>
<input type="text" id="ragione" name="ragione" class="" />
</td>
<td><label >Nome e cognome:</label><br>
<input type="text" id="Nome" name="Nome" class="" />
</td>
<td > <label >Indirizzo:</label><br>
<input type="text" id="Indirizzo" name="Indirizzo" class="" />
</td>
</tr>
<tr>
<td> <label>Citta:</label> <br>
<input type="text" id="Citta" name="Citta" class="" />
</td>
<td ><label>Provincia:</label><br>
<input type="text" id="Provincia" name="Provincia" class="" />
</td>
<td> <label>CAP:</label> <br>
<input type="text" id="CAP" name="CAP" class="" />
</td>
</tr>
<tr>
<td><label>Nazione:</label> <br>
<input type="text" id="Nazione" name="Nazione" class="" />
</td>
<td > <label>Email:</label><br>
<input type="text" id="Email" name="Email" class="" />
</td>
<td><label>Tel:</label> <br>
<input type="text" id="Tel" name="Tel" class="" />
</td>
</tr>
<tr>
<td> <label>Fax:</label><br>
<input type="text" id="Fax" name="Fax" class="" />
</td>
<td><label>Cellulare:</label><br>
<input type="text" id="Cellulare" name="Cellulare" class="" />
</td>
<td><label for="text">Richiesta:</label><br>
<textarea id="Richiesta" name="Richiesta" rows="0" cols="23" class="required"></textarea>
</td>
</tr>
<tr>
<td> <label>Trattamento dei dati personali:</label><br>
<input type="text" id="Trattamento" name="Trattamento" class="" />
</td>
<td>
<input type="submit" value="Invia form" />
</td>
</tr>
</form>
</table>
<?php
}
else
{
$ragione = $_POST['ragione'] ;
$Nome = $_POST['Nome'] ;
$Indirizzo = $_POST['Indirizzo'] ;
$Citta = $_POST['Citta'] ;
$Provincia = $_POST['Provincia'] ;
$CAP = $_POST['CAP'] ;
$Nazione = $_POST['Nazione'] ;
$Email = $_POST['Email'] ;
$Tel = $_POST['Tel'] ;
$Cellulare = $_POST['Cellulare'] ;
$Richiesta = $_POST['Richiesta'] ;
$Trattamento = $_POST['Trattamento'] ;

$to = "non mi ricordo le mail";
$email_subject = "Form completato da: $ragione";
$email_body = "Ragione sociale: $ragione \n ".
"Nome: $Nome \n ".
"Indirizzo: $Indirizzo \n ".
"Citta: $Citta \n ".
"Provincia: $Provincia \n ".
"CAP: $CAP \n ".
"Nazione: $Nazione \n ".
"Email: $Email \n ".
"Tel: $Tel \n ".
"Cellulare: $Cellulare \n ".
"Richiesta: $Richiesta \n ".
"Trattamento: $Trattamento \n ".
$headers = "From: info@performanceart.it \n";
$headers .= "Reply-To: $Email";
mail($to,$email_subject,$email_body,$headers);
echo "<p>I tuoi contatti sono stati spediti correttamente!</p>";
}
?>