Ragazzi, la condizione if continua a non funzionare... Penso che il problema sia nella sintassi che uso per dire "se la funzione din controllo per email e url è vera allora"...
Eccovi il codice, HELP!!!
Codice PHP:
//le due funzioni di controllo
function is_email($email) {
if (eregi("^([a-z0-9_\.-])+@(([a-z0-9_-])+\\.)+[a-z]{2,6}$", trim($email)))
return 1;
else
return 0;
}
function CodeUrl($url) {
if (eregi("^(www\.|[url]http://www\.[/url])[a-z0-9_\.-]+(\.)[a-z]{2,6}$", trim($url)))
return 1;
else
return 0;
}
//la condizione che non riesco a fare funzionare
if (($_POST[nome]!="") and ($_POST[commento]!="") and ($_POST[voto]!=0) and ((is_email($_POST[email])==true)OR($_POST[email]=="")) and (CodeUrl($_POST[url]==true))OR($_POST[url]==""))
//è corretto stabilire che il controllo fatto delle funzioni sia ==true?
{
$query = //la query di inserimento}
else
{
echo "Hai sbagliato correggi!";
if (mysql_query($query, $db)) { echo "Il tuo commento è stato inserito correttamente";}
else { echo "Errore durante l'inserimento"; }
Potete dargli un'occhiata per favore?

PS:
la funzione CodeURl viene cambiata quando la incollo. Quella vera è:
function CodeUrl($url) {
if (eregi("^(www\.|http://www\.)[a-z0-9_\.-]+(\.)[a-z]{2,6}$", trim($url)))
return 1;
else
return 0;
}