Ho un codice che contene diversi elseif. Funzionano tutti tranne uno, quello della modifica.
In una pagina ho 2 <form> che mandano tutti alla stessa pagina:
uno ha come hydden value='elimina'
l'altro ha come hydden ='modifica'
Quando clicco elimina, mi viene eseguito in modo corretto. Se invece clicco modifica, invece di mostrarmi la scritta (che ho lasciato come esempio) mi esegue sempre la parte 'elimina_final'.
il codice è questo:
Codice PHP:
if (isset($action)) {
if ($action == "inserisci") {
if ($titolo!="" && $cat!="" && $loc!="" && $cod!="" && $prezzo!="" && $descrizione!="") {
$sql = 'INSERT INTO '. $prefix .'locazione_turistica (titolo, categoria, localita,
codice, prezzo, descrizione, data) VALUES (\''.$titolo.'\',\''.$cat.'\',\''.$loc.'\',\''.$cod.'\',\''.$prezzo.'\',\''.$descrizione.'\', NOW())';
$query = mysql_query($sql,$conn);
if ($query==1) {
echo "Locazione [b]$titolo[/b] inserita in modo corretto.
";
} else {
echo "Si è verificato un <span class=\"error\">errore</span>. Riprova.";
}
} else {
echo "<span class=\"error\">Errore :</span> tutti i [b]Campi[/b] sono obbligatori.";
}
echo "
";
}//chiude if "inserisci"
elseif($_POST['action'] and $_POST['action'] == 'elimina' ) {
echo "Sei sicuro di voler <span class=\"error\">eliminare</span> la località avente codice [b]$codice[/b]?
<span class=\"error\">Attenzione</span> eliminare prima eventuali [b]Immagini[/b] o [b]Video[/b]?
";
$sql = "SELECT * FROM ". $prefix ."locazione_turistica WHERE id_ltur = $id";
$elimina = mysql_query($sql,$conn);
echo "<table border=\"0\" cellspacing=\"2\" cellpadding=\"2\">\n
<tr>\n<td>
<form name=\"formulario0\" id=\"formulario0\" method=\"post\" action=\"".$_SERVER['PHP_SELF']."\">
<input type=\"submit\" name=\"Submit\" value=\"SI\" />
<input type=\"hidden\" name=\"id\" value=\"$id\" />
<input type=\"hidden\" name=\"action\" value=\"elimina_final\" />
</form>\n";
echo "</td><td>
<form name=\"formulario1\" id=\"formulario1\" method=\"post\" action=\"".$_SERVER['PHP_SELF']."\">
<input type=\"hidden\" name=\"ver\" value=\"verifica\" />
<input type=\"submit\" name=\"Submit\" value=\"NO\" />
</form>\n
</td></tr>\n</table>";
} elseif (isset($action) == "elimina_final" && $id!="" ) {
$sql = "DELETE from ". $prefix ."locazione_turistica where id_ltur = $id";
$elimina_ok = mysql_query($sql,$conn);
if ($elimina_ok==1) {
echo "Locazione [b]eliminata[/b] in modo corretto.
";
} else {
echo "C'è un <span class=\"error\">errore</span> mentre elimino la Locazione.
";
}
} elseif($_POST['action'] and $_POST['action'] == 'modifica') {
echo "metto la modifica";
} //chiudo gli elseif
}
Grazie