Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    campi obbligatori di un form

    Salve, qualcuno può aiutarmi a trovare l'inghippo? Devo realizzare un form con dei campi obbligatori. Ho realizzato il seguente codice per l'invio del form:
    <?php
    require ('messaggi.php');
    $oggi = date("j F Y G:i");
    $sito = "http://www.bibliotecamarone.it";
    $ip = "$_SERVER[REMOTE_ADDR]";
    $browser = "$_SERVER[HTTP_USER_AGENT]";
    $to = "info@xxxx.it";

    $nome = $_POST['nome'];
    $cognome = $_POST['cognome'];
    $citta = $_POST['citta'];
    $scuola = $_POST['scuola'];
    $email = $_POST['email'];
    $testo = $_POST['testo'];
    $acconsento = $_POST['acconsento'];

    $soggetto = "Modulo da $sito";

    if ($nome == "" or $cognome == "" or $email == "" or $testo == "") {

    echo ("

    E' obbligatorio indicare il nome, cognome, l'email e fare la richiesta. Ritorna al modulo</p>");

    } else {
    $body = "Modulo inviato il $oggi da $ip – $browser \n\n Dati modulo: \r\nNome: $nome \r\nCognome: $cognome \r\nScuola o Ente: $scuola \r\n Citta: $citta \r\nemail: $email \r\nRichiesta: $testo \r\nAcconsento: $acconsento";

    mail("$to","$soggetto","$body","From: $nome <$email>");

    $messaggio01 = ereg_replace("##NOME##",$nome,$messaggio01);
    $messaggio01 = ereg_replace("##COGNOME##",$cognome,$messaggio01);
    echo ("$messaggio01");
    }
    ?>

    Se elimino i campi obbligatori, quindi la parte relativa all' if else, il modulo funziona. Uguale se considero solo un campo obbligatorio, ad esempio scrivo solo if ($nome == "") {...
    Pertanto credo che il problema sia in riferimento all'operatore OR, ma ho difficoltà a comprendere cosa che non va.
    Cosi come è strutturato il codice, non mi fa inviare il modulo, o riempio i campi o no mi dice sempre che "E' obbligatorio indicare il nome, cognome etc".

    Potete testare il form nella pagina http://www.bibliotecamarone.it/modulo.php.
    Ringrazio chi mi illumina.
    Claudia

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    prova allora con:

    Codice PHP:
    if (($nome == "") or ($cognome == "") or ($email == "") or ($testo == "")) 

  3. #3

  4. #4
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Premesso che tutto l'insieme è orripilante, se mettessi il name alla textarea magari "funzionerebbe"

  5. #5
    Grazie Luca, immaginavo che mi perdevo in una cretinata.
    Non è il forum adatto ma mi piacerebbe sapere a cosa ti riferisci quando dici: "Premesso che tutto l'insieme è orripilante"?
    Ciao

  6. #6
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Intendo che non fai nessun controllo sui dati digitati, rendendo il tuo form perfetto per il Form Email Spamming.

    Ho dato un'occhiata a questo , mi sembra valido. Mi auguro te la cavi con l'inglese

  7. #7
    Sono alle prime armi con il php e quindi sto un pò testando ciò che apprendo. Avevo pensato anche alla sicurezza, ma un passo alla volta. Comunque approfitto del tuo consiglio e mi metto al lavoro per rendere il mio form sicuro contro lo spamming. Con l'inglese me la cavo abbastanza da essere in grado di comprendere il significato dell'articolo.
    Grazie per i consigli.
    Claudia

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.