忙了一晚终于解决了这个问题,关于U3Dunity3d用http协议连接服务器和数据库实现一个用户登入的功能
U3D代码:
usingUnityEngine;
usingSystem.Collections;
publicclassSubmit:MonoBehaviour
{
publicstringurl="http://huang.me/login1.php";
//UI
publicUIInputuser;
publicUIInputpassword;
publicTweenAlphapromptLabel;
publicUIButtonregButton;
IEnumeratorOnClick()
{
WWWFormsum=newWWWForm();
sum.AddField("username",user.value);
sum.AddField("pass",password.value);
WWWww2=newWWW(url,sum);
yieldreturnww2;
Debug.Log(ww2.text);
if(ww2.text=="1"){
Debug.Log("正确");
}
else
{
Debug.Log("输入错误,请注册");
promptLabel.PlayForward();
}
}
//按***册按钮
publicvoidOnRegButtonClick()
{
Application.LoadLevel(1);
}
}
代码很简单,需要注意的是:绑定URL地址的时候,要看有没有更新地址。
//得到用户输入过来参数
$username=$_POST["username"];
$pass=$_POST["pass"];
//连接数据库
$conn=mysql_connect("127.0.0.1","root","");
//打开数据库
mysql_select_db("game");
// 执行sql
$sql="select * from user1 where upass='".$pass."' and uname='".$username."' ";
$result=mysql_query($sql);
if (mysql_num_rows($result)) {
echo "1";
}else{
echo "0";
}
//关闭数据
mysql_close($conn);
?>
数据库里面就是制作表单存数据拿数据
这里我们加上注册功能:
注册u3d客服端代码:
usingUnityEngine;
usingSystem.Collections;
publicclassreg:MonoBehaviour
{
publicstringurl;
publicUIInputname;
publicUIInputid;
publicUIInputpass;
publicUIInputage;
voidStart()
{
url="http://huang.me/register.php";
}
IEnumeratorOnClick()
{
WWWFormform1=newWWWForm();
form1.AddField("name",name.value);
form1.AddField("uname",id.value);
form1.AddField("upass",pass.value);
form1.AddField("age",age.value);
WWWWW1=newWWW(url,form1);
yieldreturnWW1;
Application.LoadLevel(0);
print(WW1.text);
}
}
后面是注册界面PHP代码:
//用户输入到数据库的参数
$name=$_POST["name"];
$uname=$_POST["uname"];
$pass=$_POST["upass"];
$age=$_POST["age"];
//连接数据库
$conn=mysql_connect("127.0.0.1","root","");
//打开数据库
mysql_select_db("game");
// 执行sql
$str="insert into user1 (uname,upass,name,age) values('".$uname."','".$pass."','".$name."','".$age."');";
$result=mysql_query($str);
echo mysql_affected_rows();
//关闭数据
mysql_close($conn);
?>
后面是数据库显示的数据