Android - 登入系統:查詢使用者資訊
透過唯一的ID進行資料庫搜尋,並回傳顯示對應的搜尋結果
Android端
/**查詢會員資訊**/ public class userinfo extends AppCompatActivity { String id; private TextView name,username,email,tel,ip; private String SEARCH_URL; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_userinfo); SEARCH_URL = getString(R.string.userinfo_url); Bundle bundle = this.getIntent().getExtras();/**接收首頁傳來的user ID**/ id = bundle.getString("id"); name = (TextView)findViewById(R.id.name); username = (TextView)findViewById(R.id.username); email = (TextView)findViewById(R.id.email); tel = (TextView)findViewById(R.id.tel); ip = (TextView)findViewById(R.id.ip); searchset(id);/**搜尋前的前置作業**/ } private void searchset(String id) {/**將獲得的帳號準備拿去資料庫比對搜尋**/ String useraccount = id.trim().toLowerCase(); search(useraccount);/**呼叫search開始傳送**/ } private void search(String useraccount) { class RegisterUser extends AsyncTask<String, Void, String> { Createmem ruc = new Createmem();/**使用http的功能**/ @Override protected void onPreExecute() { super.onPreExecute();/**當按下查詢鈕,出現提式窗**/ } @Override protected void onPostExecute(String s) { super.onPostExecute(s); String[] splitans = s.split(","); name.setText("Account : "+id); username.setText("Name : "+splitans[0]);/**設定顯示**/ email.setText("Email : "+splitans[1]); tel.setText("Telephone : "+splitans[2]); ip.setText("IP Address : "+splitans[3]); } @Override protected String doInBackground(String... params)/**將資料放入hashmap**/ { HashMap<String, String> data = new HashMap<String,String>(); data.put("name", params[0]); String result = ruc.sendPostRequest(SEARCH_URL,data); return result; } } RegisterUser ru = new RegisterUser();/**傳送資料**/ ru.execute(useraccount); } }Android介面布局
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/login_bg" tools:context="project.rmotex.achat.userinfo"> <ImageView android:id="@+id/image" android:background="@drawable/userinfo" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="70dp" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" /> <LinearLayout android:orientation="vertical" android:id="@+id/input" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginLeft="28.0dip" android:layout_marginRight="28.0dip" android:layout_below="@+id/image"> <TextView android:textSize="16.0sp" android:textColor="#E0E0E0" android:textColorHint="#E0E0E0" android:id="@+id/name" android:background="#40000000" android:paddingLeft="12.0dip" android:layout_width="fill_parent" android:layout_height="44dp" android:maxLines="1" android:maxLength="20" android:textStyle="bold" android:gravity="center_vertical" /> <View android:background="#ffc0c3c4" android:layout_width="fill_parent" android:layout_height="1.0px" android:layout_marginLeft="1.0px" android:layout_marginRight="1.0px" /> <TextView android:textSize="16.0sp" android:textColor="#E0E0E0" android:textColorHint="#E0E0E0" android:gravity="center_vertical" android:id="@+id/username" android:background="#40000000" android:paddingLeft="12.0dip" android:layout_width="fill_parent" android:layout_height="44dp" android:textStyle="bold" android:maxLines="1" android:maxLength="20" /> <View android:background="#ffc0c3c4" android:layout_width="fill_parent" android:layout_height="1.0px" android:layout_marginLeft="1.0px" android:layout_marginRight="1.0px" /> <TextView android:textSize="16.0sp" android:textColor="#E0E0E0" android:textColorHint="#E0E0E0" android:gravity="center_vertical" android:id="@+id/email" android:background="#40000000" android:paddingLeft="12.0dip" android:layout_width="fill_parent" android:layout_height="44dp" android:textStyle="bold" android:maxLines="1" android:maxLength="30" /> <View android:background="#ffc0c3c4" android:layout_width="fill_parent" android:layout_height="1.0px" android:layout_marginLeft="1.0px" android:layout_marginRight="1.0px" /> <TextView android:textSize="16.0sp" android:textColor="#E0E0E0" android:textColorHint="#E0E0E0" android:gravity="center_vertical" android:id="@+id/tel" android:background="#40000000" android:paddingLeft="12.0dip" android:layout_width="fill_parent" android:layout_height="44dp" android:textStyle="bold" android:maxLines="1" android:maxLength="30" /> <View android:background="#ffc0c3c4" android:layout_width="fill_parent" android:layout_height="1.0px" android:layout_marginLeft="1.0px" android:layout_marginRight="1.0px" /> <TextView android:textSize="16.0sp" android:textColor="#E0E0E0" android:textColorHint="#E0E0E0" android:gravity="center_vertical" android:id="@+id/ip" android:background="#40000000" android:paddingLeft="12.0dip" android:layout_width="fill_parent" android:layout_height="44dp" android:textStyle="bold" android:maxLines="1" android:maxLength="30" /> </LinearLayout> <Button android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center" android:background="#40000000" android:text="個 人 訊 息 查 閱" android:textStyle="bold" android:id="@+id/send" android:textSize="20.0sp" android:layout_alignParentBottom="true" android:layout_centerHorizontal="true" /> </RelativeLayout>Server端查詢PHP
<?php /**用於查詢會員資料**/ if($_SERVER['REQUEST_METHOD']=='POST'){//限制條件為POST $name = $_POST['name']; require_once('dbConnect.php'); $sql = "SELECT * FROM userinfo WHERE name='$name'"; $checkk = mysqli_fetch_array(mysqli_query($con,$sql)); if(isset($checkk)== true) { $sqll ="SELECT username,email,tel FROM userinfo WHERE name='$name'"; $result = $con->query($sqll); if($result->num_rows >0) { while($row = $result->fetch_assoc()) { echo $row['username']; echo ','; echo $row['email']; echo ','; echo $row['tel']; } } } else { echo '查詢失敗!'; } mysqli_close($con); } else { echo 'Error'; } ?>
留言
張貼留言