Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Form semplice in php

  1. #1

    Form semplice in php

    Ciao a tutti,

    sto realizzando per la prima volta un form semplice in php.
    Vorrei fare due cose:
    1 - inviare e dati via mail
    2 - fare un controllo in modo che se un campo non viene compilato il form non parte

    La prima cosa funziona con lo script che vi metto sotto FUNZIONA
    la seconda co lo script che vi metto sotto NON FUNZIONA

    <?php

    # controllo campi compilati
    if (( $nome == "" ) || ( $cognome == "" ) || ( $telefono == "" ) || ( $email == "" ) || ( $interessato_a == "" )) {
    echo "
    Attenzione!
    Compilate tutti i campi del form per inviarlo correttamente.
    Tornate alla pagina precedente, grazie.";
    }
    else {
    echo "
    Grazie per aver compilato il modulo.
    I dati sono stati inviati correttamente, vi risponderemo il prima possibile.";
    exit;
    }

    $dati = "";

    if(isset($_REQUEST["nome"])){
    $dati .= "Nome: " . $_REQUEST["nome"] . "\r\n";
    }

    if(isset($_REQUEST["cognome"])){
    $dati .= "Cognome: " . $_REQUEST["cognome"] . "\r\n";
    }

    if(isset($_REQUEST["telefono"])){
    $dati .= "Telefono: " . $_REQUEST["telefono"] . "\r\n";
    }

    if(isset($_REQUEST["email"])){
    $dati .= "Email: " . $_REQUEST["email"] . "\r\n";
    }

    if(isset($_REQUEST["interessato_a"])){
    $dati .= "Interessato/a a: " . $_REQUEST["interessato_a"] . "\r\n";
    }

    $result = mail("mario.rossi@libero.it", "contatto dal sito xxx", $dati);

    ?>

    Qualcuno è così gentile da dirmi dove ho fatto errori in questo script php?
    Sono alle prime armi, vi sarei molto grata per l'aiuto, non riesco proprio a capire cosa non va.

    Grazie mille, buona giornata

  2. #2
    Utente di HTML.it L'avatar di brodik
    Registrato dal
    Jan 2009
    Messaggi
    765
    beh innanzitutto $nome e le altre variabili dove le dichiari?

    poi prova questo (premettendo che passi i dati tramite POST)...


    Codice PHP:
    <?php

    # controllo campi compilati
    if (empty($_POST['nome']) || empty($_POST['cognome']) || empty($_POST['telefono']) || empty($_POST['email']) || empty($_POST['interessato_a'])) {
    echo 
    "
    [b]Attenzione![/b]
    Compilate tutti i campi del form per inviarlo correttamente.
    Tornate alla pagina precedente, grazie."
    ;
    exit;
    }
    else {

    $dati "";

    $dati .= "Nome: " $_POST['nome'] . "\r\n";
    $dati .= "Cognome: " $_POST['cognome'] . "\r\n";
    $dati .= "Telefono: " $_POST['telefono'] . "\r\n";
    $dati .= "Email: " $_POST['email'] . "\r\n";
    $dati .= "Interessato/a a: " $_POST['interessato_a'] . "\r\n";

    $result mail("mario.rossi@libero.it""contatto dal sito xxx"$dati);

    echo 
    "
    [b]Grazie per aver compilato il modulo.[/b]
    I dati sono stati inviati correttamente, vi risponderemo il prima possibile."
    ;

    }

    ?>

  3. #3
    Ti ringrazio, ora provo subito ad inserire il codice che mi hai suggerito.

    p.s. ovviamente il mio codice php funziona insieme ad una pagina html, almeno questo lo so fare :-)

    Grazie ancora!

  4. #4
    Utente di HTML.it L'avatar di brodik
    Registrato dal
    Jan 2009
    Messaggi
    765
    ho sostituito !isset con empty così dovrebbe funzionare

  5. #5
    Ah grazie, in effetti ho visto che non funzionava ancora e quindi ti stavo scrivendo :-)

    provo subito correggendo il codice.

    Ciao

  6. #6
    Adesso funziona benissimo il controllo dei campi, solo una cosa strana succede:
    mi arriva la mail doppia anche se io ho compilato il form una volta sola.
    Sai per caso da cosa può dipendere?

    Grazie

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.