Visualizzazione risultati 1 fino 5 di 5

Discussione: Form PHP per invio mail

  1. #1
    Guest

    Predefinito Form PHP per invio mail

    Salve a tutti.
    Sto cercando di realizzare un form per l'invio di email da una pagina precedentemente creata. Finora ho fatto questo, ma non riesco a capire perché non funzioni:
    IL FORM:
    Codice HTML:
       <p> <form id="mailform" name="mailform" method="post" action="Form.php">
        <p>Nome: 
          <input type="text" name="nome" /></p>
        <p>Email: <input type="text" name="email" /></p>
       <p> Messaggio: <textarea cols="40" rows="5" name="messaggio"></textarea></p>
        <p><input type="submit" name="submit" value="Invia" /> <input type="reset" name="reset" value="Cancella" /></p></form>
    IL PHP:
    Codice PHP:
    <?php
    $nome
    = $_POST['nome'];
    $email = $_POST['email'];
    $messaggio = $_POST['messaggio']
    if(!empty(
    $_POST['email']) and !empty($_POST['messaggio']) and !empty($_POST['nome']))
    else
    die(
    "Tutti i campi sono obbligatori!");
    mail("liberoventoband@gmail.com" , "Segnalazione dal sito" , "Nome: $nome, Email: $email, Messaggio: $messaggio", "From: liberoventoband@gmail.com\n");
    ?>
    Al momento dell'invio, ricevo il seguente messaggio d'errore:
    Parse error: syntax error, unexpected T_IF in /membri/liberovento/Form.php on line 5

    I due file sono nella stessa directory e rispettivamente sono contatti.php e form.php (non so se serva che contatti sia in estensione php oppure no).
    Scusate se l'errore è banale, ma sono ancora un novizio di php :)

    P.S. Se voleste controllare altre cose di persona, ecco il link alla pagina:
    http://liberovento.altervista.org/Contatti.php

    Grazie a chiunque volesse cercare di dare una mano,
    Sebastiano Genna
    Ultima modifica di liberovento : 06-09-2011 alle ore 14.08.57 Motivo: sostituiti [html] [php]

  2. #2
    Guest

    Predefinito

    Nella riga

    Codice PHP:
    $messaggio = $_POST['messaggio']
    mancano il punto e virgola finale.
    Così l'interprete PHP interpreta quello che segue come fosse appartenente all'istrauzione precedente generando l'errore.

    PS.
    Quando riporti codice HTML/PHP usa il TAG [PHP] e non già [CODICE]. Quello che viene mostrato risulta più leggibile

  3. #3
    Guest

    Predefinito

    Grazie dell'aiuto, hai risolto il problema, ma adesso da un'altro errore:
    Parse error: syntax error, unexpected T_ELSE in /membri/liberovento/Form.php on line 6

  4. #4
    Guest

    Predefinito

    Prima mi ero fermato prima, ora leggo

    Codice PHP:
    if(!empty($_POST['email']) and !empty($_POST['messaggio']) and !empty($_POST['nome']))
    else
    die(
    "Tutti i campi sono obbligatori!");
    Ma cosa dovrebbe fare esattamente secondo te questo pezzo di codice?

    Io potrei provare a leggerlo così:

    Se i valori di email, messaggio e nome NON sono vuoti, NON FACCIO NULLA altrimenti blocco l'esecuzione del codice scrivendo il messaggio "Tutti i campi sono obbligatori". Mah!

    Giusto per aiutarti ti invito a studiare il PHP.

    Ti scrivo la sintassi corretta per quel pezzo di codice:

    Codice PHP:
    if(condizione) {
    Codice da eseguire nel caso in cui la/le condizione/i è/sono verificata/e
    }else{
    Codice da eseguire nel caso in cui la/le condizione/i NON è/sono verificata/e
    }
    Naturalmente se come hai fatto tu la condizione è negativa sarebbe al contrario

    Codice PHP:
    if(!condizione) {
    Codice da eseguire nel caso in cui la/le condizione/i NON è/sono verificata/e
    }else{
    Codice da eseguire nel caso in cui la/le condizione/i è/ sono verificata/e
    }
    Ora dato che l'errore ti è stato segnalato alla riga 6 e la riga 6 è

    Codice PHP:
    else
    Noti differenze?

  5. #5
    Guest

    Predefinito

    Mi sono effettivamente messo a pensare allo script ed era concettualmente sbagliato. L'ho modificato così e ora funziona:
    Codice PHP:
    <?php
    $nome
    = $_POST['nome'];
    $email = $_POST['email'];
    $messaggio = $_POST['messaggio'];
    if(!empty(
    $_POST['email']) and !empty($_POST['messaggio']) and !empty($_POST['nome'])) {mail("liberoventoband@gmail.com" , "Segnalazione dal sito" , "Nome: $nome, Email: $email, Messaggio: $messaggio", "From: liberoventoband@gmail.com\n"); echo "<script type=\"text/javascript\">alert(\"Messaggio inviato con successo!\"); history.go(-1)</script>";}
    else
    echo
    "<script type=\"text/javascript\">alert(\"Tutti i campi sono obbligatori!\"); history.go(-1)</script>";
    ?>

Tags for this Thread

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •