<code><?php // Include ezSQL core include_once('../include/ez_sql_core.php'); // Include ezSQL database specific component include_once('../include/ez_sql_postgresql.php'); $username=''; $password=''; $result=''; if(!empty($_POST)){ $username = $_POST["username"]; $password = $_POST["password"]; }else{ } $db = new ezSQL_postgresql('i2soft', 'i2s@Shanghai', 'sdata', '127.0.0.1'); ///$user = $db->query("select id from user2 where name = 'admin' and password ='admin'"); //$user_details = $db->get_row(null, OBJECT, 0); //var_dump($user_details) ; $sql = sprintf("select * from user2 where name='%s' and password='%s'",$username,$password); //echo $sql; //select * from user2 where name='admin' and password='admin' $user=$db->get_results($sql); //var_dump($user); //array(1) { [0]=> object(stdClass)#5 (3) { ["id"]=> string(1) "1" ["name"]=> string(5) "admin" ["password"]=> string(5) "admin" } } if($user){ $result='0'; }else{ $result='-1'; } $arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5); echo json_encode($arr); ?> </code>
php는
을 포함하는 경우 json 데이터를 반환합니다.<code>$user=$db->get_results($sql); </code>
이 코드 줄은 ajax에서 오류를 반환합니다.
이 코드 줄을 제거하면 ajax 결과는 성공입니다
이 코드 줄은 반환된 데이터를 인쇄했으며, 요청하지 않아도 주석 처리된 배열이 인쇄됩니다. Ajax를 사용하여 서버 코드를 사용하면 양식을 제출할 때 코드를 직접 테스트할 수 있습니다.
html 코드는 다음과 같습니다.
<code><!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="description" content=""> <meta name="author" content=""> <link rel="icon" href="../media/image/favicon.ico"> <title>英方I2Active</title> <!-- Bootstrap core CSS --> <link href="../media/bootstrap/css/bootstrap.min.css" rel="stylesheet"> <!-- Custom styles for this template --> <link href="../media/css/login.css" rel="stylesheet"> <script type="text/javascript" src="../media/js/jquery-1.9.1.js"></script> </head> <body> <div class="container"> <form class="form-signin" role="form" action=""> <img src="../media/image/logo.png" /> <h2 class="form-signin-heading">I2Active登录</h2> <input id="username" type="text" class="form-control" placeholder="User name" required autofocus > <input id="password" type="password" class="form-control" placeholder="Password" required> <div class="checkbox"> <label> <input type="checkbox" value="remember-me"> 记住密码 </label> </div> <button id="login" class="btn btn-lg btn-primary btn-block" >登录</button> </form> </div> <!-- /container --> <script type="text/javascript"> $("#login").click(function () { var username = $("#username").val(); var password = $("#password").val(); if(username&&password){ $.ajax({ url: '../controller/login2.php', // 跳转到 action data: { 'username': username, 'password': password }, type: 'post', cache: false, dataType: 'json', success: function (data) { alert('ajax success'); }, error: function () { alert('ajax error'); } }) } }); </script> </body> </html></code>
<code><?php // Include ezSQL core include_once('../include/ez_sql_core.php'); // Include ezSQL database specific component include_once('../include/ez_sql_postgresql.php'); $username=''; $password=''; $result=''; if(!empty($_POST)){ $username = $_POST["username"]; $password = $_POST["password"]; }else{ } $db = new ezSQL_postgresql('i2soft', 'i2s@Shanghai', 'sdata', '127.0.0.1'); ///$user = $db->query("select id from user2 where name = 'admin' and password ='admin'"); //$user_details = $db->get_row(null, OBJECT, 0); //var_dump($user_details) ; $sql = sprintf("select * from user2 where name='%s' and password='%s'",$username,$password); //echo $sql; //select * from user2 where name='admin' and password='admin' $user=$db->get_results($sql); //var_dump($user); //array(1) { [0]=> object(stdClass)#5 (3) { ["id"]=> string(1) "1" ["name"]=> string(5) "admin" ["password"]=> string(5) "admin" } } if($user){ $result='0'; }else{ $result='-1'; } $arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5); echo json_encode($arr); ?> </code>
php는
을 포함하는 경우 json 데이터를 반환합니다.<code>$user=$db->get_results($sql); </code>
이 코드 줄은 ajax에서 오류를 반환합니다.
이 코드 줄을 제거하면 ajax 결과는 성공입니다
이 코드 줄은 반환된 데이터를 인쇄했으며, 요청하지 않아도 주석 처리된 배열이 인쇄됩니다. Ajax를 사용하여 서버 코드를 사용하면 양식을 제출할 때 코드를 직접 테스트할 수 있습니다.
html 코드는 다음과 같습니다.
<code><!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="description" content=""> <meta name="author" content=""> <link rel="icon" href="../media/image/favicon.ico"> <title>英方I2Active</title> <!-- Bootstrap core CSS --> <link href="../media/bootstrap/css/bootstrap.min.css" rel="stylesheet"> <!-- Custom styles for this template --> <link href="../media/css/login.css" rel="stylesheet"> <script type="text/javascript" src="../media/js/jquery-1.9.1.js"></script> </head> <body> <div class="container"> <form class="form-signin" role="form" action=""> <img src="../media/image/logo.png" /> <h2 class="form-signin-heading">I2Active登录</h2> <input id="username" type="text" class="form-control" placeholder="User name" required autofocus > <input id="password" type="password" class="form-control" placeholder="Password" required> <div class="checkbox"> <label> <input type="checkbox" value="remember-me"> 记住密码 </label> </div> <button id="login" class="btn btn-lg btn-primary btn-block" >登录</button> </form> </div> <!-- /container --> <script type="text/javascript"> $("#login").click(function () { var username = $("#username").val(); var password = $("#password").val(); if(username&&password){ $.ajax({ url: '../controller/login2.php', // 跳转到 action data: { 'username': username, 'password': password }, type: 'post', cache: false, dataType: 'json', success: function (data) { alert('ajax success'); }, error: function () { alert('ajax error'); } }) } }); </script> </body> </html></code>
SQL 실행 오류가 발생했습니다. PHP에서 오류가 발생했습니다. 원인을 확인하려면 웹 브라우저를 사용하여 직접 접속하는 것이 좋습니다
ezSQL_postgresql 클래스의 코드를 살펴보세요