Buongiorno a tutti,
come da titolo del topic, ho una pagina dove tramite alcuni pulsanti vorrei esequire determinati comandi SQL.
creato lo script js da associare ai pulsanti che tramite $.ajax esegue una richiesta ad un file PHP.
la pagina in questione viene visualizzata dopo il click sul link del menu, che elimina il contenuto della home e sostituisce il codice html tramite JS, quando il pulsante viene premuto, la queri viene eseguita ma la pagina esegue un ricaricamento riportando l'utente alla home.
codice HTML del pulsante che attiva la funzione
<div class="col-4 buttons wow fadeInUp">
<a class="btn btn-primary btn-customized scroll-link" href="" onclick=JQpost("create_table") role="button">
<i class="fas fa-database"></i> genera TABELLE
</a>
</div>
JS della funzione collegata al pulsante
(le righe commentate derivano da tentativi di eseguire la stessa procedura in modi differenti sperando di risolvere qualcosa…..inutilmente)
function JQpost(cmd,var1){
//var xhttp = new XMLHttpRequest();
//xhttp.onreadystatechange = function() {
// if (this.readyState == 4 && this.status == 200) {
// Qui puoi gestire la risposta ricevuta dal server
// }
// };
// xhttp.open("POST", "./postmanager.php", true);
// xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
// var data = "action="+cmd+"&var="+var1;
// xhttp.send(data);
// return false;
//$.post("./postmanager.php",{ action: cmd, var: var1})
// .done(updatecontent("setup"));
$.ajax({
type:"POST",
url: "./postmanager.php",
data: {action: cmd, var: var1},
success: function(data) {
console.log(data);// You can see the result which is created in chat.php
}
});
}
PHP che riceve la richiesta AJAX
l'idea era di usare il medesimo file per gestire differenti tipi di operazione in base alla stringa passata
<?php
require_once 'funclib.php';
$action = $_POST['action'];
logtxt("postmanager.php---ricevuto comando: ".$action);
switch ($action){
case "deleteXLS":
logtxt("run deleteXLS function");
$name= $_POST['var1'];
XLSdelete($name);
echo "ok";
break;
case "importfile":
logtxt("run importfile function");
$filename = $_POST['var1'];
XLStoDB($filename);
echo "ok";
break;
case "importfolder":
logtxt("run importfolder function");
XLStoDB();
echo "ok";
break;
case "create_table":
logtxt("run create table function");
create_table();
echo "ok";
break;
case "wipe":
logtxt("run wipe table function");
wipetable();
echo "ok";
break;
}
?>
leggendo poi una mare di articoli e di esempi ho tentato anche di eseguire diversamente la chiamata alla funzione js eliminando:
onclick=JQpost("create_table")
utilizzando al suo posto( dopo aver inserito un ID al pulsante
$('#regentable').click(function(e){
e.preventdefault();
$.ajax({
type:"POST",
url: "./postmanager.php",
data: "create_table",
success: function(data) {
console.log(data);// You can see the result which is created in chat.php
}
});
})
in ogni caso il risultato è rimasto sempre lo stesso.
il tutto lo sto testando su XAMPP
qualcuno riesce a dirmi cosa sto sbagliando ?? sto diventando scemo haha
grazie