Modifiche ad un Form mail!!

  • Creatore Discussione Creatore Discussione sbobby
  • Data di inizio Data di inizio

sbobby

Utente Attivo
26 Gen 2006
791
0
0
Roma
Ragazzi io ho questo form per inviare e-mail dal mio sito:

HTML:
<form class="motore" name="form" method="post" action="mailto.php" onSubmit='return checa_formulario(this)' >
<br />Tuo Nome: <br /> <input name="nome" type="text" id="nome">                                    
<br />Tua E-mail:<br /><input name="mail" type="text" id="mail">                                     
<br />Oggetto :<br /><input name="oggetto" type="text" id="oggetto">                                    
<br />Messaggio :<br /><textarea name="testo" cols="50" rows="10" id="testo"></textarea><br />                                    
<input class="cerca" type="submit" name="Submit" value="Invia l' e-mail">&nbsp; <input type="reset" value="Cancella tutto" class="input">
</form>

Che rimanda ad una pagina che ha questo codice php per inviare e-mail:

PHP:
<? 

$oggetto = $_POST['oggetto']; 
$nome = $_POST['nome']; 
$testo = $_POST['testo']; 
$mail = $_POST['mail']; 
$leo = "info@cflgroup2001.it"; 
$testo = stripslashes($testo); 
$email = stripslashes($email); 

if (trim ($nome) == "") {
print "Tutti i campi del form sono obbligatori e non possono essere inseriti solo spazi bianchi...Torna indietro e inserisci correttamente i tuoi dati!! Grazie!!";
} elseif (trim ($mail) == "") {
print "Tutti i campi del form sono obbligatori e non possono essere inseriti solo spazi bianchi...Torna indietro e inserisci correttamente i tuoi dati!! Grazie!!";
} elseif (trim ($oggetto) == "") {
print "Tutti i campi del form sono obbligatori e non possono essere inseriti solo spazi bianchi...Torna indietro e inserisci correttamente i tuoi dati!! Grazie!!";
} elseif (trim ($testo) == "") {
print "Tutti i campi del form sono obbligatori e non possono essere inseriti solo spazi bianchi...Torna indietro e inserisci correttemente i tuoi dati!! Grazie!!";
} else {

$subject = "$oggetto ( $mail )"; 
$message = "Messaggio proveniente da:  $nome , 
 
Indirizzo e-mail:  $mail , 
 
Testo del messaggio:  
$testo" ; 

	mail($leo, $subject, $message); 
	echo '<p>E-mail inviata con successo!!</p>
	<br />
	<p class="spacer"><img border="0" src="./tabelle/mailinviata.gif"></p>
    <br />
	<p>Provvederemo a risponderti prima possibile!! 
	 <span class="fucsia">Grazie</span> per la collaborazione e per averci contattato...Ti ricordiamo, inoltre, 
	 che per qualsiasi altro problema, richiesta o informazione puoi visitare il nostro <span class="verde">Forum</span>!!</p> '; 

include("contactme.php"); }

 ?>

Come posso fare in modo che cliccando un un altro tasto dello stesso forum mi vengano inviate delle e-mail con del testo differente?! Spero di essermi spiegato...:rolleyes:
Grazie...
 
Sinceramente non so neanche se si può fare, ma vorrei che cliccando un tasto del form mi fosse inviata un e-mail con un determinato testo e cliccando su un altro che mi fosse mandato ad un email con un altro testo da me sempre impostato preventivamente, ma con gli stessi dati inseriti dall'utente...Si può fare?!
 
Penso che si possa fare ricorrendo a php se ho ben capito, ma la faccenda è ababstanza tosta. Comunque, non ti conviene creare due form?
 
Il fatto è che è un form per newsletter e vorrei che cliccando su un tasto (iscriviti) a me arrivasse un e-mail con scritto "registra l'utente" mentre cliccando su un altro tasto mi arrivasse l'e-mail con scritto "cancella l'utente"!!!
 
Non è che sia sta grande impresa...
HTML:
<input type="submit" name="action" value="iscriviti" />
<input type="submit" name="action" value="cancellati" />
PHP:
if ($_POST['action'] == "iscriviti")
{
     // mail 1
}
elseif ($_POST['action'] == "cancellati")
{
     // mail 2
}
 
Adesso ho capito, io pensavo che volessi inviare due testi, ad esempio un una textarea... uno in un modo con un bottone e un altro con un altro bottone.
 
jan267 ha scritto:
Non è che sia sta grande impresa...
HTML:
<input type="submit" name="action" value="iscriviti" />
<input type="submit" name="action" value="cancellati" />
PHP:
if ($_POST['action'] == "iscriviti")
{
     // mail 1
}
elseif ($_POST['action'] == "cancellati")
{
     // mail 2
}

Ma il codice php che mi hai scritto a che altezza del codice dela mia pagina lo devo inserire?! All'inizio??
Inoltre nel forum io ho come name="Submit" è la stessa cosa?!
Grazie davero del consiglio...
 
