Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    9

    Form newsletter non funziona

    Salve a tutti!
    Sto cercando di inserire un semplice form nel mio sito per registrarsi alla newsletter; contiene un solo campo dove l'utente può inserire il suo indirizzo mail e il tasto invia.
    Premetto che è la prima volta che uso un form, e non conosco il linguaggio php.

    questo è il codice del form che ho inserito nella pagina

    codice:
     <form action="inviamail.php" method="post" name="inviamail">  
    <font face="Arial" size="2" color="#800000"><u>  
    Iscriviti alla Newsletter!</u></font> <input type="text" size="20" name="email">
      
    <input type="submit" value="Invia"></form>
    poi ho creato con notepad la pagina inviamail.php, inserendo il seguente codice

    codice:
     <?php 
    $indirizzo="newsletter@miosito.it"; 
    { 
    mail($indirizzo,"Messaggio da parte di $nome: $oggetto" ,"$nome - $email ha inviato il seguente messaggio:" ,"$messaggio"); 
     
     
    echo ("Il messaggio è stato inviato con successo "); 
     
     
    } 
    ?> 
    
    
    Torna al sito</p>
    a quanto suppongo, il form dovrebbe inviare le informazioni alla pagina php, che dovrebbe spedirle alla mail e fare il redirect alla pagina selezionata.

    nella realtà, invece, non arriva nessuna mail e viene visualizzata la pagina inviamail.php che contiene solo la semplice scritta "torna al sito".

    sapete dirmi cosa ho sbagliato?
    grazie!

  2. #2
    Utente di HTML.it L'avatar di danlupo
    Registrato dal
    Jul 2009
    Messaggi
    314
    Scusa, quella che hai postato è la pagina inviamail.php o solo una sua parte?
    Così per cominciare sapendo $nome: $oggetto e $messaggio che valore hanno?

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    9
    Originariamente inviato da danlupo
    Scusa, quella che hai postato è la pagina inviamail.php o solo una sua parte?
    Quello che ho postato è tutto il contenuto della pagina inviamail.php.

    Originariamente inviato da danlupo
    Così per cominciare sapendo $nome: $oggetto e $messaggio che valore hanno?
    non saprei, ho preso il codice da una guida che sembrava ottima nella sua semplicità, che ho trovato a questo indirizzo, ma non conoscendo il php non so se ci siano parti da editare o completare; a quanto diceva la guida c'era solo bisogno di inserire mail e link per il redirect.

  4. #4
    Utente di HTML.it L'avatar di danlupo
    Registrato dal
    Jul 2009
    Messaggi
    314
    Ah Ok..

    Beh se vuoi crearti una newsletter dovrai archiviare gli indirizzi Email di chi si registra in un database per poi usarle per inviare l'email delle newsletter, quindi almeno le basi di php ed sql dovresti avercele.
    Quel tutorial si occupa praticamente solo della funzione mail di php e preso così in maniera nuda e cruda non può inviare mail.

    Il mio consiglio è di leggerti una guida di base del PHP (quella di questo sito può andare bene) e poi procedere passo passo..

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    9
    Grazie per la risposta Dan.
    Personalmente dovrei gestire solo un numero limitato di indirizzi, non mi serve un database; l'intento sarebbe quello di mandare direttamente la newsletter dal mio indirizzo email agli interessati.

    Comincerò a leggere la guida, nel frattempo vorrei chiedere, non è possibile ricevere semplicemente l'indirizzo dell'utente nella mia casella di posta, per poi fare il lavoro della newsletter manualmente?

  6. #6
    Utente di HTML.it L'avatar di danlupo
    Registrato dal
    Jul 2009
    Messaggi
    314
    Si puoi farlo.
    Parti da un form di invio dati come nell'esempio
    codice:
    <form method="post" action="inviamail.php" name="inviamail">
    Nome:
    <input type="text" size="40" name="nome">
    Cognome:
    <input type="text" size="40" name="cognome">
    E-mail:
    <input type="text" size="40" name="email">
    <input type="submit" value="Invia"><input type="reset" value="Cancella">
    </form>
    e nel file inviamail.php
    Codice PHP:
    $email=$_POST['email'];
    $nomecognome=$_POST['nome']." ".$_POST['cognome'];
    $messaggio"Ciao vorrei iscrivermi alla tua newsletter 
     Mi chiamo 
    $nomecognome 
    La mia E-mail &egrave; 
    $email";
    $tuaemail="newsletter@tuosito.it";
    if (
    mail($tuaemail,"Iscrizione alla NewsLetter di $nomecognome,"$messaggio"))
    {
    echo (
    "Il messaggio è stato inviato con successo ");
    }
    else
    {
    echo (
    "Errore nell'invio dell'email");

    header('Location: tuosito.it/paginaform'); 
    Logicamente devi sostituire tuosito paginaform newsletter @ tuosito.it con quelli veri

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    9
    Grazie mille della risposta Dan!
    Dunque se volessi mettere solo l'e-mail, il codice html sarebbe


    codice:
    <form method="post" action="inviamail.php" name="inviamail">
    E-mail:
    <input type="text" size="40" name="email">
    <input type="submit" value="Invia"><input type="reset" value="Cancella">
    </form>
    mentre quello php, con cui ho più problemi, dovrebbe andar bene così?

    Codice PHP:
    $email=$_POST['email']; 
    $messaggio"Ciao vorrei iscrivermi alla tua newsletter 
    La mia E-mail &egrave; 
    $email"
    $tuaemail="newsletter@tuosito.it"
    if (
    mail($tuaemail,"Iscrizione alla NewsLetter,"$messaggio")) 

    echo ("
    Il messaggio è stato inviato con successo "); 

    else 

    echo ("
    Errore nell'invio dell'email"); 
    }  
    header('Location: tuosito.it/paginaform'); 
    Grazie mille ancora per l'aiuto, sei stato molto prezioso

  8. #8
    Utente bannato L'avatar di colezqpr
    Registrato dal
    Apr 2012
    Messaggi
    4
    quindi almeno le basi di php ed sql dovresti avercele.[im*g]http://www.###########/g.gif[/img]

  9. #9
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    142
    hem .. tr1stan ... fatto così ... però sarebbe un tantinello poco sicuro .. nel senso che non utilizza nessun controllo anti bot , non controlli ne lato server ne lato client i campi necessari ..

    cioè volendo chiunque potrebbe inviarti in pochi secondi 3000 mail finte di richiesta di iscrizione, o campi vuoti , se poi decidessi di avventurarti e salvare quegli indirizzi in un database lo dovresti fare a mano.

    Cmq se scrivi pagine lato server senza leggere almeno la guida base, attento che non saprai poi modificarle ai tuoi scopi

  10. #10
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    9
    Il fatto è che ho bisogno urgente di un form per la newsletter, quindi devo cercare di usare un semplice codice che funzioni per inserirlo in tempi rapidi; poi potrò guardarmi con calma come modificare o ampliare il tutto anche includendo controlli per evitare gli eventuali problemi che menzionavi.
    Non si tratta di un sito con grande visibilità, speriamo di non avere problemi prima di averlo modificato!

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.