Dopo invio del form ritorno alla "base".....

MAX1972

Nuovo Utente
5 Mag 2012
17
0
1
Ormai ho la carogna sulle spalle con sto form e sono arrivato all'epilogo....mi manca l'ultimo sforzo e sarebbe quello di far tornare dopo l'invio e il messaggio di corretto invio del form alla pagina precedente ovvero nella pagina dove si trova il form vuoto pronto ad essere compilato di nuovo....Per essere chiaro ho preferito fare una pagina di prova che ho chiamato prova3.html la trovate QUI sarebbe una versione bozzetto della pagina contatti.html che devo andare a completare...se ora provate a compilare i campi e a fare invio vi apre una pagina successiva tutta bianca con la scritta "Email inoltrata correttamente" in alto a sinitra del monitor e tutto poi si ferma li....Ora il mio problema sta nel fatto che se fosse semplice mi piacerebbe che l'avviso non avvenisse in una nuova pagina ma sempre nella schermata del form cioe' nella pagina contatti.html magari proprio sotto al pulsante SEND....o sarebbe ancor meglio se uscisse un messaggio come quando non viene compilato un campo del form e premendo l'ok l'avviso si chiude gernerando una sorta di refresh della pagina contatti cosi' che il form sarebbe gia pronto per una nuova scrittura....mi aiutate a finire sto incubo???:ilpirata::ilpirata::ilpirata::ilpirata:

Di seguito metto il contenuto php per i comandi del form....Grazie ciao!!!

PHP:
<?php
//Nome e Cognome
$name = $_POST['name'];
$phone = $_POST['phone'];
$email = $_POST['email'];
$message = $_POST['message'];
//Messaggio
$subject = "Richiesta informazioni";
$bodymail = "Name: ".$name." <br />
			  Phone: ".$phone." <br />
			  Email: ".$email." <br />
			  Message: <br /> ".$request." <br />";
//Inclusione della libreria
require_once("phpmailer/class.phpmailer.php");
//Creiamo un oggetto PHPMailer e ne settiamo le variabili
$mail = new PHPMailer();
$mail->From = $email;
$mail->FromName = $name." ".$surname;
$mail->AddAddress("[email protected]");
$mail->IsHTML(true); 
$mail->Subject = $subject;
$mail->Body = $bodymail;
	//Inviamo l'email
	if($mail->Send()){
		echo "Email inoltrata correttamente";		
	}else{
		echo "Errore invio mail";
	}
?>
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
ti conviene fare tutto in una pagina.
ti allego uno zip che avevo già pessato in un altro post in modo che tu possa vedere come fare
 

Allegati

  • email_phpmailler_pseudo.zip
    65,7 KB · Visite: 981

Salvogi

Utente Attivo
24 Gen 2011
23
0
1
Catania
www.webtutto.it
Ho visto lo script di borgo italia, effettivamente sarebbe l'ideale ed avresti il lavoro già fatto, però se vuoi per forza mettere il form su una pagina html e l'invio su una pagina PHP puoi mettere il seguente pulsante sulla pagina PHP
HTML:
<input type="submit" onclick="window.location = 'http://www.tuosito.it/contatti.htm/';" value="Torna indietro">
L'ideale sarebbe quello di evitare la pagina bianca con la scritta "messaggio inviato" quindi o fai il minetrone mettendo PHP e HTML (che del resto è una cosa normalissima) o dovresti fare un redirect dal modulo PHP che invia l'email ad una pagina html che indica messaggio inviato (cosa non tanto normale).
PHP:
    if($mail->Send()){
        echo "Email inoltrata correttamente";        
        header('Location: http://www.tuosito.it/messaggiook.htm');
    }else{
        echo "Errore invio mail";
        header('Location: http://www.tuosito.it/messaggioerrore.htm');
    }

Ciao
 
Ultima modifica:

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
oppure se non ti da fastidio un alert in javascript puoi fare cosi:

PHP:
if (mail($destinatario, $oggetto, $msg, $headers)) {
    echo "<script type='text/javascript'>";
    echo "alert('Messaggio inviato con successo');";
    echo "location.href='contatti.html';";
    echo "</script>";
}
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
@salvogi
attento:
PHP:
 if($mail->Send()){
        echo "Email inoltrata correttamente";        
        header('Location: http://www.tuosito.it/messaggiook.htm');
    }else{
        echo "Errore invio mail";
        header('Location: http://www.tuosito.it/messaggioerrore.htm');
    }
l'istruzione header deve venire prima di qualsiasi output html e echo ecc... è un output, salvo modificare il flusso (per quello uso il tag meta)

dimenticavo
anche se funzionasse il redirect è talmente veloce che non vedi il messaggio
 
