Devo realizzare un form che vi invii dei dati su un email

malossa

Nuovo Utente
28 Gen 2010
4
0
0
Salve a tutti. Sto diventando pazzo, sono giorni che cerco su internet qualcosa che mi potrebbe interessare...ma quello che trovo per una cosa o per l'altra non mi soddisfa completamente...ora mi affido a voi..sperando di riuscire finalmente a risolvere il mio problemino. Grazie in anticipo

in pratica mi servirebbe un form carino e serio (da inserire in un sito) che mi invii dei dati sulla mia email.

E' un form che deve far iscrivere a dei giochi che vorrei organizzare in futuro.
Io ho pensato di mettere nella pagina del sito un pulsante ISCRIZIONE collegata alla pagina dove si trova il form iscrizione.

i campi sono Nome,Cognome,Città,Telefono,Email,Torneo (la voce torneo dovrà avere un menù elenco 1000,1001,1002) e Messaggio,

I campi, tranne il testo, sono tutti obbligatori.

Non appeva l'utente ha cliccato su iscrizione e tutto è andato bene, far comparire il messaggio LA TUA ISCRIZIONE E' STATA INVIATA e subito dopo la pagina si deve chiudere e a me mi dovrebbe arrivare in email Nome,cognome,ecc ecc.

Mi ringrazio veramente di cuore ma io non so come risolvere.
 

Rikardinho90

Utente Attivo
16 Mar 2009
50
0
0
prima di tutto devi creare il form e poi devi avere anche un file che riceva i dati inseriti dall'utente nel form e li invii al tuo indirzzo email. suppongo che il tuo spazio web supporti il linguaggio php visto che hai postato in questa sezione. fammi sapere se vuoi il mio aiuto così ti spiego tutto
 

malossa

Nuovo Utente
28 Gen 2010
4
0
0
Certo che ho bisogno...ho bisognissimo ;)

Ho trovato questi servizi automatici:Jotform, Freevo ma non credo facciano al caso mio..anche perchè penso richiamino script che si trovano nei loro server.

si, utilizerò php.
 

Rikardinho90

Utente Attivo
16 Mar 2009
50
0
0
ok allora ti scrivo i codici:
allora questo è il codice della pagina in cui si trova il form

PHP:
<html>
<head>
  
  <title>Titolo Pagina</title>
</head>
<body>
<form method="post" action="inviadati.php">
  <table style="text-align: left; width: 20%;" border="0"
 cellpadding="2" cellspacing="2">
    <tbody>
      <tr>
        <td>Nome</td>
        <td><input name="nome"></td>
      </tr>
      <tr>
        <td>Cognome</td>
        <td><input name="cognome"></td>
      </tr>
      <tr>
        <td>Citt&agrave;</td>
        <td><input name="citta"></td>
      </tr>
      <tr>
        <td>Telefono</td>
        <td><input name="telefono"></td>
      </tr>
      <tr>
        <td>E-mail</td>
        <td><input name="email"></td>
      </tr>
      <tr>
        <td>Torneo</td>
        <td>
        <select size="1" name="torneo">
        <option>1000</option>
        <option>1001</option>
        <option>1002</option>
        </select>
        </td>
      </tr>
      <tr>
        <td>Messaggio</td>
        <td><textarea cols="15" rows="3"
 name="messaggio"></textarea></td>
      </tr>
      <tr>
        <td style="text-align: center;" colspan="2"
 rowspan="1"><input name="Submit" value="Invia"
 type="submit">
        </td>
      </tr>
    </tbody>
  </table>
  <br>
</form>
</body>
</html>

poi modificherai tu la pagina x quanto riguarda titolo, grafica ecc

mentre questo è il file inviadati.php che riceve i dati inseriti nel form e li manda al tuo indirizzo email:

PHP:
<?php

// Creo il redirect
echo '<meta http-equiv="refresh" content="8;url=pagina a cui tornare dopo aver inviato il form">';

  

// Recupero il valore dei campi del form

$destinatario = "qui metti il tuo indirizzo email a cui arriveranno i dati";
$mittente = $_POST['email'];
$oggetto = $_POST['oggetto'];
$nome = $_POST['nome'];
$cognome = $_POST['cognome'];
$citta = $_POST['citta'];
$telefono = $_POST['telefono'];
$email = $_POST['email'];
$torneo = $_POST['torneo'];
$messaggio = $_POST['messaggio'];

// Creo 2 variabili che riempirò più avanti...
$headers = "From: " . $mittente;
$msg = "";

// Questa è la parte "testuale" del messaggio
  $msg .= $nome . "\n\n";
  $msg .= $cognome . "\n\n";
  $msg .= $citta . "\n\n";
  $msg .= $telefono . "\n\n";
  $msg .= $email . "\n\n";
  $msg .= $torneo . "\n\n";
  $msg .= $messaggio . "\n\n";

