- Home /
Question by
IWannaTaco · Jan 26, 2015 at 12:38 PM ·
javascriptmysqlphp
Register help
So i'm working with unity and mySQL database and Php. I need it to insert data into the database from this code. It works with connecting to database and all, checks if fields are empty and the check if it(email/username) already exists works. But when it is available it doesn't work.
For obvious reason is censored all the import stuff like connection names and such using
Php code here
<?
// CONNECTIONS =========================================================
$host = "localhost"; //put your host here
$user = "*******"; //in general is root
$password = "******"; //use your password here
$dbname = "*****"; //your database
mysql_connect($host, $user, $password) or die("Cant connect into database1");
mysql_select_db($dbname)or die("Cant connect into database");
// =============================================================================
$unityHash = $_POST["myform_hash"];
$phpHash = "********";
$nick = $_POST["myform_nick"];
$pass = md5($_POST["myform_pass"]); // md5 hashes the password
$email = $_POST["myform_email"];
if(!$nick || !$pass || !$email)
{
echo "Login, password, or email cant be empty.";
}
else
{
if ($unityHash != $phpHash)
{
echo "HASH code is different from your game, you infidel.";
}
else
{
$checkuser = mysql_query("SELECT name FROM scores WHERE name='$nick'");
$username_exist = mysql_num_rows($checkuser);
$checkemail = mysql_query("SELECT email FROM scores WHERE email='$email'");
$email_exist = mysql_num_rows($checkemail);
if($username_exist > 0)
{
echo "Sorry but the username you specified has already been taken. Please pick another one.";
unset($nick);
exit();
}
if($email_exist > 0)
{
echo "Sorry but the email is already in use. Please use another one.";
unset($email);
exit();
}
if($username_exist = 0 && $email_exist = 0) // This is the part that doesn't work...
{
$query = "INSERT INTO scores (id, name, password, email, balance, level, xp, wins, loses) VALUES (NULL, '$nick', '$pass', '$email', '0', '0', '0', '0', '0');";
echo "You have successfully Registered";
}
}
}
mysql_close();
?>
and this is the Javascript code inside unity.
#pragma strict
private var formNick = ""; //this is the field where the player will put the name to login
private var formPassword = ""; //this is his password
private var formEmail = ""; //this is his email
var formText = ""; //this field is where the messages sent by PHP script will be in
var URL = "http://*********.com/*******.php";
var hash = "*********";
private var textrect = Rect (10, 150, 500, 100); //just make a GUI object rectangle
function OnGUI() {
GUI.Label( Rect (10, 10, 80, 20), "Your Email:" ); //text with your nick
GUI.Label( Rect (10, 30, 80, 20), "Your Name:" );
GUI.Label( Rect (10, 50, 80, 20), "Your Pass:" );
formEmail = GUI.TextField ( Rect (90, 10, 100, 20), formEmail ); //here you will insert the new value to variable formNick
formNick = GUI.TextField ( Rect (90, 30, 100, 20), formNick ); //same as above, but for password
formPassword = GUI.TextField ( Rect (90, 50, 100, 20), formPassword );
if ( GUI.Button ( Rect (10, 90, 100, 20) , "Register" ) ){ //just a button
Register();
}
if ( GUI.Button ( Rect (110, 90, 100, 20) , "Back" ) )
{
Application.LoadLevel("Menu_Login");
}
GUI.TextArea( textrect, formText );
}
function Register() {
var form = new WWWForm(); //here you create a new form connection
form.AddField( "myform_hash", hash ); //add your hash code to the field myform_hash for php
form.AddField( "myform_nick", formNick );
form.AddField( "myform_pass", formPassword );
form.AddField( "myform_email", formEmail );
var w = WWW(URL, form);
yield w;
if (w.error != null) {
print(w.error); //if there is an error, tell us
} else {
print("Test ok");
formText = w.data;
w.Dispose(); //clear our form in game
}
}
Comment
Your answer
![](https://koobas.hobune.stream/wayback/20220613181421im_/https://answers.unity.com/themes/thub/images/avi.jpg)
Follow this Question
Related Questions
Sending values from Unity to PhP to SQL. 1 Answer
Javascript with php 1 Answer
Unity PHP login always returning true 3 Answers