Sono giorni che cerco una soluzione a questo problema apparentemente banale e inesistente ma non riesco a venirne a capo!
Riscontro un malfunzionamento dell'istruzione IF ELSE.
Codice PHP:
$record=2;
if ($record==1) {
// istruzioni che interferiscono!
} else {
//istruzioni che dovrebbero essere svolte!
}
Quello qui sopra è un codice sintetizzato. Ovviamente dovrebbero essere svolte le istruzioni dentro l'else invece vengono eseguite quelle dentro l'if!
Ho testato la variabile $record (che viene da una parte precedente del programma) ed è effettivamente di tipo numerico e pari a 2.
Qui sotto vi riporto il codice dentro l'if e l'else... io non so più dove mettere le mani, spero in un vostro aiuto!!!
Codice PHP:
$record = count($risultati); //$risultati è un array con 2 elementi
//con un test ho verificato che $record=2
if ($record==1) {
//SE QUI METTO exit; TUTTO FUNZIONA BENE!!!!!!!!!!
Db_connect2();
$query1 = "SELECT * FROM ".$tabella."_utenti WHERE locale='".@$locale."'";
$risultato1 = mysql_query($query1);
$row1 = @array_filter(mysql_fetch_array($risultato1));
if (count($row1)>0) {
Db_connect2();
$query = "UPDATE ".$tabella."_locali SET dataAggiornamento='2' WHERE username='pippo'";
if (!mysql_query($query)) {
echo "errore";
exit;
} else echo"";
echo "<script language=\"javascript\">"
."invia_dati('aggiornamento.php', {'ph':'','subph':'Reload','fase':'$fase'}, 'post');"
."</script>";
exit;
} else {
if (......) { //altra condizione
//altre istruzioni
} else {
//altre istruzioni
}
}
} else {
// Parte di codice che dovrebbe essere eseguita!
}
La cosa strana è che se metto exit; all'interno dell'if (come commentato nel codice) il comportamento anomalo si risolve, il che mi fa pensare che siano le istruzioni interne all'if a dar fastidio ma.. in teoria non dovrebbero essere ignorate?!
Grazie a tutti!