利用AppInventor实现登录功能(完整版)
上次教程,我们已经在SAE的共享型MySQL中新建了数据表,并且通过APP向数据表中写入了用户的信息(用户名、密码、昵称),如下图所示:
????????? 今天文章重点论述利用AppInventor实现登录功能。
???????????原理说明:从客户端输入用户名和密码,服务器端使用PHP代码对客户端上传的用户名和密码与数据表中的用户名和密码进行比对,根据比对结果返回数据。接着,客户端根据服务器端返回的结果显示信息(登录失败或者登录成功)。
????????Step1:界面设计
??????????? ?界面设计直接看图不说话!
????????????Step2:服务器端脚本代码
$user=$_POST['user'];????????????????//获取客户端上传的用户名并存储在'user'变量中
$pwd=md5($_POST['pwd']);????????//获取客户端上传的密码使用md5加密,并存储在'pwd'变量中
$mysql = new SaeMysql();???????????//初始化新浪服务器的MySQL类
$sql = "SELECT * FROM `user` where user='{$user}' AND password= '{$pwd}'";????????????????????????????????????????????????//在'user'数据表中查询是否存在与客户端上传的用户名和密码相同的用户信息
$mysql->runSql($sql);??????????????//执行sql语句
$no=$mysql->affectedRows();????????????//sql语句影响的代码行数
if($no==0){?????????????????????//如果没有影响到数据库中的数据(表明不存在该用户)
? ?
? ? echo 1;????????????????????????//返回1表示用户或密码错误
}
else {????????????????????????????? ? //如果存在该用户
$data=$mysql->getData($sql); ??????????????//获取sql语句执行的结果
$nick=$data[0]['nick'];????????????????????????????? //获取结果行的'nick'值
$resultStr="{$nick}欢迎你!";????????????????//定义字符串变量为“昵称+欢迎语!”
echo $resultStr;????????????????????????????????????? ? //返回欢迎字符串!
}
?>????????????????????????????????????????????????????????????//PHP代码结尾
????????????Step3:APP端逻辑设计
????????逻辑设计说明:当“登录”按钮被单击时,判断用户名和密码是否为空,不为空则设置Web组件的请求头和代码URL(请求头在注册教程中重点阐述过,在此不再赘述)。最后将用户名和密码以二级列表的形式上传至服务器。
????????当服务器收到请求,并根据客户端上传的用户名和密码执行数据库查找操作,最后将查找结果返回给客户端。接下来完成客户端收到web请求的操作,详情见下图:
????????????Step4:测试? ?
? ? ? 如图所示:测试成功!
关注微信公众号“云端微课”第一时间查看AI最新教程!