Ciao a tutti
ho seguito questo tutorial
https://www.html.it/pag/66042/dettag...-di-un-record/

funziona tutto, ma quando arrivo a modificare o cambiare i dati del form la funzione salva non sembra funzionare.

Questo è il mio esempio

Codice PHP:

$azioniAmmesse 
= array('lista','dettaglio','form','salva','elimina');
$azione='';
if(isset(
$_REQUEST['azione'])) {
    
$azione $_REQUEST['azione'];
    if(!
in_array($azione$azioniAmmesse)){
        
$azione='';
    }
}
switch (
$azione) {
    case 
"salva":
        
salva();
        
$contenuto=lista();
        break;
    case 
"elimina":
        
elimina();
        
$contenuto=lista();
        break;
    case 
'lista':
        
$contenuto lista();
        break;
    case 
'form':
        
$contenuto form();
        break;
    case 
'dettaglio':
        
$contenuto dettaglio();
        break;
    default:
        
$contenuto lista();
        break;
    }

function 
form() {
    global 
$conn;
    
$id $_GET['id']; 
    
$sql "SELECT * FROM siti1 WHERE id=:id";
    
$stmt $conn->prepare($sql);
    
$stmt->bindParam(':id',$id,PDO::PARAM_INT);
    
$stmt->execute();
    
$row $stmt->fetch(PDO::FETCH_ASSOC);
    
$out='';
    
$out.='<form name="info" action="?" method="post">';
    
$out.='<input type="hidden" id="azione" name="azione" value="salva">';
    
$out.='<input type="hidden" id="id" name="id" value="'.$id.'">';
    
$out.='<label for="name">Nome</label><br  /><input type="text" id="name" name="name"  value="'.$row['name'].'"><br />';
    
$out.='<label for="crono">Crono</label><br  /><input type="text" id="crono" name="crono"  value="'.$row['crono'].'"><br />';
    
$out.='<label for="tipo">Tipo</label><br  /><input type="text" id="tipo" name="tipo"  value="'.$row['tipo'].'"><br />';
    
$out.='<input type="submit" class="btn btn-success" value="salvataggio">' ;
    
$out.='</form>';
    return(
$out);
    }
    
    
    function 
salva() {
    global 
$conn;
    
$id $_GET['id']; 
    
$name=$_REQUEST["name"];
    
$crono=$_REQUEST["crono"];
    
$tipo=$_REQUEST["tipo"];
    if(
$id==0){
        
$sql 'INSERT INTO siti1 (name, crono, tipo) VALUES(:name, :crono, :tipo)';
        
$stmt $conn->prepare($sql);
        
$stmt->bindParam(':name',$name,PDO::PARAM_STR);
        
$stmt->bindParam(':crono',$crono,PDO::PARAM_STR);
        
$stmt->bindParam(':tipo',$tipo,PDO::PARAM_STR);
        
$stmt->execute();
        }
    else{
        
$sql='UPDATE siti1 SET name=:name, crono=:crono, tipo=:tipo WHERE id=:id LIMIT 1  ';
        
$stmt $conn->prepare($sql);
        
$stmt->bindParam(':id',$id,PDO::PARAM_INT);
        
$stmt->bindParam(':name',$name,PDO::PARAM_STR);
        
$stmt->bindParam(':crono',$crono,PDO::PARAM_STR);
        
$stmt->bindParam(':tipo',$tipo,PDO::PARAM_STR);
        
$stmt->execute();
        }
    } 

Il form visualizza i campi del db, quindi la query funziona, ma se provo a modificare i dati non cambia e non aggiunge come se non leggesse la funzione salva.

Grazie per eventuali suggerimenti