在cocos2dx中通过php文件访问服务器数据库
来源:互联网 发布:证券交易软件排行 编辑:程序博客网 时间:2024/06/18 17:49
这次分享一下如何在2dx中访问wamp中的数据库的内容,来实现一个登陆的功能,也就是在输入用户名的账号和密码之后,可以通过访问wamp服务器里面的数据库,查询是否存在该用户以及密码是否正确,反馈你是否登陆成功的一个小的demo。
接下来正文:
首先你要在2dx里面使用HttpClient这个类,用于对php文件发送接收请求,来访问数据库的内容。
代码如下:
voidHelloWorld::myhttp()
{
HttpRequest*request=newHttpRequest();//创建请求对象
stringstr1="localhost/testPhp/index.php?";
stringstr2=ntextEdit->getString();//获取username编辑框内容
stringstr3=ptextEdit->getString();//获取password编辑框内容
stringstruser="username=";
stringstrpsw="&password=";
str1=str1+struser+str2+strpsw+str3;
request->setUrl(str1.c_str());//设置请求的url,username和password已经包含在url中
request->setRequestType(HttpRequest::Type::GET);//设置为Get模式
//request->setUrl("https://httpbin.org/get");
//request->setRequestType(HttpRequest::Type::GET);
request->setResponseCallback(CC_CALLBACK_2(HelloWorld::onHttpRequestCompleted,this));
request->setTag("GET test");
HttpClient::getInstance()->send(request);//发送请求
request->release();//释放请求
}
我的代码注释写得很清楚,总结的来说,就是先把url通过你的字符串把他拼接好,然后发送出去。然后等待响应。响应代码如下:
voidHelloWorld::onHttpRequestCompleted(HttpClient*sender,HttpResponse*response)
{
autoflag=(LabelTTF*)this->getChildByTag(3);
if(!response->isSucceed())//如果响应失败,输出错误信息
{
StringstrError;
strError.initWithFormat("Receive Error! \n%s\n",response->getErrorBuffer());
flag->setString(strError.getCString());
return;
}
std::vector<char>*buffer=response->getResponseData();//接收响应信息
stringrecieveData;
for(unsignedinti=0;i<buffer->size();i++)
{
recieveData+=(*buffer)[i];
}
size_tbegin=recieveData.find("<body>")+6;//这里简单处理,获取<body>标签内数据,即是响应内容
size_tend=recieveData.find("</body>");
stringresult(recieveData,begin,end-begin);
flag->setString(result.c_str());
}
这里我使用了一个文字标签来显示反馈的内容,如果在服务器的数据库中你可以搜索到正确的用户名和密码,那么他会反馈一个正确信息,如果有错误则会返回一个错误的信息。这样一来我们就可以成功的获得反馈的信息了。
这一讲先说到这里,下一次详细说明php文件怎么写以及如何对应wamp服务器中的数据库。
谢谢大家!
- 在cocos2dx中通过php文件访问服务器数据库
- 在cocos2dx中通过php文件访问服务器数据库(2)
- 在cocos2dx中通过php文件访问服务器数据库(3)
- 在 php 中通过 CURL 上传文件
- 在 php 中通过 CURL 上传文件
- 在 php 中通过 CURL 上传文件
- cocos2dx上传文件至php服务器操作
- 在ASP中通过SQL访问ACESS数据库的方法
- 在weblogic环境中,通过连接池访问数据库
- 在Java程序中,通过JDBC访问数据库
- 在spark集群中通过hive访问mysql数据库
- 通过数据库服务器触发器控制机器访问
- Android通过PHP访问MySQL数据库
- Android客户端通过PHP访问MySQL数据库
- 防止通过域名访问服务器文件目录
- 在PHP中通过POST方法实现文件上传功能
- PHP实现客户端将CSV文件导入服务器数据库中
- php通过SAX访问xml文件
- 库和框架的区别
- *LINUX基础进阶
- OC中的字符串属性(深拷贝和浅拷贝)
- 解密qq
- 第三章 Java基础之cookie和session的区别和联系
- 在cocos2dx中通过php文件访问服务器数据库
- Qt stylesheet 源码学习
- html5初学者经历
- 关于往安卓模拟器中复制文件的问题
- JavaSE入门学习26:Java异常处理(下)
- Notepad++插件安装,美化xml
- Qt中设置widget背景颜色/图片的注意事项(使用样式表 setStyleSheet())
- Java 多线程(六) synchronized关键字详解
- Android 常用代码片段