Ir para conteúdo

POWERED BY:

Arquivado

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

Heur

Função $.post()

Recommended Posts

Olá povo.

Não sei se essa pergunta tem que ser aqui ou em PHP mas,

tenho uma duvida em como dar post com o jquery.

 

Eu fiz assim:

 

index.html: minha pagina de login.

<html>
	<head>
		<title>Home Page</title>
		<link rel="stylesheet" type="text/css" href="styles.css" />
		<script type="text/javascript" src="jquery.min.js"></script>
		<script type="text/javascript" src="scripts.js"></script>
	</head>
	<body>
		<fieldset id="formPane">
			<legend>Login</legend>
			<img id="carregando" src="carregando.gif"></img>
			<table>
				<label>
					<tr>
						<td align="right">Usuário: </td>
						<td><input type="text" class="textField" name="usuario" id="usuario" /></td>
					</tr>
				</label>
				<label>
					<tr>
						<td align="right">Senha: </td>
						<td><input type="password" class="textField" name="senha" id="senha" /></td>
					</tr>
				</label>
				<tr>
					<td></td>
					<td><input type="submit" class="button" id="button" name="button" value="Login" /></td>
				</tr>		
			</table>
		</fieldset>
		<div id="retorno">
			
		</div>
	</body>
</html>

Como podem ver eu não pus o form, pois o jquery vai fazer isso.

 

vLogin.php: validador do login, devidamente linkado ao conexao.php.

 

<? 
include("conexao.php");

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
	$usuario = $_POST["usuario"];
	$senha = $_POST["senha"]; 

	$sql = ("select user_login, user_senha from cadastro where user_login = '".$usuario."' and user_senha = '".$senha."';");
	$result = mysql_query($sql);
	$linhas = mysql_num_rows($result);

	if ($linhas <= 0) {
		return false;
		$retorno = "Inválido";
		echo ($retorno->erro);
	} else {
		return true;
		$retorno = "Válido";
		echo ($retorno->retorno);
	}
} ?>

E finalmente o meu script.js.

 

$(document).ready(function () {
	$('#button').click(function() {
		var usuario = $('#usuario').val();
		var senha = $('#senha').val();
		$.post('vLogin.php', (usuario: usuario, senha: senha), function(data) {
			if (data == true) {
				$("#retorno").fadeIn("slow").text(data);
			} else {
				$("#retorno").fadeIn("slow").text(data);
			}					
		});
	});
});

Antes de tudo saibam que meus arquivos estão linkados corretamente e tudo.

Tá tudo OK.

 

Mas eu queria saber a maneira correta de fazer isso.

Pois não to conseguindo dá post no meu arquivo PHP e fazer com que ele retorne.

 

Essa parte:

if ($linhas <= 0) {
		return false;
		$retorno = "Inválido";
		echo ($retorno->erro);
	} else {
		return true;
		$retorno = "Válido";
		echo ($retorno->retorno);
	}

Eu vi em tutoriais. Ele coloca o conteudo da variavel no div correspondente.

 

Alguém me ajuda?

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

hum.. vou deixar um exemplo didático simples:

<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
	$("#login").submit(function(){
		var action = $( this ).attr('action');
		var user = $("input[name='user']").val();
		var pass = $("input[name='pass']").val();
		
		$.post(
			action, 
			{user: user, pass: pass},
			function( data ){
				$("#aqui").html( data );
			}
		);
		return false;//impedindo o envio natural
	});
});
</script>
</head>
<body>
	<form method="post" action="processa.php" id="login">
		<fieldset>
			<label>Login: <input type="text" name="user" /></label>
			<label>Senha: <input type="password" name="pass" /></label>
			<input type="submit" name="enviar" value="enviar" />
		</fieldset>
	</form>
	<div id="aqui"></div>
</body>
</html>
processa.php

<?php

	echo '<pre>';
	var_dump( $_POST );

 

-> essa história de 'não colocar form', pq 'o javascript' que irá fazer, está errada.

-> tem erros no teu php

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.