2010-05-19 2 views
0

내 문제를 확인해 주셔서 감사합니다 ... PHP 스크립트를 실행하고 반환 할 새로운 html 항목을 반환하는 Ajax를 통해 로그인 양식을 제출하는 데 문제가 있습니다. 내가 이름 & & 비밀번호의 포스트 데이터에 대한 지금까지jQuery Ajax 양식 제출, PHP 로그인 스크립트 호출

$("#login_form").submit(function() { return false; }); 

$('#login_button').click(function(event) { 
    $form = $(this).parent("form"); 
    $.post($form.attr("action"), $form.serialize(), function(data){ 
     $('#userlinks').html(data); 
    }); 
}); 

HTML: 
    <form id="login_form" name="login" action="login.php"> 

PHP: 
$username = empty($_COOKIE['username']) ? '' : $_COOKIE['username']; 
$id = empty($_COOKIE['id']) ? '' : $_COOKIE['id']; 

if ($username && $id) { 
throw new RedirectBrowserException('index.php'); 
} else { 
$action = empty($_POST['action']) ? '' : $_POST['action']; 
if ($action == 'do_login') { 
    $username = empty($_POST['username']) ? '' : $_POST['username']; 
    $password = empty($_POST['password']) ? '' : $_POST['password']; 
    echo handle_login($username, $password); 
} else { 
    throw new RedirectBrowserException('index.php'); 
} 
} 

PHP 스크립트 검사를 heres는 무슨 .... #userlinks에 HTML을 대체, 아직 내가 갖는 모든 페이지 새로 고침없이 변경입니다. login_button을 링크로 바꾸고 스크립트를 조금 변경하지 않는 한 아무 것도 반환하지 않습니다. 어떤 도움도 받으실 수 있습니다! 다음

//$("#login_form").submit(function() { return false; }); <-- remove this line 
$('#login_button').click(function(event) { 
    $form = $(this).parent("form"); 
    $.post($form.attr("action"), $form.serialize(), function(data){ 
     $('#userlinks').html(data); 
    }); 
    return false; 
}); 
+0

당신은 HTML의 일부도 포함 할 수 있습니다. 나는 당신이 거기에'

'있다고 가정합니다. –

답변

2

이 시도하고

+0

답변 해 주셔서 감사합니다! 문제는 지금 login.php로 보내고 그것이 무엇을 반환하는지 보여줍니다. 아래의 제안과 동일합니다 ... – NickKampe

+0

무엇을 반환합니까? –

+0

#userlinks에 포함 할 내용 – NickKampe

0

봅니다 :

$("#login_form").submit(function(event){ 

    $.post($(this).attr("action"), $(this).serialize(), function(data){ 
     $('#userlinks').html(data); 
    }); 

    event.preventDefault(); 
}); 
+0

답변 해 주셔서 감사합니다. 문제는 지금 login.php로 보내고 함수가 무엇을 반환하는지 보여줍니다. 위와 같은 문제가 발생했습니다. – NickKampe