Cela ne fonctionne toujours pas, voici les modification faites (je donne les bout de codes, je sais pas si j'ai le droit)
bl_LoginPro.cs
Code : Tout sélectionner
public void SinUp(string user, string nick, string pass,string email, CSteamID steamId)
{
if (isRequesting)
return;
if (bl_LoginProDataBase.Instance == null)
return;
StartCoroutine(RegisterProcess(user,nick, pass, email, steamId));
}
IEnumerator RegisterProcess(string user, string nick, string pass,string email, CSteamID steamId)
{
isRequesting = true;
SetLogText("");
//Used for security check for authorization to modify database
string hash = Md5Sum(user + pass + bl_LoginProDataBase.Instance.SecretKey).ToLower();
LoadingUI.SetActive(true);
//Assigns the data we want to save
//Where -> Form.AddField("name" = matching name of value in SQL database
WWWForm mForm = new WWWForm();
mForm.AddField("steamid", PlayerPrefs.GetString( "steamId" ));
bl_SignUp.cs:
Code : Tout sélectionner
public void SignUp()
{
string user = SteamFriends.GetPersonaName();
string nick = SteamFriends.GetPersonaName();
string pass = PasswordInput.text;
string repass = RePasswordInput.text;
string email = EmailInput.text;
CSteamID steamId = SteamUser.GetSteamID();
if (!AllFill(user,nick, pass, repass, email))
return;
if(pass.Length < bl_LoginProDataBase.Instance.MinPasswordLenght)
{
Login.SetLogText(string.Format("your password must be at least <b>{0}</b> characters", bl_LoginProDataBase.Instance.MinPasswordLenght));
return;
}
if(repass != pass)
{
Login.SetLogText("Passwords doesn't match.");
return;
}
Login.SinUp(user,nick, pass, email, steamId);
}
Côté PHP,
bl_Register.php
Code : Tout sélectionner
$steamId = safe($_POST['steamId']);
$steamId = stripslashes($steamId);
$steamId = mysqli_real_escape_string($link, $steamId);
$ins = mysqli_query($link, "INSERT INTO `MyGameDB` (`steamid`, `name` , `nick` , `password` , `uIP`, `email`, `verify`, `active` ) VALUES ('" . $steamId . "' , '" . $name . "' , '" . $nick . "' , '" . $password . "' , '" . $mIP . "', '" . $email . "', '" . $random_hash . "', '" . $emailVerification . "') ")or die(mysqli_error($link));
Dans le jeu, j'arrive à m'inscrire correctement, mais le SteamID n'est pas dans la base de donnée.
Je pense que c'est "PlayerPrefs.GetString( "steamId" )" le problème, mais je ne peut pas convertir "CSteamID steamId = SteamUser.GetSteamID();" en string, car je suis oubligé d'utiliser un string pour la fonction "AddField"