// Invio la mail
if (mail($destinatario, $oggetto, $msg, $headers))
{
  echo "Mail inviata";
}else{
  echo "Errore";
}
?>

ho provato tutto e funziona bene, ricordati che la pagina con il form e il file inviadati.php devono essere nella stessa cartella
 

malossa

Nuovo Utente
28 Gen 2010
4
0
0
grazie.

Ho provato le due pagine e funzionano ma ancora non sono complete.

1) sarebbe buono se i capi fossero obbligatori (tranne il testo e il telefono)
e che quindi in caso di compilazione incompleta uscisse fuori un messaggio del tipo: i campi nome e cognome..esempio..sono incompleti o qualcosa del genere.

2) nell'email che mi arriva mancano i titoli: Nome: , Cognome: ; ecc ecc
 

Rikardinho90

Utente Attivo
16 Mar 2009
50
0
0
I titoli non credo si possano aggiungere ma comunque sono in ordine di compilazione quindi al primo posto avrai sempre il nome, al secondo il cognome ecc.

modifica il file inviadati.php così e prova se funziona:

PHP:
<?php

// Creo il redirect
echo '<meta http-equiv="refresh" content="8;url=pagina a cui tornare dopo aver inviato il form">';

  

// Recupero il valore dei campi del form

$destinatario = "qui metti il tuo indirizzo email a cui arriveranno i dati";
$mittente = $_POST['email'];
$oggetto = $_POST['oggetto'];
$nome = $_POST['nome'];
$cognome = $_POST['cognome'];
$citta = $_POST['citta'];
$telefono = $_POST['telefono'];
$email = $_POST['email'];
$torneo = $_POST['torneo'];
$messaggio = $_POST['messaggio'];

// Creo 2 variabili che riempirò più avanti...
$headers = "From: " . $mittente;
$msg = "";

// Questa è la parte "testuale" del messaggio
  $msg .= $nome . "\n\n";
  $msg .= $cognome . "\n\n";
  $msg .= $citta . "\n\n";
  $msg .= $telefono . "\n\n";
  $msg .= $email . "\n\n";
  $msg .= $torneo . "\n\n";
  $msg .= $messaggio . "\n\n";

