- Home
- Categorie
- Coding e Sistemistica
- PHP
- problema invio form ad un indirizzo email
-
La funziona mail riceve come argomenti "l'email a cui inviare il messaggio","l'oggetto","e il corpo del messaggio","e il from con eventuali informazioni".
Tu hai usato le variabili che dovevi inviare nel messaggio come argomenti,infatti li hai separati con una virgola all'interno della funziona mail.
Ho guardato lo script solo nella parte dell'invio dell'email e ho provveduto a fare un fix,dovrebbe funzionare.Ciao.
-
si hai ragione svacant grazie,
ora funziona... ora però vorrei fare una cosa che non saprei fare... ovvero creare la convalida del radio button del si e del no... se l'utente clikka no la mail non sarà spedita e uscirà il messaggio di errore, se invece inserisce si la mail viene spedita....dovrei aprire un altro 3d?
-
Form html (parte dell'input radio):
<input type="radio" value="si" checked name="1">Si
<input type="radio" value="no" name="0">NoPagina php:
<?
//Ricevo i dati dai campi radio
$si=$_POST['1'];
$no=$_POST['0'];
//Con un if di controllo dico quale hai selezionato
if($si == "si"){
echo"Selezionato Si";
}
else{
echo"Selezionato No";
}?>
Dovrebbe andare.
-
grande si ma... vorrei inserire il codice nella funzione if all'inizio... ovvero inserire questa funzione if
if($si == "si"){ echo"Selezionato Si"; } else{ echo"Selezionato No"; ```nella funzione di logica condizionale iniziale...
//VALIDAZIONE
if (empty($responsabile) || empty($avtAddress) || empty($recapitoCellulare) || empty($avtAddressNumber) || empty($email))
{echo $empty_fields_message;
}
elseif(!ereg("^[_a-z0-9-]+(.[_a-z0-9-]+)@[a-z0-9-]+(.[a-z0-9-]+)(.[a-z]{2,3})$", $email)) {
echo "<h3>L'email non è stata inviata</h3><p>L'indirizzo email non è valido</p>";
}elseif(is_numeric($eta)) {
echo "devi inserire un numero";
}else {
mail("$miaemail", $subject, $forminfo, "From:$email");echo $thankyou_message;
}
-
Puoi inserirla sotto //VALIDAZIONE l'importante è che in testata metti la ricezione delle variabili cioè $si=$_POST['1']; ecc...
-
si esatto ma io vorrei che fosse messo nella condizione in cui se premo no la mail non viene inviata attraverso la funzione di prima
if (empty($responsabile) || empty($avtAddress) || empty($recapitoCellulare) || empty($avtAddressNumber) || empty($email)) { echo $empty_fields_message; }
altrimenti se metto si la mail viene inviata attraverso la funzione di prima
else { mail("$miaemail", "$subject", $forminfo, "From:$email"); echo $thankyou_message; }
-
Io darei un semplice die() o adirittura un exit(),ma se vuoi puoi mandare una varabile con stato logico 0 se fallisce e 1 se è positivo.
Cioè
$result_scelta=""; //Viene dichiarata dall'if dei campi radio,o 0 o 1.
Quindi puoi trasformare l'else in un elseif.
elseif($result_scelta == "1") {
mail("$miaemail", "$subject", $forminfo, "From:$email");echo $thankyou_message;
}
-
posso chiederti l'ultimo favore?
potresti scrivermelo nel codice che ho già fatto perchè non riesco a farlo funzionare :bho:
-
if($si == "si"){
echo"Selezionato Si";
$result_scelta="1";
}
else{
echo"Selezionato No";
$result_scelta="0";
}//segue l'if con l'elseif
if (empty($responsabile) || empty($avtAddress) || empty($recapitoCellulare) || empty($avtAddressNumber) || empty($email))
{echo $empty_fields_message;
}
elseif($result_scelta == "1") {
mail("$miaemail", "$subject", $forminfo, "From:$email"); echo $thankyou_message;
}
-
wow svacant grazie ancora davvero ma ho ancora problemini...
se metto no non invia la mail e fa uscire il messaggio, ma lo stesso se metto si non invia la mail e fa uscire lo stesso messaggio...
probabilmente ho problemi nei form, ti riposto il codice dei form:<TD><INPUT name="privacy" type="radio" class="Radio" value="Si" CHECKED></TD> <TD class="SmallText">No</TD> <TD><INPUT name="privacy" type="radio" class="Radio" value="No"></TD>
altrimenti li ho qui in questa parte del file php:
$si=$_POST['1']; $no=$_POST['0'];
secondo me sono i form sbagliati ma se li metto come me li hai postati te vengono checkati tutti e due all'inizio...
-
Prova così.
<TD><INPUT name="1" type="radio" class="Radio" value="si" CHECKED></TD>
<TD class="SmallText">No</TD>
<TD><INPUT name="0" type="radio" class="Radio" value="no"></TD>Così possono essere selezionati tutti e due quindi risolviam così.
Parte del form:
<TD><INPUT name="privacy" type="radio" class="Radio" value="si" CHECKED></TD>
<TD class="SmallText">No</TD>
<TD><INPUT name="privacy" type="radio" class="Radio" value="no"></TD>Parte php
$privacy=$_POST['privacy'];
echo"Hai selezionato $privacy"
-
si ok ora la funzione php va ma i radio button si selezionano entrambi se cliccko no.. insomma rimangono selezionati sia si che no...
uff!!!!!!