Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Jefferson Fernandes_81308

Como testar conexao com o banco de dados com ajax e javascript?

Recommended Posts

Ola amigos o quero fazer acredito ser bem simples mas naum sei nem por onde comecar poderia me dar uma mao?

 

Eh o seguinte eu tenho uma pagina em php que chamo de conexao.php ela eh exclusiva para criar minha conecao com o DB.

 

Minha ideia eh a seguinte depois de criar minha conexao com o DB eu testo ela e retorno valores boleanos (true,false) dependendo do sucesso ou nao da conexao.

 

 

Agora a minha pergunta como faco para capturar estes valos em ajax e javascript e apresentar para o usuario uma mensagem de erro se o servidor apresentar problemas com a conexao?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faz o seguinte, se tudo der certo, adiciona algo assim no seu arquivo php:

...
echo "ok";
...

 

Se não...

...
echo "erro";
...

 

Vou te mostrar como ficaria o ajax usando ferramentas do jQuery. O que você tem que fazer é "perguntar" para esse arquivo no servidor se tudo deu certo, no caso ele retornará uma dessas duas strings, apenas. Então, você faz um callback pra ver qual foi a resposta:

$.get('seuarquivo.php', 
function(data)
{
  if (data == "ok")
  {
 	// nao deu erro !
  }
  if(data == "erro")
  {
 	// deu erro !
  }
});

 

A ideia básica é essa, espero ter ajudado. Abraços !

Compartilhar este post


Link para o post
Compartilhar em outros sites

É o seguinte, com o JQuery você pode fazer isso de forma fácil e rápida. Exemplo... Utilizando os valores de um Form para testar a conexão ... Tipo um SQL Injection. A biblioteca JQuery, você pode encontrar em http://www.jquery.com , é simples e fácil. \o/

 

index.php

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sem título</title>
<script type='text/javascript' src='js/jquery.1.5.min.js'></script>
<script type='text/javascript'>

$(document).ready(function(){
// Carrega o arquivo de conexão com o banco de dados.
$('#box').load('connect.php');
// Aqui é a parte que executa tudo attravés do formulário
$('#form').submit(function(){

  var form = document.forms[0];
  // Função ajax que passa os valores do formulário para o connect.php
 $.post('connect.php', { username: form.input.value , password: form.input_pw.value },function(result){
// Mostra o resultado na tela, onde está a div BOX.
  $('#box').html(result);

 });

// Não irá executar o formulário, ou seja, ele irá executar na mesma página.
return false;
});

});

</script>
</head>
<body>
<form name='form' id='form' method='post'>
Username <input type='text' name='username' id='input'><br/>
Password <input type='text' name='password' id='input_pw'><br/>
<input type='submit' value='Enviar'>
</form>
<!-- Aqui é onde os valores vão aparecer! -->
<div id='box'>

</div>
<!-- Fim -->
</body>
</html>

----------------------------------------------------------------

 

connect.php

 

<?php
$username = $_POST['username'];
$password = $_POST['password'];

if($username && $password){
// Pronto, aqui ele vai fazer a conexão com os dados que você fez no Index.php e irá testar se a conexão foi feita.
$con = mysql_connect('localhost',$username,$password) or die ('Não foi possível fazer a conexão e/ou Você digitou os dados incorretos');
// Se o usuário for aceito, ele vai exibir essa mensagem na tela.
if($con){
		echo 'Olá, bem vindo!';
}

} else {

echo 'Campo vazio.';

}
?>

 

Bom, espero que tenha entendido, quando eu falei SQL Injection é aquilo que você faz para testar se o banco de dados está acessível de qualquer página .php.

PS: O código foi testado e está funcionando 100%.

Espero que tenha gostado, qualquer coisa, agradeça! ^-^

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.