//controllo che i campi siano stati compilati
if($nome==""){

    echo "Inserisci il nome";

}elseif($cognome==""){

    echo "Inserisci il cognome";

}elseif($citta==""){

    echo "Inserisci la città";

}elseif($email==""){

    echo "Inserisci l'indirizzo e-mail";

// Invio la mail
if (mail($destinatario, $oggetto, $msg, $headers))
{
  echo "Mail inviata";
}else{
  echo "Errore";
}
?>
 

malossa

Nuovo Utente
28 Gen 2010
4
0
0
Parse error: syntax error, unexpected $end in /home/mhd-01/www.titoloesempio.com/htdocs/modulo/inviadati.php on line 58
 

Rikardinho90

Utente Attivo
16 Mar 2009
50
0
0
prova così

PHP:
<?php

// Creo il redirect
echo '<meta http-equiv="refresh" content="8;url=pagina a cui tornare dopo aver inviato il form">';

  

// Recupero il valore dei campi del form

$destinatario = "qui metti il tuo indirizzo email a cui arriveranno i dati";
$mittente = $_POST['email'];
$oggetto = $_POST['oggetto'];
$nome = $_POST['nome'];
$cognome = $_POST['cognome'];
$citta = $_POST['citta'];
$telefono = $_POST['telefono'];
$email = $_POST['email'];
$torneo = $_POST['torneo'];
$messaggio = $_POST['messaggio'];

// Creo 2 variabili che riempirò più avanti...
$headers = "From: " . $mittente;
$msg = "";

// Questa è la parte "testuale" del messaggio
  $msg .= $nome . "\n\n";
  $msg .= $cognome . "\n\n";
  $msg .= $citta . "\n\n";
  $msg .= $telefono . "\n\n";
  $msg .= $email . "\n\n";
  $msg .= $torneo . "\n\n";
  $msg .= $messaggio . "\n\n";

//controllo che i campi siano stati compilati
if($nome==""){

    echo "Inserisci il nome";

}elseif($cognome==""){

    echo "Inserisci il cognome";

}elseif($citta==""){

    echo "Inserisci la città";

}elseif($email==""){

    echo "Inserisci l'indirizzo e-mail";

// Invio la mail
}elseif (mail($destinatario, $oggetto, $msg, $headers))
{
  echo "Mail inviata";
}else{
  echo "Errore";
}
?>
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
26
Roma
alessandro1997.netsons.org
Ecco, dopo un po' di lavoro, il tuo script. Testato e funzionante. Per configurarlo modifica le prime righe, dove è definita la tua e-mail e i tornei disponibili (questi ultimi da modificare solo se li modifichi, ho già aggiunto io quelli che hai detto). Et voilà:
PHP:
<?php
// compila con la tua e-mail
$your_email = 'admin@localhost';
// inserisci i tornei disponibili
$challenges = array('1000', '1001', '1002');

function show_errors()
{
	global $errors;

	echo <<<EOF
<html>
	<head>
		<title>Errore iscrizione</title>
	</head>
	<body>
		<h1>Errore</h1>
		<p>Si sono verificati degli errori:</p>

		<ul>
		
EOF;

	foreach($errors as $err)
		echo "\t\t<li>{$err}</li>\n";

	echo <<<EOF
		</ul>
		<p><a href="{$_SERVER['PHP_SELF']}">Torna indietro</a></p>
	</body>
</html>
EOF;

	exit();
}

if(isset($_POST['submit']))
{
	$name      = isset($_POST['name'])      ? trim($_POST['name'])      : '';
	$surname   = isset($_POST['surname'])   ? trim($_POST['surname'])   : '';
	$city      = isset($_POST['city'])      ? trim($_POST['city'])      : '';
	$telephone = isset($_POST['telephone']) ? trim($_POST['telephone']) : '';
	$email     = isset($_POST['email'])     ? trim($_POST['email'])     : '';
	$challenge = isset($_POST['challenge']) ? trim($_POST['challenge']) : '';
	$message   = isset($_POST['message'])   ? trim($_POST['message'])   : '';

	$errors = array();

	if($name == '')
		$errors[] = 'Non hai inserito il tuo nome.';
	if($surname == '')
		$errors[] = 'Non hai inserito il tuo cognome.';
	if($city == '')
		$errors[] = 'Non hai inserito la tua citt&agrave;.';
	if(!is_numeric($telephone))
		$errors[] = 'Il numero di telefono non &egrave; numerico.';
	if(!preg_match('/^[\w][\w\.-]*[\w]@[\w][\w\.-]*[\w]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$/', $email))
		$errors[] = 'L\'indirizzo e-mail inserito non &egrave; valido.';
	if(!in_array($challenge, $challenges))
		$errors[] = 'Il torneo inserito non &egrqave; valido.';

	if(count($errors) > 0)
		show_errors();

	$subject = 'Nuova iscrizione';
	$body = "Una nuova iscrizione è stata richiesta inserendo i seguenti dati:\n";
	$body .= "------------------------------------------\n";
	$body .= "Nome: {$name}\n";
	$body .= "Cognome: {$surname}\n";
	$body .= "Città: {$city}\n";
	$body .= "Telefono: {$telephone}\n";
	$body .= "Torneo: {$challenge}\n";
	$body .= "------------------------------------------\n";
	$body .= !empty($message) ? "Messaggio: {$message}\n" : '';
	$body .= !empty($message) ? "------------------------------------------\n" : '';
	$body .= "L'indirizzo IP da cui è stata effettuata la richiesta è {$_SERVER['REMOTE_ADDR']}.";

	ob_start();
	if(!mail($your_email, $subject, $message))
		$errors[] = 'Impossibile inviare il messaggio. Riprova pi&ugrave; tardi.';
	ob_end_clean();
	
	if(count($errors) > 0)
		show_errors();

	echo <<<EOF
<html>
	<head>
		<title>Iscrizione effettuata</title>
	</head>
	<body>
		<h1>Iscrizione effettuata</h1>
		<p>La tua iscrizione al torneo <b>{$challenge}</b> &egrave; stata effettuata con successo.</p>
	</body>
</html>
EOF;
}
else
{
	echo <<<EOF
<html>
	<head>
		<title>Iscrizione</title>
	</head>
	<body>
		<h1>Iscrizione</h1>
		<p>Per effettuare l'iscrizione compila i campi sottostanti.</p>
		<form action="{$_SERVER['PHP_SELF']}" method="post">
			<table cellspacing="10">
				<tr>
					<td><label>Nome:</label></td>
					<td><input type="text" name="name" /></td>
				</tr>
				<tr>
					<td><label>Cognome:</label></td>
					<td><input type="text" name="surname" /></td>
				</tr>
				<tr>
					<td><label>Citt&agrave;:</label></td>
					<td><input type="text" name="city" /></td>
				</tr>
				<tr>
					<td><label>Telefono:</label></td>
					<td><input type="text" name="telephone" /></td>
				</tr>
				<tr>
					<td><label>E-mail:</label></td>
					<td><input type="text" name="email" /></td>
				</tr>
				<tr>
					<td><label>Torneo:</label></td>
					<td>
						<select name="challenge">
							<option value="1000">1000</option>
							<option value="1001">1001</option>
							<option value="1002">1002</option>
						</select>
					</td>
				</tr>
				<tr>
					<td><label>Messaggio:</label></td>
					<td><textarea name="message" cols="50" rows="5"></textarea></td>
				</tr>
				<tr>
					<td><input type="submit" name="submit" value="Iscriviti" /></td>
					<td><input type="reset" name="reset" value="Reimposta" /></td>
				</tr>
			</table>
		</form>
	</body>
</html>
EOF;
}
?>
 
Discussioni simili
Autore Titolo Forum Risposte Data
M devo realizzare un sito ma... Offerte e Richieste di Lavoro e/o Collaborazione 4
D urgente please, devo realizzare un sito in 12 giorni Discussioni Varie 14
I Sto progettando nuovi siti utilizzando bootstrap e devo dire funziona bene, l'unico problema e la maschera -moz- HTML e CSS 0
J Devo scegliere Wordpress o Wix o Hostinger? Hosting 0
D Devo far funzionare un form di contatti PHP 4
F Script non funzionante. Devo elencare in ordine alfabetico un elenco di nominativi, ma lo script non Javascript 2
LDB Multimedia e Internet Salve a Tutti e, mi devo ambientare una presentazione di massima Presentati al Forum 1
C [PHP] DEVO FAR SPUNTARE SOLO LE CONSONANTI DI UNA STRINGA PHP 1
M fattura ad adsense, devo inviarla? Google AdSense 0
napuleone campi hidden in parametri della pagina devo leggerli con GET PHP 1
M che installer di PHP 7 devo scaricare? PHP 5
M Mappa immagine...vi prego è urgente, devo farlo quanto prima HTML e CSS 5
F devo aprire due pagine asp contemporaneamente Classic ASP 1
O Help, devo fare un sito web con alcune caratteristiche... HTML e CSS 2
F Che tipo di Partita Iva devo aprire? Leggi, Normative e Fisco 2
bit77 Domanda! ho un file xml e devo estrapolare determinati testi, php è la soluzione? PHP 0
S devo creare un popup con metodo post HTML e CSS 0
M Puntare DNS: come devo configurare l'hosting dove punto i dns Hosting 1
G Nel mio caso posso usare javascript o devo avere un web server? Javascript 2
I Perchè devo cliccare 2 volte su un link per caricare correttamente il css di una galleria? WordPress 1
F Devo cancellare un sito web su Google SEO e Posizionamento 2
P Perché devo riavviare il pc per connettermi a internet? Adsl e Connettività 1
M Per fare un sito devo comprare lo spazio hosting dalla agenzia?? Hosting 4
G Devo inserire due immagini in Photoshop ed impaginarle con un A3 Photoshop 2
L Devo pagare le tasse sulle donazioni PayPal? Leggi, Normative e Fisco 2
K Quali linguaggi devo sapere per creare siti cosi? HTML e CSS 15
L Devo fare una intro in flash!!! Flash 4
8 Recensioni di alberghi sul mio sito. A cosa devo stare attento? Leggi, Normative e Fisco 5
G mercatino interno al sito, come mi devo comportare? Leggi, Normative e Fisco 1
G concorso a premi per il mio sito, come mi devo comportare? Guadagnare col Sito 0
J Secondo voi come devo procedere?? PHP 1
VAN Cosa devo ritoccare nel form mail????????? HTML e CSS 14
M Devo inserire un menu a scomparsa ma non riesco a gestirlo Javascript 0
B Ora però devo chiudere la tabella comparsa, come faccio? HTML e CSS 3
T Sviluppo siti web, fiscalmente come mi devo comportare? Leggi, Normative e Fisco 2
P Devo concatenare una query ad un'altra? PHP 2
I Salve,devo fare un database,ma non ci capisco MySQL 0
P Devo modificare una pagina ma non riesco... qualcuno mi aiuta? PHP 1
W devo commissionare un sito directory Altri Annunci 2
fulvio quanto devo chiedere? Altri Annunci 6
mytarget Ma come devo fare?? Presenta il tuo Sito 3
W Help !!!! devo creare una photogallery HTML e CSS 0
G Devo ricreare una cosa simile Javascript 0
lupin3m Cosa devo fare per nn far uscire i filmati a scatti? Flash 2
D help hosting...devo cambiare Hosting 1
N password gate......Come devo fare? Supporto Mr.Webmaster 3
O PopUp al centro dello schermo: cosa devo aggiungere? Javascript 0
L Help me!! Devo Flash 1
L Help Spam... come devo fare??? Discussioni Varie 2
M AIUTO--> Devo aggiornare il PHP Linux e Software 0

Discussioni simili