Salve una volta costruito questo form ed inserito nella pagina ed inviato il form mi riporta in cima alla pagina e devo nade a scrollare per la pagina per ritornare alla sezione dei contatti...mi sapete aiutare ? o a non far ritornare la pagina in alto oppure ad inserire nel php del form una funzione javascript che già utilizzo per andare alla sezione contact ?
Form
Codice PHP:
<?php
if(isset($_POST['invia'])){//verifico che sia stato premuto il submit
//metto un messaggio di errore a vuoto
$ok_ko="";
//leggo i vari input e li verifico
$nome=trim(strip_tags($_POST['nome']));//con stip tag tolgo i tag html
$cognome=trim(strip_tags($_POST['cognome']));
$mittente=trim(strip_tags($_POST['mittente']));
$oggetto=trim(strip_tags($_POST['oggetto']));
//nel messaggio trasformo gli eventuali \n in br e non li tolgo, gli altri li elimino
$messaggio=trim(strip_tags(nl2br($_POST['messaggio']),"
"));
$allegato_name=$_FILES['allegato']['name'];
//inizio i controlli
if($nome == ""){
$ok_ko.="il nome é obbligatorio
";
}
if($cognome == ""){
$ok_ko.="il cognome é obbligatorio
";
}
if(!filter_var($mittente, FILTER_VALIDATE_EMAIL)){
$ok_ko.="l'indirizzo email é obbligatorio
o indirizzo non valido
";
}
if($messaggio =="" || strlen($messaggio)<10){
$ok_ko.="non hai scritto il messaggio
o troppo corto, minimo 10 caratteri
";
}
$ammessi=array('doc', 'docx', 'pdf', 'txt');//puoi aggiungerne o elimininarne
$estensione=pathinfo($allegato_name, PATHINFO_EXTENSION);//ricavo l'estenzione del file
if(!in_array($estensione,$ammessi)){//verifico se l'estenzione è tra le ammesse
//non c'è quindi vuoto tutto
$allegato_name ="";
$allegato_si_no="non c'é allegato";
}else{
//e lo carico (qui se non caricato metto solamente come se fosse vuoto o errato)
if(move_uploaded_file($_FILES['allegato']['tmp_name'], $_FILES['allegato']['name'])){
$allegato_si_no="allegato: ".basename($allegato_name);
}else{
$allegato_name ="";
$allegato_si_no="non c'é allegato";
}
}
//a questo punto verifico il messaggio di errore
//se è rimasto vuoto non sono stati fatti errori quindi posso iniziare a spedire
if($ok_ko==""){
$destinatario="email@personale.com"; //qui le tua email
require_once "phpmailler/class.phpmailer.php";//richiamo la classe (verifica il percorso)
// e comincio ad istanziarla
$Emailmessaggio = new PHPmailer();
$Emailmessaggio->SetLanguage('it','language/'); //messo italiano, ma la scelta è vasta
$Emailmessaggio->IsHTML(true); // invio l'email in formato HTML
$Emailmessaggio->AddAddress($destinatario);
$Emailmessaggio->FromName= "tuo_sito";//da dove ti arriva il messaggio, cioè dal form del tuo sito
$Emailmessaggio->AddReplyTo($mittente,"");//a chi rispondere es. con il rispondi di outlook
$Emailmessaggio->Subject=$oggetto;//oggetto dell'email
//preparo il testo che ti verrà inviato
$testo="<hr>";
$testo.="Nome: $nome
";
$testo.="Cognome: $cognome
";
$testo.="email: <a href=\"mailto:$mittente\">$mittente</a>
";
$testo.= "il ".date("d.m.Y H:i:s")."<hr>";
$testo.="Messaggio: $messaggio<hr>Allegato: $allegato_si_no";
$Emailmessaggio->Body=$testo;
//preparo l'allegato se c'è o se non l'ho eliminato
if($allegato_name !=""){
$Emailmessaggio->AddAttachment($allegato_name);
}
//ora dovrebbe essere tutto pronto per l'invio
if(!$Emailmessaggio->Send()){ //errore di trasmissione
$ok_ko="c'é stato un errore di trasmissione, riprova più tardi
";
}else{ //invio avvenuto
$ok_ko="grazie di averci contattato, sarai richiamato al più presto
";
}
}
//quindi mostro il messaggio di errore o di invio (a te sistemarlo graficamente)
echo $ok_ko;
//e ritorno, dopo 4 secondi per dare il tempo di leggere il messaggio al form pulito
echo "<meta http-equiv='Refresh' content='4; URL=".htmlspecialchars($_SERVER['PHP_SELF'])."'>";
}else{
?>
<form action="<?php htmlspecialchars($_SERVER['PHP_SELF']);?>" method="POST" enctype="multipart/form-data">
<span id="sprytextfield1">
<input type="text" name="nome" class="nome" />
<span class="textfieldRequiredMsg">È obbligatorio specificare un valore.</span></span>
<span id="sprytextfield2">
<input type="text" name="cognome" class="cognome"/>
<span class="textfieldRequiredMsg">È obbligatorio specificare un valore.</span></span>
<span id="sprytextfield3">
<input type="text" name="mittente" value="" class="email"/>
<span class="textfieldRequiredMsg">È obbligatorio specificare un valore.</span><span class="textfieldInvalidFormatMsg">Formato non valido.</span></span>
<span id="spryselect1">
<select name="oggetto" id="subject" style="color:#797b6e; margin-bottom:30px; width:340px; height:30px;" tabindex="4">
<option value="" selected="selected">Choose</option>
<option value="Question">Question</option>
<option value="Business">Business</option>
<option value="Work with us">Work with us</option>
</select>
<span class="selectRequiredMsg"></span></span>
<span id="sprytextarea1">
<textarea cols="40" rows="4" name="messaggio"></textarea>
<span class="textareaRequiredMsg">È obbligatorio specificare un valore.</span></span>
<input type="text" value="doc - docx - txt - pdf" id="fileName" class="file_input_textbox" readonly="readonly" style="width:225px; height:29px;"/>
<div class="file_input_div">
<input type="button" value="Select files" class="file_input_button" />
<input type="file" name="allegato" class="file_input_hidden" onchange="javascript: document.getElementById('fileName').value = this.value" />
</div>
<div style="font-size:10px; margin-top:30px; margin-bottom:30px;float:left;">
<input class="acconsento" name="acconsento" type="checkbox" value="acconsento al trattamento dei miei dati personali" checked="checked">
I agree to the treatment of my personal data</div>
<div style="float:right;">
<input type="reset" value="Reset" id="submit" tabindex="7" class="pulsanteinv">
<input type="submit" name ="invia" value="Sign up" id="submit" tabindex="8" class="pulsanteinv"></div>
</form>
<?php
}
stringa jqery che ho già creato per andare alla sezione
Codice PHP:
$('html,body,,main,header,griglia').animate({ scrollTop: $("#contact").offset().top },'slow');