完成了 Android Java 的登入程式,便需要在 NAS 上的 PHP Server 編寫程式,PHP 程式主要是接收從 Android 傳送(POST)過來的資料,資料是用 JSON 格式,這 2個資料變數是 email ($_POST['email'])和 password($_POST['password']),並透過 PHP 程式連接 MySQL 資料庫,用 MySQL 連接資料庫的查詢指令,將判斷 email 帳號與密碼是否正確,然後將結果用 JSON 格式回傳到 Android。
Android PHP MySQL 連接 |
Linux 系統:Debian 2.6.12.6-arm1 版本
Apache 系統:Apache 2.2.3 版本
PHP 系統:PHP 5.2.0-8 版本
MySQL 系統:MySQL 5.0.32 版本
JSON 系統:JSON 1.2.1 版本
Login.php PHP 登入程式:
<?php
if ($_SERVER['REQUEST_METHOD']=='POST') {
$email = $_POST['email']; $pass = $_POST['password']; require_once 'connect.php';
$sql = "SELECT * FROM users WHERE email='$email' "; $response = mysqli_query($conn, $sql);
$result = array(); $result['login'] = array();
if ( mysqli_num_rows($response) === 1 ) { $row = mysqli_fetch_assoc($response);
if ( $pass== $row['password'] ) {
$index['Name'] = $row['Name']; $index['email'] = $row['email']; $index['id'] = $row['id']; $index['pass'] = $row['password']; $index['no'] = $row['no']; $index['add'] = $row['address'];
array_push($result['login'], $index);
$result['success'] = "1"; $result['message'] = "success"; echo json_encode($result);
mysqli_close($conn);
} else { $result['success'] = "0"; $result['message'] = "Worng Password"; echo json_encode($result);
mysqli_close($conn); }
}else{ $result['success'] = "0"; $result['message'] = "error"; echo json_encode($result); mysqli_close($conn); } } ?> |
user.sql 資料庫:
DROP TABLE IF EXISTS `users`; CREATE TABLE `users` ( `id` int(255) NOT NULL auto_increment, `Name` varchar(20) NOT NULL, `email` varchar(30) NOT NULL, `password` varchar(20) NOT NULL, `no` bigint(20) NOT NULL, `address` varchar(100) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO `users` (`id`, `Name`, `email`, `password`, `no`, `address`) VALUES (1,'a','a@a.com','0000',0,'A123 CA'), (2,'b','b@a.com','0000',0,'A222 CA'), (3,'c','c@a.com','0000',0,'A333 CA'), (4, 'd', 'd@a.com', '0000', '0', 'A443 CA'), (5, 'e', 'e@a.com', '0000', '0', 'A555 CA'); |
沒有留言:
張貼留言