Visualizzazione risultati 1 fino 3 di 3

Discussione: Script per contatto all'admin da modificare

  1. #1
    Guest

    Predefinito Script per contatto all'admin da modificare

    Ciao sto imparando il php facendo dei corsi online sono all'inizio ora però mi chiedono di fare uno script per i contatti da inviarli. Allora ho provato a farne uno solo che non riesco nell'inviare tutti i campi via email.
    Ecco il form html
    Codice HTML:
    <form action="index.php" method="post">
    Email : <input type="text" name="email"/>
    <br>
    Nome: <input type="text" name="name"/>
    <br>
    Messaggio: <input type="text" name="message"/>
    <br>
    <input type="submit" name="send" value="Invia Form"/>
    </form>
    il file php
    Codice PHP:
    <?php
    echo $_POST["name"];
    if (empty(
    $_POST["name"])){
    echo
    "Devi mettere un nome utente";
    }
    echo
    "<p></p>";
    echo
    $_POST['email'];
    if (empty(
    $_POST["email"])){
    echo
    "Devi mettere un indirizzo email";
    }
    echo
    "<p></p>";
    echo
    $_POST['message'];
    if (empty(
    $_POST["message"])){
    echo
    "Devi mettere un messaggio";
    }
    Qui devo mettere che se tutti i campi sono pieni allora prosegue con l'invio dell'email
    $headers
    = "From: mittente<mittente@sito.it>\nCc: copy@sito.it\nReply-to: reply@sito.it";
    mail("test@prova.it", "prova per test", "ciao", $headers);
    }
    ?>
    Come vedete sono riuscito a fare tutto bene o male forse con qualche errore ma non riesco a scrivere che se tutti i campi sono pieni allora invia l'email. UN'altra cosa non so se è giusto il codice dell'email che ho provato.
    Ultima modifica di andreafallico : 25-02-2011 alle ore 16.47.11

  2. #2
    L'avatar di sevenjeak
    sevenjeak non è connesso AlterGuru
    Data registrazione
    25-10-2007
    Residenza
    Roma
    Messaggi
    1,767

    Predefinito

    L'invio della mail è corretto, se mail puoi controllare se la mail viene inviata correttamente in questo modo:

    Codice PHP:
    if (mail("test@prova.it", "prova per test", "ciao", $headers)) {
    // La mail è stata correttamente inviata.
    }else {
    // La mail non è stata inviata correttamente.
    }
    Visto che la funzione mail restituisce un valore booleano ( true se l'invio della mail è andato a buon fine, mentre false se non è andato a buon fine ).

    Inserendo nel tuo script la condizione che controlli se tutti i campi non siano vuoti, modificherei lo script in questo modo:

    Codice PHP:
    <?php
    echo $_POST["name"];

    if (empty(
    $_POST["name"])){
    echo
    "Devi mettere un nome utente";
    }

    echo
    "<p></p>";
    echo
    $_POST['email'];

    if (empty(
    $_POST["email"])){
    echo
    "Devi mettere un indirizzo email";
    }

    echo
    "<p></p>";
    echo
    $_POST['message'];

    if (empty(
    $_POST["message"])){
    echo
    "Devi mettere un messaggio";
    }

    if (!empty(
    $_POST["name") && !empty($_POST["email"]) && !empty($_POST["message"])) {
    $headers = "From: mittente<mittente@sito.it>\nCc: copy@sito.it\nReply-to: reply@sito.it";
    mail("test@prova.it", "prova per test", "ciao", $headers);
    }
    ?>
    Ovviamente in questo codice non ho messo il controllo sulla funzione mail, ma puoi semplicemente mettercelo te se vuoi.

    Se l'ultima if non dovesse funzionare modificala cosi:

    Codice PHP:
    if ($_POST["name"] != "" && $_POST["email"] != "" && $_POST["message"] =! "")
    Ultima modifica di sevenjeak : 25-02-2011 alle ore 16.46.11

    Sevenjeak
    Software developer and much more

  3. #3
    Guest

    Predefinito

    Ok funziona.
    Un'altra cosa ne sto creando un'altro solo di prova mio per esercitarmi nel php solo che non riesco a scrivere una parte dello script ecco il codice:
    Codice PHP:
    <?php
    $utente
    = $_POST["name"];
    $commento = $_POST["message"];
    if (empty(
    $utente)){
    echo
    "Inserire un nome utente con il quale verrà registrato il commento";
    }

    echo
    "<p></p>";

    if (empty(
    $commento)){
    echo
    "Inserire un commento";
    }
    // finisce il sistema dei commenti inizia la connessione al database

    $con = mysql_connect("localhost", "zxxxx", "xxxxx") or die(mysql_error());
    echo
    "Connesso a MySQL!!<br />";
    mysql_select_db("my_username", $con);
    // preparo la query
    // mostro i contenuti della tabella
    $query = "INSERT INTO commenti (utenti,commenti)
    VALUES ('
    $utente','$commento')";

    // lancio la query
    $result = mysql_query($query);

    // controllo l'esito
    if (!$result) {
    die(
    "Errore nella query $query: " . mysql_error());
    }

    // chiudo la connessione a MySQL
    mysql_close();

    echo
    'Commento eseguito';
    //da qui inizia la visualizzazione del commento precedente
    $con = mysql_connect("localhost", "username", "password") or die(mysql_error());
    echo
    "Connesso a MySQL!!<br />";
    mysql_select_db("my_username", $con);
    $ricevuta = mysql_query("SELECT utenti, commenti FROM commenti ");

    while (
    $row = mysql_fetch_array($ricevuta, MYSQL_BOTH)) {
    echo
    'Utenti: ', $row[utenti] , ' Commenti: ', $row['commenti'] , "<br>";
    }
    // chiudo la connessione a MySQL
    mysql_close();

    ?>
    Lo script funziona cioè inserisce i dati nella tabella del mio database, ma se io per prova non metto un campo mi appare si una schermata che mi da l'errore che un campo è vuoto ma lo stesso scrive nel database mentre io vorrei mettere che se tutti i campi sono pieni allora prosegue alla connessione al db e scrive i dati ma solo se tutti i campi sono pieni
    Ultima modifica di gamecity : 25-02-2011 alle ore 20.31.01

Regole di scrittura

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