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