在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());//设置请求的urlusernamepassword已经包含在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服务器中的数据库。

         谢谢大家!



0 0
原创粉丝点击