Salve, ho questo problema, per farla breve faccio un controllo dove se $_GET['action'] non è email, password o profile manda un messaggio di errore, altrimenti fa le regolari azioni (vengono fatte tramite switch($_GET['action'])).. Praticamente però qualsiasi cosa scrivo ad action, sia email che password mi da quel messaggio di errore, come mai? Questi sono i codici (scusate se sono lunghi, li posto tutti nel caso in cui qualcuno riscontri altri errori).

PS: Negli array $da può apparirvi errore ma non è così, ho messo uno slash prima di ' , solo che me lo legge come codice da interpretare..

Codice PHP:
<?

$action1 
$_GET['action'];
$da = array('"','<','>','_','\'',',');
$a = array('','','','','','');

$action str_replace($da$a$action1);

if(
$action != 'profile' || $action != 'email' || $action != 'password') {
echo 
'<span id="error_logout">ERRORE!</span> Devi selezionare un\' azione valida.';
} else {
include(
'settings.php');
$username $_SESSION['username'];
$select mysql_query("SELECT * FROM membri WHERE username='$username'");
$campi mysql_fetch_array($email_select);
$email $campi['email'];
$data_registrazione $campi['data_registrazione'];
$ultimo_login $campi['ultimo_login'];
switch(
$action) {
case 
profile:
echo 
'[b]Username:[/b] '.$username.'
[b]Email:[/b] '
.$email.'
[b]Data iscrizione:[/b] IN AGGIORNAMENTO..
[b]Ultimo login:[/b] IN AGGIORNAMENTO..

'
;
break;
case 
password:
echo 
'<form action="" method="POST"><span class="name">Password corrente:</span> <input type="password" name="password_corrente" />

<span class="name">Nuova password:</span> <input type="password" name="new_password" />
<span class="name">Ripeti password:</span><input type="password" name="new_password_check" />

<input type="submit" value="Cambia passowrd" name="cambiata" /></form>
'
;

$password_corrente1 $_POST['password_corrente'];
$new_password1 $_POST['new_password'];
$new_password_check1 $_POST['new_password_check'];
$cambiata $_POST['cambiata'];

$da = array('\'','"','<','>','_');
$a = array('','','','','');

$password_corrente str_replace($da$a$password_corrente1);
$new_password str_replace($da$a$new_password1);
$new_password_check str_replace($da$a$new_password_check);
$password_inserita MD5($password_corrente);

$pswd mysql_query("SELECT password FROM membri WHERE username='$username'") or die (mysql_error());
$pswd_fetch mysql_fetch_array($pswd) or die (mysql_error());
$password_attuale $pswd_fetch['password']; 

if(isset(
$cambiata)) {
if(empty(
$password_corrente) || empty($new_password) || empty($new_password_check)) {
echo 
'<span id="error_logout">ERRORE!</span> Devi riempire tutti i campi.';
} elseif(
$password_inserita != $password_attuale) {
echo 
'<span id="error_logout">ERRORE!</span> La password immessa non corrisponde con l\' attuale.';
} elseif(
$new_password != $new_password_check) {
echo 
'<span id="error_logout">ERRORE!</span> La conferma della nuova password non coincide con quella da te inserita';
} else {
mysql_query("UPDATE membri SET password='$password_inserita' WHERE username='$username'") or die (mysql_error());
echo 
'<span id="ok_logout">FATTO!</span> Password cambiata con successo!';
}
 }
break;
case 
email:
echo 
'La tua email corrente è: [b]'.$email.'

'
;
echo 
'<form action="" method="POST"><span class="name">Nuovo indirizzo email:<input type="email" name="email" />

<input type="submit" value="Cambia email" name="cambiata" /></form>
'
;

$email_inserita1 $_POST['email'];
$cambiata $_POST['cambiata'];
$da = array('\'','"','<','>');
$a = array('','','','');

$email_inserita str_replace($da$a$email_inserita1);

if(isset(
$cambiata)) {
if(empty(
$email_inserita)) {
echo 
'<span id="error_logout">ERRORE!</span> Devi inserire un\' indirizzo email.';
} else {
mysql_query("UPDATE membri SET email='$email_inserita' WHERE username='$username'");
echo 
'<span id="ok_logout">FATTO!</span> Indirizzo email cambiato con successo!';
}
 }
break;
default:
echo 
'[b]Username:[/b] '.$username.'
[b]Email:[/b] '
.$email.'
[b]Data iscrizione:[/b] IN AGGIORNAMENTO..
[b]Ultimo login:[/b] IN AGGIORNAMENTO..

'
;
  }
   }
?>