は、私は、ユーザーとのこの非常に単純なログインフォームを持っているし、合格動作していないと私は両方がデータベースにあることを確認する必要があると私はこのために、AJAXを使用しています:ログイン内部のjQueryのAjaxのテキスト入力欄の機能は
$("#clientes").bind("submit", function() {
$(".error_usu").hide();
$.ajax({
type : "POST",
cache : false,
url : "login.php",
data : $(this).serializeArray(),
success: function(data) {
switch(data){
case '1'://exito
alert("alert!");
window.location.href = "clientes.php";
break;
case '2'://pass
$(".error_pass").show();
break;
}
}
});
return false;
});
。 PHPは、私はこれを持っている:私は放火犯をチェックすると
<? session_start();
if(!empty($_POST['usuario']) && !empty($_POST['password']))
{
include "funciones.php";
$username = $_POST['usuario'];
$password = $_POST['password'];
$con=conectar();
$checklogin = mysql_query("SELECT * FROM clientes WHERE user = '".$username."' AND pass = '".$password."'",$con) or die (mysql_error());
if(mysql_num_rows($checklogin) == 1){
$_SESSION['usuario'] = $_POST['usuario'];
$_SESSION['password'] = $_POST['password'];
echo '1';
}else{
echo '2';
}
}else{
echo '2';
}?>
私は1つのまたは2が、デ成功機能が働いされることはありません取得しています参照してください!私はちょうどlogin.phpの内側にこの方法をチェックし、データベースを持っていた前に、私はこれを試してみました、それが働いた:
if($_POST['usuario']=="fulano" && $_POST['password']=="fulano"){
echo '1';
}
は、それが原因で$ _SESSION変数の働きませんか?私は完全にajax関数の仕組みを理解していません。
$アヤックスコールパラメータデータ型に追加します。「HTML」と、あなたはそれを –
を持っていますあなたの成功の関数が呼び出されていない、またはcase文に足を踏み入れるませんか?試してみましょう。成功:function(data){alert(data); }}、ちょうど関数が呼び出されていることを確認し、データがあなたの期待どおりであることを確認してください(つまり、空白、ヘッダー情報、HTMLコードなどは含まれません) – Connell
Connellは正しいです、ファイヤーバグは私に1または2を示します:SIはデータ型を試しても動作しません –