android端使用HttpURLConnection与服务器端通信

android端使用HttpURLConnection与服务器端通信

客户端实现(java)

String urlStr = "http://xx.xx.xxx.xxx/CodeForum/codeLogin.php";
String params = "phone=" + user_phone;
URL url = new URL(urlStr);
HttpURLConnection http = (HttpURLConnection) url.openConnection();
http.setDoOutput(true);
http.setDoInput(true);
http.setRequestMethod("POST");
http.connect();

OutputStream out = http.getOutputStream();
out.write(params.getBytes());
out.flush();
out.close();

InputStream is = http.getInputStream();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(is));

String line = "";
StringBuilder sb = new StringBuilder();
while (null != (line = bufferedReader.readLine())) {
	sb.append(line);
}
String result = sb.toString();
try {
	jsonObject = new JSONObject(result);
} catch (Exception e) {
	Log.e("log_tag", "the Error parsing data " + e.toString());
} 

服务端实现(php)

<?php
/*
 *用户通过密码登录,服务器进行的处理
 */
include 'utils.php';

//连接CodeForum数据库
$conn=mysqli_connect("127.0.0.1","root","12345678") or die("数据库服务器连接错误".mysqli_error());
mysqli_select_db($conn,"CodeForum");

// 获取客户端post过来的数据
$getId=$_POST['uid'];//客户端post过来的用户名
$getPwd=$_POST['pwd'];//客户端post过来的密码
$getPhone=$_POST['uid'];//客户端post过来的手机号

//查询数据库中User表中的用户信息
$sqlPhone=mysqli_query($conn,"SELECT * FROM `user` WHERE `phone` ='$getPhone'");
$sql=mysqli_query($conn,"SELECT * FROM `user` WHERE `name` ='$getId'");

//从查询到的结果获取一行作为关联数组
$phoneResult=mysqli_fetch_assoc($sqlPhone);
$result=mysqli_fetch_assoc($sql);
if(!empty($result)){
    //存在该用户
    if($getPwd==$result['pwd']){
        //用户名密码匹配正
        $back['status']="1";
        $back['info']="login success";
        $back['name']=$result['name'];
        $back['phone']=$result['phone'];
        $back['icon']=base64_encode($result['icon']);
        echo(json_encode($back));
    }else{/*密码错误*/
        $back['status']="-2";
        $back['info']="password error";
        echo(json_encode($back));
    }
}else if(!empty($phoneResult)){
    //存在该用户
    if($getPwd==$phoneResult['pwd']){
        //用户名密码匹配正确
        
        //返回结果到客户端中   
        $back['status']="1";
        $back['info']="login success";
        $back['name']=$phoneResult['name'];
        $back['phone']=$phoneResult['phone'];
        $back['icon']=base64_encode($phoneResult['icon']);
        echo(json_encode($back));
    }else{
        //密码错误
        
        //返回结果到客户端中   
        $back['status']="-2";
        $back['info']="password error";
        echo(json_encode($back));
    }
}else{
    //不存在该用户
    
    //返回结果到客户端中   
    $back['status']="-1";
    $back['info']="user not exist";
    echo(json_encode($back));
}

// 关闭数据库连接
mysqli_close($conn);
?>
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值