Ultima modifica:

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Forse cosi si riesce ad imbrogliare php
PHP:
<?php
header("refresh:3;url=contatti.html");
echo "email inviata.";
?>

header viene dichiarato prima dell'output ma ritardandolo di 3 secondi si riesce a leggere il messaggio :mavieni:

in locale non se ne accorge ma ......
 

MAX1972

Nuovo Utente
5 Mag 2012
17
0
1
Forse cosi si riesce ad imbrogliare php
PHP:
<?php
header("refresh:3;url=contatti.html");
echo "email inviata.";
?>

header viene dichiarato prima dell'output ma ritardandolo di 3 secondi si riesce a leggere il messaggio :mavieni:

in locale non se ne accorge ma ......

Scusa mi faresti il favore di indicarmi in che posizione mettere quello script nel codice che ho messo all'inizio del mio post...Sto facendo un sacco di tentativi con gli script che mi avete mandato tutti fino ad ora non ottengo nulla, solo errori, appunto perche' non ho una indicazione precisa di dove mettere gli script e vado a tentoni (mea culpa sicuramente sia chiaro)....devo ricordare che io non sono un neofita ma devo proprio ancora nascere in questo campo.... io sono piu' per la grafica e in mezzo a tutto questo mi ci sono trovato forzatamente per cui chiedo scusa per la mia ignoranza ma purtroppo se non vengo "accompagnato per mano" fatico a capire soprattutto in situazioni dove si mastica codice all'inverosimile....Grazie infinita per la comprensione....se arrivo alla fine di tutto questo e' solo merito vostro
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
qui

PHP:
if($mail->Send()){
       header("refresh:3;url=contatti.html");
       echo "email inviata.";       
    }else{
        echo "Errore invio mail";
    }

ma non so se eviti l'errore : cannot modify ..... etc

altrimenti prova quello che ho postato prima in javascript sempre nello stesso posto
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Ho provato anche su aruba e non se ne è accorto :quote:

PHP:
<?php
header("refresh:3;url=index.php");
?>
<html>
    <head>
        <script type="text/javascript">
        
        </script> 
    </head>
    <body>
        ti ho fregato ah ah ah ah
    </body>
</html>
 

MAX1972

Nuovo Utente
5 Mag 2012
17
0
1
Ho provato anche su aruba e non se ne è accorto :quote:

PHP:
<?php
header("refresh:3;url=index.php");
?>
<html>
    <head>
        <script type="text/javascript">
        
        </script> 
    </head>
    <body>
        ti ho fregato ah ah ah ah
    </body>
</html>

GRANDEEEEEEEEEE!!!!! Ci sono riuscitoooooooooo....E' un sognooooooo finalmente dovrei aver finito.....MioDio.....mi sono svegliato da un incubo....la soluzione ottimale sarebbe stato il messaggio direttamente nella stessa pagina del form magari vicino al tasto SEND ma va benissimo cosi'....grazie infinite....comunque studiero' meglio la soluzione proposta nel file zip in php....Grazie a tutti....:)
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
.o sarebbe ancor meglio se uscisse un messaggio come quando non viene compilato un campo del form e premendo l'ok l'avviso si chiude gernerando una sorta di refresh della pagina contatti

Stavo rileggendo la tua richiesta .....

quello che chiedi in questa frase te lo avevo già postato e fa uso di javascript

PHP:
if($mail->Send()){
    echo "<script type='text/javascript'>";
    echo "alert('Messaggio inviato con successo');";
    echo "location.href='contatti.html';";
    echo "</script>";
}

:byebye:
 

MAX1972

Nuovo Utente
5 Mag 2012
17
0
1
Stavo rileggendo la tua richiesta .....

quello che chiedi in questa frase te lo avevo già postato e fa uso di javascript

PHP:
if($mail->Send()){
    echo "<script type='text/javascript'>";
    echo "alert('Messaggio inviato con successo');";
    echo "location.href='contatti.html';";
    echo "</script>";
}

:byebye:

