Problema con le condizioni in un if
Buonasera,
come si capisce dal titolo non riesco a far funzionare correttamente un if...so che probabilmente la cosa è banale ma questa è la prima volta che mi blocco con un errore così...stupido...
Il codice attualmente in uso è:
1° Caso
Codice PHP:
$clv = "abc";
$dlv = "abc";
$cip = "123.456.7.890";
$ip = $_SERVER['REMOTE_ADDR'];
$query = mysql_query("SELECT * FROM tabella WHERE ip = '$ip'")or die(mysql_error());
if((empty($clv) || empty($cip)) || ($clv == $dlv && $cip != $ip) && mysql_num_rows($query) == 0){
// AGGIUNGI UN CAMPO IN UNA TABELLA
}elseif((!empty($clv) || !empty($cip)) || ($clv == $dlv && $cip == $ip) && mysql_num_rows($query) > 0){
// AGGIUNGI + 1 AD UN CAMPO DETERMINATO IN UNA TABELLA
}else{
echo "ERRORE";
}
2° Caso
Codice PHP:
$clv = "abc";
$dlv = "abc";
$cip = "123.456.7.890";
$ip = $_SERVER['REMOTE_ADDR'];
$query = mysql_query("SELECT * FROM tabella WHERE ip = '$ip'")or die(mysql_error());
if(((empty($clv) || empty($cip)) || ($clv == $dlv && $cip != $ip)) && mysql_num_rows($query) == 0){
// AGGIUNGI UN CAMPO IN UNA TABELLA
}elseif(((!empty($clv) || !empty($cip)) || ($clv == $dlv && $cip == $ip)) && mysql_num_rows($query) > 0){
// AGGIUNGI + 1 AD UN CAMPO DETERMINATO IN UNA TABELLA
}else{
echo "ERRORE";
}
Lasciando perdere le parti di codice inutili e ammettendo che tutte le variabili siano ok:
- Nel primo caso, se $clv e/o $cip sono vuoti mi aggiunge una nuova riga nella tabella al posto di aggiungere +1 a quella riga già esistente. (Quindi il mysql_num_rows sembrerebbe non andare...)
- Nel secondo caso, se $clv e/o $cip sono vuoti o pieni mi viene restituito comunque errore...
Come posso risolvere? Dove commetto l'errore?