Salve a tutti sto provando a scrivere una procedura di verifica della connessione ad un database mysql.
la procedura prevede un form dove inserire i dati(indirizzo db, pass, user, nome db) che manda una richiesta in ajax ad una pagina php così strutturata:
la funzione verify_db:codice:$ajax_request = $_REQUEST['ajax_request']; if(isset($ajax_request) && $ajax_request) { $db_host = $_REQUEST['db_host']; $db_name = $_REQUEST['db_name']; $db_user = $_REQUEST['db_user']; $db_pass = $_REQUEST['db_pass']; $verify_db=verify_db($db_host, $db_name, $db_user, $db_pass); if ($verify_db==TRUE){ mysql_close(); $error="none"; $msg="Configurazione del database avvenuta con successo"; } else { switch ($db_result) { case '1': $error="db_err"; $msg="Errore, impossibile connettersi al database. Verificare i dati inseriti."; break; case '2': $error="db_err"; $msg="Errore, impossibile selezionare il database. Verificare i dati inseriti."; break; } } $result = array('msg' => $msg, 'error' => $error); $result_json = json_encode($result); echo $result_json; }
ed infine il codice della richiesta:codice:function verify_db($db_host, $db_name, $db_user, $db_pass) { $db_connect = mysql_connect($db_host, $db_user, $db_pass); $db_select = mysql_select_db($db_name); if (!$db_connect) {$db_result=1; return $db_result;} else { if (!$db_select) {$db_result=2; return $db_result;} else {return TRUE;} } }
il problema è che anche non inserendo alcun valore o valori errati nel form l'esito della connessione ritorna TRUE...codice:$(document).ready(function() { $("#db_setup_button").click(function() { var action = $("#db_setup_form").attr('action'); var form_data = { db_host: $("#db_host").val(), db_name: $("#db_name").val(), db_user: $("#db_user").val(), db_pass: $("#db_pass").val(), ajax_request: 1 }; $.ajax({ type: "POST", url: action, data: form_data, dataType: "json", success: function(response) { if(response.error == 'none') $("#db_setup_form").fadeToggle('fast', function() { $("#esito_installazione").html("<p class='success'>"+response.msg+"</p>"); }); else {$("#esito_installazione").html("<p class='error'>"+response.msg+"</p>");} } }); return false; }); });
qualche idea?
grazie

Rispondi quotando
