Salve a tutti,
credo di avere un problema con un prepared statement.
In una pagina ho un form con quattro id: nome, cognome, ruolo, paga. Il pulsante di invio dati ha id save.
Nella stessa pagina ho un piccolo script in javascript che preleva i dati dal form, crea una stringa concatenata con i dati e la invia tramite ajax alla pagina nuovoImpiegato.php.
codice:
$('#save').click(function(){
var nome = $('#nome').val();
var cognome = $('#cognome').val();
var ruolo = $('#ruolo').val();
var paga = $('#paga').val();
var dati = "nome="+nome+"&cognome="+cognome+"&ruolo="+ruolo+"&paga="+paga;
$.ajax({
type: "POST",
url: "nuovoImpiegato.php",
data: dati
}).done(function(data) {
$('#info').html(data);
});
});
Nella pagina nuovoImpiegato.php ho il seguente codice che, in teoria, dovrebbe ricevere i dati concatenati dalla pagina di partenza e inserirli al posto dei ? all'interno della query. Non capisco perché non funziona.
Codice PHP:
include 'config.php'
$stmt = $conn->prepare("INSERT INTO impiegati (nome, cognome, ruolo, paga) VALUES (?, ?, ?, ?)");
$stmt->bind_param($nome, $cognome, $ruolo, $paga);
$nome = $_POST['nome'];
$cognome = $_POST['cognome'];
$ruolo = $_POST['ruolo'];
$paga = $_POST['paga'];
if($stmt->execute()){
echo "Successo.";
}else{
echo "Fallimento.";
}
Mi vengono restituiti i seguenti errori che non riesco a risolvere:
Notice: Undefined variable: nome in C:\xampp\htdocs\www\...\nuovoImpiegato.php on line 6
Warning: mysqli_stmt::bind_param(): Invalid type or no types specified in C:\xampp\htdocs\www\...\nuovoImpiegato.php on line 6
Qualche indizio su dove sia l'errore?