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