Okay, der PHP-Script sieht jetzt wie folgt aus:
|
Quellcode
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
<?php
// Author: Tobias Simon
// Date: 23.03.2017
// Date: 25.03.2017
$servername = "localhost";
$servernickname = "root";
$serverpassword = "";
$db_name = "accounts";
$action = $_REQUEST['action'];
// Connection
$con = new mysqli($servername, $servernickname, $serverpassword, $db_name);
// Check Connection
if(!$con) die("Connection Failed! ".mysqli_connect_error());
function check($stmt, $param) {
if(!$stmt) die("Failed to prepare statement");
$stmt->bind_param('s', $param);
$stmt->execute();
echo $stmt->fetch() ? 'true' : 'false';
}
if($action == 'check_email') {
check($con->prepare("SELECT 1 FROM accounts WHERE email = ?"), $_REQUEST['email']);
} if($action == 'check_nickname') {
check($con->prepare("SELECT 1 FROM accounts WHERE nickname = ?"), $_REQUEST['nickname']);
} elseif($action == 'register') {
$email = $_REQUEST['email'];
$nickname = $_REQUEST['nickname'];
$password = $_REQUEST['password'];
$stmt = $con->prepare('INSERT INTO accounts (nickname, email, password) VALUES (?, ?, ?)');
$stmt->bind_param('sss', $nickname, $email, password_hash($password, PASSWORD_DEFAULT));
if(!$stmt) die("Failed to prepare statement");
$stmt->execute();
}
|
Ich muss zugeben ich hatte Hilfe
Naja, jedenfalls sollte ich jetzt in Unity das hinbekommen, mit check_mail
zu überprüfen, ob die schon vorhanden ist, mein Nickname genauso.
Natürlich sollte ich noch nen Filter einbauen, dass die keine blöden E-Mails eingeben wie du schon am
Anfang erwähntest Blue Cobold
Ich schau mir jetzt mal die WWW form in Unity an wie ich das genau aufrufe.
Vielleicht findet ihr ja noch Schwachstellen im Code? Falls ja, raus damit
Liebe Grüße