Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15

Discussione: ho inviato una email!

  1. #1
    Utente di HTML.it L'avatar di snilzo
    Registrato dal
    Jul 2005
    Messaggi
    216

    ho inviato una email!

    salve,
    ho realizzato il form, ma alla fine dello stesso vorrei che si torni ad una pagina
    determinata.... come faccio?

    lo script php mi da la seguente scritta
    Codice PHP:
    mail($receiverMail $subject$msgformat"From:  $nome_completo <$email>"); 
     echo 
    "testo vario"
    ed io vorrei che mi renda l'intera pagina con li scritta di avvenuta spedizione!
    COME SI FA'?????

  2. #2
    Codice PHP:
    if(mail($receiverMail $subject$msgformat"From:  $nome_completo <$email>"))
    {
    echo 
    "Mail inviata";
    }
    else{
    echo
    "Mail non iviata";


  3. #3
    Codice PHP:
    mail($receiverMail $subject$msgformat"From:  $nome_completo <$email>"); 
    header("location:inviook.php?msg=Mail inviata con successo!"
    Dalla pagina inviook.php o scrivi un testo semplice o recuperi la variabile msg tramite get:
    Codice PHP:
    echo $_GET['msg']; 
    Ce l'ho fatta! - ItalianPixel -

  4. #4
    Utente di HTML.it L'avatar di snilzo
    Registrato dal
    Jul 2005
    Messaggi
    216
    forse non mi sono spiegato bene!
    Vorrei che la pagina che contiene il form sia la stessa che mi appare dopo l'invio dell'email!!??

  5. #5
    ed io vorrei che mi renda l'intera pagina con li scritta di avvenuta spedizione!
    COME SI FA'?????
    Io t'ho fatto l'esempio,poi Portapipe t'ha postato l'esempio con un redirect,ora penso ci devi mettere un po del tuo!!

  6. #6
    Allora invece di rimandare ad un'altra pagina, rimandi alla stessa, aggiungendo una condizione.
    Codice PHP:
    if($_GET['msg']){
    echo 
    $_GET['msg'];

    Così gli dici che SE c'è una variabile nell'url, allora la scrive a video.
    Ce l'ho fatta! - ItalianPixel -

  7. #7
    Utente di HTML.it L'avatar di snilzo
    Registrato dal
    Jul 2005
    Messaggi
    216
    scusatemi, ma non ci riesco!
    allora lo script finisce:
    Codice PHP:
    mail($receiverMail $subject$msgformat"From:  $nome_completo <$email>"); 
    echo 
    "<h3>Il messaggio e' stato inviato!</h3> 

    Riceverai una risposta il prima possibile!</p>"
    ;  
    if(
    $_GET['msg']){     echo $_GET['msg']; } 
    }} 
    dove ho sbagliato??

  8. #8
    Ti traduco quello che hai scritto:
    Codice PHP:
    //invio una mail ha... da... oggetto.... ecc...
    mail($receiverMail $subject$msgformat"From:  $nome_completo <$email>"); 
    //scrivo a video Il messaggio è stato inviato! ecc...
    echo "<h3>Il messaggio e' stato inviato!</h3> 

    Riceverai una risposta il prima possibile!</p>"
    ;   
    //Se nell'url c'è una variabile chiamata msg, scrivi il contenuto a video
    if($_GET['msg']){     echo $_GET['msg']; } 
    }} 
    Dove stà l'errore? Nel credere che con php tu possa passare variabili senza inviarle ad una pagina (la stessa o un'altra che sia).
    PHP non è un linguaggio asincrono, quindi devi sempre inviare i dati che verranno poi processati dal server eccetera eccetera.
    Se vuoi inviare una mail usi la funzione mail(), come hai fatto.
    Ma se vuoi visualizzare un messaggio, devi capire QUANDO questo messaggio deve comparire.
    Così com'è scritto, appena si carica la pagina viene inviata la mail, quindi se scrivi sotto che è stata inviata correttamente è giusto (sempre che la funzione mail() sia settata correttamente) ma non fa al caso tuo.

    Quello che serve a te prima di tutto è un form di invio mail.
    Questo form ha come action se stessa, quindi:
    //pagina form.php
    <form action="form.php?msg=Il messaggio è stato inviato!" method="post">
    qui inserisci i campi necessari per l'invio della mail e quando invii il form, recuperi i valori. Come? così:

    $messaggio=$_GET['msg'];
    $nome=$_POST['nome'];
    $email=$_POST['email'];

    E questo va messo nella stessa pagina del form.
    Scritta così però non va bene, in quanto se entri nel form senza che riceva le sopracitate variabili ti crea errore.
    Allora fai un controllo prima. Se riceve un qualsiasi $_POST, vuol dire che sono stati inviati dati dal form, e quindi procedi come sopra:
    Codice PHP:
    if($_POST['email']){
    $messaggio=$_GET['msg'];
    $nome=$_POST['nome'];
    $email=$_POST['email'];
    mail($receiverMail $subject$msgformat"From:  $nome_completo <$email>"); 
    //in questo caso scriviamo un messaggio a video, ma possiamo prelevare la stringa da scrivere da $_GET['msg'], altrimenti toglila dall'action del form
    echo "<h3>Il messaggio e' stato inviato!</h3> 

    Riceverai una risposta il prima possibile!</p>"


    Così quando invii i dati dal form alla stessa pagina, la pagina controlla se ci sono effettivamente dei dati in arrivo, li assegna a variabili (qui messe per farti capire il funzionamento ma non corrette rispetto al tuo lavoro, quindi personalizzale), invia la mail e scrive a video che la mail è stata inviata correttamente.
    Se invece entri nella pagina form direttamente, $_POST['email'] è nullo e quindi non si verifica la condizione per l'invio dell'email.
    Ce l'ho fatta! - ItalianPixel -

  9. #9
    Utente di HTML.it L'avatar di snilzo
    Registrato dal
    Jul 2005
    Messaggi
    216
    scusami ma non mi riesce!
    nella pagina "contatti.php" ho inserito il form in questo modo:
    Codice PHP:
    .......
    <form action="invia.php?msg=Il messaggio è stato inviato!" method="post" target="_blank" >         
    <?php         
    $name
    =$_POST['name'];         
    $cognome=$_POST['cognome'];         
    $email=$_POST['email'];         
    $msg=$_GET['msg'];         
    ?>         
    <span>Nome</span>         
    <input name="name" type="text" />         
    <span>Cognome</span>         
    <input name="cognome" type="text" />         
    <span>Indirizzo mail</span>         
    <input name="email" type="text" />         
    <span>Messaggio</span>         
    <textarea name="msg" clos="20" rows="9"></textarea>         
    <input name="submit" type="submit" class="button" value="Invia" />     
    </form>
    .......
    poi ho inserito la pagina "invia.pho" in questo modo:
    Codice PHP:
    ........
    // invio del messaggio 
    if($_POST['email']){ $name=$_POST['name']; 
    $cognome=$_POST['cognome']; 
    $email=$_POST['email']; 
    $msg=$_GET['msg']; 
    mail($receiverMail $subject$msgformat"From:  $name_completo <$email>"); 

    //in questo caso scriviamo un messaggio a video, ma possiamo prelevare la stringa  
    //da scrivere da $_GET['msg'], altrimenti toglila dall'action del form 
    echo "<h3>Il messaggio e' stato inviato!</h3> 

    Riceverai una risposta il prima possibile!</p>"

    }} 
    }}
    ?> 

  10. #10
    Tu e il php .
    DEVI PERSONALIZZARTI I CODICI CHE TI SCRIVO!!!
    Ti faccio un esempio di quello che devi fare, non fare copia e incolla!

    Codice PHP:
    ....... 
    <
    form action="invia.php" method="post" target="_blank" >          
    <
    span>Nome</span>          
    <
    input name="name" type="text" />          
    <
    span>Cognome</span>          
    <
    input name="cognome" type="text" />          
    <
    span>Indirizzo mail</span>          
    <
    input name="email" type="text" />          
    <
    span>Messaggio</span>          
    <
    textarea name="msg" clos="20" rows="9"></textarea>          
    <
    input name="submit" type="submit" class="button" value="Invia" />      
    </
    form
    ....... 
    Poi:
    Codice PHP:
    ........
    // invio del messaggio 
    $name=$_POST['name']; 
    $cognome=$_POST['cognome']; 
    $email=$_POST['email']; 
    $msg=$_POST['msg'];
    $subject="Questo è l'oggetto del messaggio";
    mail($email $subject$msg"From: ".$name."<".$email.">"); 
    echo 
    "<h3>Il messaggio e' stato inviato!</h3> 

    Riceverai una risposta il prima possibile!</p>"

    ?> 
    Ce l'ho fatta! - ItalianPixel -

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.