Bir PHP komut dosyası bir jQuery değişkeni oluşturun?

2 Cevap php

Ben bir oturum açma komut üzerinde çalışıyorum, ve ben bunu kontrol edin ve sonra ben config.php dosyasında sahip bir eşleşirse bir şey yapmak, bir PHP komut dosyası girdi göndermek istiyorum.

sözde php kodu (admin_login.php)

<?php
require("../config.php");
if($_POST['password'] == $password) {
    $showLoginPage = true;
    }
    else {
    	$showLoginPage = false;
    }
?>

jQuery:

 $("#admin_login_submit").click(function(event) {
     event.preventDefault();
     var pass = $("#admin_login_password").val();
    	$.post("includes/process/admin_login.php",
    		    { password: pass },
    			 function(data){
    				$("#show_admin_feedback").html(data);
    	});

Ben sihirli bir jQuery kodu oluşturmak olsaydı, ne yapmak istiyorum, bu gibi görünecektir:

$("#admin_login_submit").click(function(event) {
     event.preventDefault();
     var pass = $("#admin_login_password").val();
    	$.post("includes/process/admin_login.php",
    		    { password: pass },
    			 function(data){
    				$("#show_admin_feedback").html(data);
    				showLoginPage = $showLoginPage;
    	});
    		if(showLoginPage == true) {
    			$("#main").load("logged_in.php");
    		}
  });

Ben "amele" geri dönülecek ya da ben bunu test ederken "işe yaramadı" Oh, çünkü ben $("#show_admin_feedback").html(data); iade edilen var. :-P.

------ Düzeltildi. Teşekkürler, titreme!

php

<?php
require("../config.php");
if($_POST['password'] == $password) {
    header('HTTP/1.1 200 OK');
    }
    else {
    	header('HTTP/1.1 404 Not Found');
    }

?>

jQuery

$("#admin_login_submit").click(function(event) {
     event.preventDefault();
     var pass = $("#admin_login_password").val();
    	$.ajax({
    		type: "POST",
    		url: "includes/process/admin_login.php",
    		data: "password=" + pass,
    		success: function(){
    		  $("#main").load("logged_in.php"); },
    		error: function(){
    			$("#admin_login_show").html("<b>Failed Login</b>"); }
    	});
  });

2 Cevap

Ya sadece giriş başarısız olduğunda php komut 404 bir http durum kodunu değiştirin. Bu şekilde geri çağırma işlevi yangın olmaz ve giriş sayfasında kalır. Ama giriş başarısız kullanıcı söylemek için bir şey ile gelmek gerekir.

Ya $.ajax() çağrısını yerine $.post() kullanmayı düşünebilirsiniz. Şimdi php komut başarılı / başarısız oturum bağlı olarak farklı HTTP durum kodları ayarlamak için yazabilirsiniz.

örneğin zaman başarılı ve 404 giriş başarısız olunca 200 dönmek.

Şimdi ile $.ajax() Eğer success kayıt ve errror geri ve buna göre hareket diyoruz. Set show_admin_feedback her iki durumda da (başarı / kullanıcı için başarısız göstermektedir şey görüntüleniyor) ve eğer başarı da çağrıda $("#main").load("logged_in.php");

İhracat PHP kodu JSON, ve bunu JSON elde nesneler ile ne gibi yapmak :)