PHP と jQuery Ajax を使用して、基本的なログ システムを構築します。
私がやりたいことは、ajax を介してフォームのセクションを送信し、配列を返すことです。これが正しいかどうかはよくわかりません。
ここにPHPがあります
if($access_function == 'access_login_1'){
$email = $_POST['access_email'];
$pwd = $_POST['access_pwd'];
if(!$email || !$pwd){
$error = 'Empty';
}
else {
$user = get_user($email);
if($user && $user['pwd'] == $pwd){
if($user['status'] == 1){
$action = 1;
}
else {
$order = 'Unauthorised';
}
}
else {
$error = 'invalid';
}
}
return array('action'=>$action,'error'=>$error,'order'=>$order);
}
get_user 関数は次のようになります::
function get_user($email){
global $cnx;
$q = $cnx->prepare("SELECT email FROM `users` WHERE email = :email");
$q->execute(array(':email' => $email));
return $q->fetch();
}
今、jQuery は本当の闘争です。私が望むのは、シリアル化された値をこの php に送信することです。スクリプトが 1 のアクションを返した場合、別のスクリプトを実行したいので、$error を error という div に入れ、$order という div に注文するようにします。
これはうまくいきませんでした:
function sendvars(container,linkrul,perform){
var vars = 'access=1';
$(container).find('input').each(function(){
vars += '&' + $(this).attr('name') + '=' + $(this).val();
});
$.ajax({type:'POST',url:linkrul,data:vars,success:function(results){
if(results == 1){ }
else { $(container).find('.orders').html(results).slideDown(300); }
}
});
}
-- ハッシュ化は、すべてをテストしている間だけではありません。