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;
}