Grazie...siete stati molto gentili tutti...subito dopo al tuo post avevo fatto capire di non essere molto ferrato nella collocazione dei codici tranne se qualcuno mi indicava dove poterli inserire ....Praticamente io ho provato tutte le soluzioni che mi erano state proposte ma ottenevo solo errori o nessun risultato positivo...oltretutto avete risposto quasi tutti simultaneamente per cui alla fine mi sono affidato al primo che mi ha risolto il problema senza impazzire ulteriormente.... spero non la prendiate a male....Questo argomento sul form sara' senza dubbio utile perche' da' varie soluzioni per impostare quello che ho chiesto e potra' essere di aiuto ad altri....Io sono settimane che ho mal di pancia per colpa di sto form e credo che lo bandiro' dal mio vocabolario....Se proprio devo dirla tutta alla fine non ho ottenuto il risultato che mi ero prefissato ma sono sceso a un compromesso che comunque mi ha risolto il problema e questo e' piu' che sufficiente....A me inizialmente serviva un form che avesse la possibilita' di allegare un file e che avesse avuto i campi di testo obbligatori alla fine se si guarda in questa sezione gli ultimi post riguardanti i form sono tutti miei e seguendo la cronistoria si capisce a cosa mi volevo rivolgere....Avevo detto di essere un profano praticamente da subito ma evidentemente per molti di voi che praticamente li mangiano i codici molte cose sono scontate e banali e alcune domande che ho fatto saranno state pure "assurde"...Comunque questo e' un settore complicato qui per parlare di codici bisogna saperli e averli studiati io mi rendo conto che mi ero imbattuto in qualcosa di piu' grande di me ma almeno quella non totale ignoranza in materia e la vostra pazienza alla fine sono riuscito a risolvere il problema...Grazie ancora...:byebye::byebye::byebye:
 
Discussioni simili
Autore Titolo Forum Risposte Data
Vale2 Disabilita il button dopo l'invio del form Snippet Javascript 0
nivaria.achinet Intercettare form solo dopo invio Javascript 1
M Form: come tornare ai campi già compilati dopo invio PHP 1
B [PHP] Invio mail automatico dopo compilazione form - db PHP 25
E Rimuovere "dati in memoria" dopo invio mail [PHP] PHP 18
P Caricare nuova pagina dopo invio dati form Javascript 11
P invio form non corretto dopo controllo dati PHP 8
P Script per far scomparire l'input dopo aver premuto invio? Javascript 8
M lanciare due funzioni javascript dopo l'invio di un form Javascript 2
J Box conferma dopo invio dati PHP 0
Monital Refresh di una pagina dopo l'invio di un input da altra pagina PHP 6
L recupero testo nella textarea dopo fatto invio per sbaglio PHP 1
M disabilitare tasto submit dopo invio Javascript 0
R [Flash] redirect dopo invio form mail Flash 4
Z invio di variabili _POST dopo avere inserito il record PHP 7
M Cambiare pagina dopo invio dati PHP 4
R suggerimento su invio mail dopo click PHP 2
M deselezionare o eliminare checkbox di un form dopo l'invio PHP 0
P Access: recuperare Indice dopo un insert into MS Access 0
U PHP creare un file excel dopo ricerca nel DB PHP 0
G Il mio sito dopo aver abilitato l'ssl non visualizza le immagini con indirizzi senza ssl HTML e CSS 0
L Mysql: Nascondere le pagine dopo una ricerca PHP 1
M Inviare dati nel db dopo risposta alert PHP 0
R Cambiare il nome dell'immagine dopo caricamento ftp HTML e CSS 0
C Dopo chiusura del tag php la stringa html va a capo PHP 1
S Download di un file in automatico dopo la sua creazione PHP 2
D Lenovo Schermo nero dopo ram aggiuntiva Hardware 0
R Reinderizzamento dopo login PHP 2
felino [JQuery] Append dopo ultimo ul li del primo livello jQuery 2
Y verificare condizione dopo esecuzione della funzione Programmazione 0
M errore dopo passaggio Php 7.2 PHP 6
Cosina Reindirizzare a nuova pagina dopo echo copy PHP 4
C finestra popup dopo login PHP 2
M Guestbook - non funziona dopo upgrade di PHP PHP 5
T script jquery non funziona più dopo il passaggio a MVC jQuery 5
S [PHP] Come mantenere selezionato checkbox dopo aver cliccato submit PHP 7
B [PHP] Creare PDF dopo inserimento dati form PHP 4
F [JavaScript] Ottenere il CSS dopo transform: scale() e transform-origin Javascript 0
bubino8 [Javascript] popup di controllo elimina dopo window.print(); Javascript 0
D [HTML] scorrimento dopo un'aggiunta di dati HTML e CSS 5
M [PHP] header (location..) non funzionante dopo login PHP 3
L [PHP] Visualizzare utente dopo login PHP 0
andreas88 Immagini non leggibili dopo trasferimento alla scheda SD Smartphone e tablet 0
W [Prestashop] Non accedo più dopo la copia da remoto a locale E-Commerce 7
M [Javascript] Aggiornare like totali dopo click Javascript 0
Tommy03 Generare file PHP dopo registrazione PHP 2
N [Java]problema jasper report dopo compilazione file .jar Java 0
D [PHP] script che invii una mail automatica dopo risposta ad una discussione di un forum PHP 0
A [PHP] Undefined index dopo query dal server PHP 1
D [Javascript] [HTML] Inserire slash dopo 3 numeri Javascript 5

Discussioni simili