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:
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;
}
la funzione verify_db:
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;}
}
}
ed infine il codice della richiesta:
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;
});
});
il problema è che anche non inserendo alcun valore o valori errati nel form l'esito della connessione ritorna TRUE...
qualche idea?
grazie