- Home
- Categorie
- Coding e Sistemistica
- Coding
- Messaggio popup da contact form
-
Messaggio popup da contact form
Ciao a tutti, ho un form in php e vorrei che all'invio del modulo invece che restituirmi un messaggio in un'altra pagina tramite il comando echo, lo script mi restituisse un avviso popup con un solo pulsante di OK.
Come faccio? potete aiutarmi? Ecco il codice:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />. <?php // campi obbligatori if ((trim($_POST['name']) != "") && (trim($_POST['surname']) != "") && (trim($_POST['email']) != "") && (trim($_POST['tel']) != "") && (trim($_POST['message']) != "")) { // destinatario dell'e-mail $to = " \n indirizzo email destinatario "; $headers = "From: " . $_POST['email'] . "\n"; // oggetto dell' e-mail $subject = "Contatto dal sito"; // corpo messaggio $body = "Hai ricevuto un messaggio dal sito con le seguenti informazioni:\n\n"; $body .= "Nome: " . trim(stripslashes($_POST["name"])) . "\n"; //nome del mittente $body .= "Cognome: " . trim(stripslashes($_POST["surname"])) . "\n"; //cognome del mittente $body .= "E-mail: " . trim(stripslashes($_POST["email"])) . "\n"; //indirizzo e-mail del mittente $body .= "Telefono: " . trim(stripslashes($_POST["tel"])) . "\n"; //numero del mittente $body .= "Sito web: " . trim(stripslashes($_POST["website"])) . "\n"; //sito del mittente $body .= "Messaggio: " . trim(stripslashes($_POST["message"])) . "\n"; //contenuto del messaggio // invio mail mail($to, $subject, $body, $headers); // SE L'INOLTRO E' ANDATO A BUON FINE... echo "E-mail inviata correttamente. Grazie per avermi contattata!"; } else {// altrimenti echo "E' necessario compilare tutti i campi prima di inviare."; } ?>
-
un box di alert non un popup....scusate..
-
Quindi un box alert che effettivamete, mostrando un resoconto delle informazioni, ti dica se vuoi continuare a inviare le informazioni o no?
-
No, un box di alert che mi scriva che il messaggio è stato inviato o che ci sono errori nella compilazione del form.
-
Il controllo degli errori io lo farei a priori, prima di inviare il form, perchè gia prima sai se il form è compilato correttamente.
-
Non sono capace purtroppo, infatti ho inserito gli asterischi che indicano quale dei campi è obbligatorio.. mi accontento di un form semplice come quello che ho fatto ma invece di darmi il messaggio in una pagina bianca, vorrei che me lo desse in un alert box. tutto qui..
-
Prova a vedere se ti va bene questo codice.
C'è un pò di tutto, un controllo Javascript prima dell'invio dati, e del php che ti dice se va tutto bene.
[PHP]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Test</title>
<style type="text/css">
html,body
{
margin:0px;
padding:0px;
background:#AAD4FF;
}
.sposta
{
margin:10px;
}
</style>
<script type="text/javascript">
function controlla()
{
var cognome=document.getElementById("cognome");
var valoreCognome=cognome.value;
if(valoreCognome=="")
{
alert("Il cognome è obbligatorio, compilarlo prima di proseguire!");
}
else
{
document.myform.submit();
}
}
</script>
</head>
<body>
<?php
$valoreNome=$_POST['nome'];
$valoreCognome=$_POST['cognome'];
if($valoreNome==""&&$valoreCognome=="")
{
?>
<form name="myform" id="myform" action="index.php" method="post">
<div><input class="sposta" id="nome" name="nome" /><span class="sposta">Nome</span></div>
<div><input class="sposta" id="cognome" name="cognome" /><span class="sposta">Cognome *</span></div>
<div><input class="sposta" type="button" value="INVIO" onclick="controlla()"/></div>
</form>
<?php
}
else
{
echo "Form inviato con successo!";
}
?>
</body>
</html>
[/PHP]
-
Non mi sono spiegato bene.. a me serve utilizzare il seguente codice ma con la dovuta modifica per adattarlo alla mia esigenza.
Ti incollo prima il codice html e poi il php:[html]
<form action="mail.php" method="post" id="modulo">
<div class="form_row">
<label>Nome:</label>
<input name="name" type="text" id="name" class="contact_input"/>
</div><div class="form_row">
<label>Cognome:</label>
<input name="surname" type="text" id="surname" class="contact_input"/>
</div><div class="form_row">
<label>E-mail:</label>
<input name="email" type="text" id="email" class="contact_input"/>
</div><div class="form_row">
<label>Telefono:</label>
<input name="tel" type="text" id="tel" class="contact_input"/>
</div><div class="form_row">
<label>Messaggio:</label>
<textarea name="message" cols="30" rows="5" id="message" class="contact_textarea"></textarea>
</div><div class="form_row">
<input type="submit" name="submit" id="submit" class="contact_submit" value="Invia" />
</div></form>
[/html][php]
<?php// campi obbligatori
if ((trim($_POST['name']) != "") && (trim($_POST['surname']) != "") && (trim($_POST['email']) != "") && (trim($_POST['tel']) != "") && (trim($_POST['message']) != "")) {// destinatario dell'e-mail
$to = " \n indirizzo email destinatario ";$headers = "From: " . $_POST['email'] . "\n";
// oggetto dell' e-mail
$subject = "Contatto dal sito";// corpo messaggio
$body = "Hai ricevuto un messaggio dal sito con le seguenti informazioni:\n\n";$body .= "Nome: " . trim(stripslashes($_POST["name"])) . "\n"; //nome del mittente
$body .= "Cognome: " . trim(stripslashes($_POST["surname"])) . "\n"; //cognome del mittente
$body .= "E-mail: " . trim(stripslashes($_POST["email"])) . "\n"; //indirizzo e-mail del mittente
$body .= "Telefono: " . trim(stripslashes($_POST["tel"])) . "\n"; //numero del mittente
$body .= "Sito web: " . trim(stripslashes($_POST["website"])) . "\n"; //sito del mittente
$body .= "Messaggio: " . trim(stripslashes($_POST["message"])) . "\n"; //contenuto del messaggio// invio mail
mail($to, $subject, $body, $headers); // SE L'INOLTRO E' ANDATO A BUON FINE...echo "E-mail inviata correttamente. Grazie per avermi contattata!";
} else {// altrimenti
echo "E' necessario compilare tutti i campi prima di inviare.";
}
?>
[/php]