Il codice lo devi inserire all'inizio e se hai messo name=submit devi modificarlo pure qui $_POST['action'] == "iscriviti"
 
Inserisci il codice che ha postato jan dopo l'else

...else {

if ($_POST['action'] == "iscriviti")
{
$subject = "$oggetto ( $mail )";
$message = "Messaggio proveniente da: $nome ,
.....
}
elseif ($_POST['action'] == "cancellati")
{
come per action iscriviti ma con i testi dell'e-mail opportunamente cambiati.
}


}

<input type="Submit" name="action" value="iscriviti" /> <input type="Submit" name="action" value="cancellati" />

:) il type submit andrebbe scritto sempre tutto minuscolo.
 
Ultima modifica:
PHP:
<? 

$oggetto = $_POST['oggetto']; 
$nome = $_POST['nome']; 
$testo = $_POST['testo']; 
$mail = $_POST['mail']; 
$leo = "info@cflgroup2001.it"; 
$testo = stripslashes($testo); 
$email = stripslashes($email); 

if (trim ($nome) == "") {
print "Tutti i campi del form per l'iscrizione alla nostra newsletter sono obbligatori e non possono essere inseriti solo spazi bianchi...Torna indietro e inserisci correttemente tutti i dati!! Grazie!!";
} elseif (trim ($mail) == "") {
print "Tutti i campi del form per l'iscrizione alla nostra newsletter sono obbligatori e non possono essere inseriti solo spazi bianchi...Torna indietro e inserisci correttemente tutti i dati!! Grazie!!";
} else {

if ($_POST['action'] == "Iscriviti")
{

$subject = "$nome ( Newsletter )"; 
$message = "Messaggio proveniente da:  $nome , 
 
Iscrizione alla newsletter del CFL site:  $mail ,
 
Inserisci l'indirizzo e-mail nella rubrica!  
$testo" ; 

	mail($leo, $subject, $message); 
	echo '<br />
	<p>Iscrizione effettuata consuccesso!!</p>
	<br />
	<p>Grazie per esserti iscritto alla <span class="rosso">newsletter</span> del CFL site</p>'

}
elseif ($_POST['action'] == "Cancellati")
{
$subject = "$nome ( cancellazione )"; 
$message = "Messaggio proveniente da:  $nome , 
 
Iscrizione alla newsletter del CFL site:  $mail ,
 
Cancella l'indirizzo e-mail dalla rubrica!  
$testo" ; 

	mail($leo, $subject, $message); 
	echo '<br />
	<p>Indirizzo cancellato</p>'

} 

;
    
    include("contactme.php"); }

 ?>

Ho modificto il codice cosi, ma non funziona, come mai?!
Nel form ho scritto "action"...
 
ho trovato alcuni errori:

if ($_POST['Submit'] == "iscriviti")
...
...
<p>Grazie per esserti iscritto alla <span class="rosso">newsletter</span> del CFL site</p>';
...
...
elseif ($_POST['Submit'] == "cancellati")
...
...
<p>Indirizzo cancellato</p>';

non so se siano tutti... Prova.
 
Scusa ma questi errori dove li hai trovati??
questo è il mio form:

HTML:
<form class="motore" name="form" method="post" action="letter.php">
&nbsp;Tuo <span class="orange">Nome</span>&nbsp; <input name="nome" type="text" id="nome" size="10" /><br /> 
&nbsp;Tua <span class="fucsia">E-mail </span><input name="mail" type="text" id="mail" size="10" /><small><br />                                            
<input class="cerca" type="submit" name="action" value="iscriviti" />
<input class="cerca" type="submit" name="action" value="cancellati" /></small>
</form>

Ho sosituito submit con action quindi poi nel php ho scritto

if ($_POST['action'] == "iscriviti")

Che modifiche dovrei fare??
Grazie mille...
 
cflsite ha scritto:
Che modifiche dovrei fare??
Grazie mille...

1- ovviamente il tuo file php si chiamera letter.php (non mailto.php)
2- hai messo i punti e virgola alla fine degli echo?
3- non so se ci siano controindicazioni, ma io non darei name="action" a degli input, visto che action è una parola riservata. Piuttosto chiamali pippo...
4- questo:
...
echo '<br />
<p>Indirizzo cancellato</p>'

}

;


va scritto cosi:
...
echo '<br />
<p>Indirizzo cancellato</p>';

}



Puo darsi che ci siano altri errori, ma non li vedo.

P.S. non è un errore, ma io scrivo sempre:
echo('bla bla bla');
piuttosto che
echo 'bla bla bla';

P.S. prova ad utilizzare un editor specifico per php che ti evidenzierà tutti questi piccoli errori.
Ce ne sono di buoni (con debugger) anche gratuiti.
 
Ultima modifica:

Discussioni simili