Registratie probleem
Mijn registratie formulier functioneert goed via xampp localhost, 127.0.0.1. Maar zodra ik hem upload op mijn website werkt hij niet en geeft hij continu aan dat deze naam die ingevoerd word niet gevonden is.
Code (php)
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
<?php
if(isset($_POST['randomid']) && strlen($_POST['randomid']) == 11 && substr($_POST['randomid'], 0, 3) == 'HF-') {
$randomid = $_POST['randomid'];
} else {
$length = 8;
$randomid2 = substr(md5(uniqid(mt_rand(), true)), 0, $length);
$randomid = "HF-".$randomid2;
}
function habbo($name) {
$ch = curl_init();
curl_setopt( $ch, CURLOPT_URL, "https://www.habbo.nl/api/public/users" );
curl_setopt( $ch, CURLOPT_HEADER, false );
curl_setopt( $ch, CURLOPT_HTTPHEADER, array( 'Accept-Encoding: gzip, deflate, sdch' ) );
curl_setopt( $ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT'] );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, true );
curl_setopt( $ch, CURLOPT_SSL_VERIFYHOST, 0 );
curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, 0 );
curl_setopt( $ch, CURLOPT_URL, "http://www.habbo.nl/api/public/users?name=" . $name );
$id = json_decode( curl_exec( $ch ) );
if( isset( $id ) ) {
if (isset($id->error)) {
$info = false;
curl_close( $ch );
return $info;
} else {
if (isset($id->errors)) {
$info = false;
curl_close( $ch );
return $info;
} else {
$info = $id->motto;
}
}
} else
$info = false;
curl_close( $ch );
return $info;
}
if (!isset($_POST['submit'])) {
?>
<div class="panel panel-default">
<div class="panel-heading">Je account aanmaken</div>
<div class="panel-body">
<div class="alert alert-warning" role="alert"><b>Let op!</b> Zet tijdens het registreren de volgende code in je Habbo-missie: <b><?php echo $randomid; ?></b></div>
<form method="POST" name="register">
<div class="form-group">
<input type="text" name="reg_username" onclick="this.value=''" value="Habbonaam" class="form-control">
<input type="password" name="reg_password" onclick="this.value=''" value="**********" class="form-control">
<input type="password" name="reg_password2" onclick="this.value=''" value="**********" class="form-control">
<input type="hidden" name="randomid" value="<?php echo $randomid; ?>" />
</div>
<button type="submit" name="submit" class="btn btn-default">Registreer je!</button>
</form>
</div>
</div>
<?php
} else {
$stmt = $dbh->prepare("SELECT id FROM users WHERE name = :name");
$stmt->execute(array("name" => $_POST['reg_username']));
$rowcount = $stmt->rowCount();
if($rowcount == 0) {
$username = $_POST['reg_username'];
$info = habbo($username);
if(isset($info) && $info != false) {
if($info == $randomid) {
if($_POST['reg_password'] == $_POST['reg_password2']) {
$password = hash('sha512',$_POST['reg_password']);
$today = time();
$ip = $_SERVER['REMOTE_ADDR'];
$stmt = $dbh->prepare("INSERT INTO users(name, password, register_date, register_ip, rang, coins)
VALUES(:name, :password, :register_date, :register_ip, :rang, :coins)");
$stmt->execute(array(
"name" => $_POST['reg_username'],
"password" => $password,
"register_date" => $today,
"register_ip" => $ip,
"rang" => 1,
"coins" => 10
)
);
$succes = 'OK';
} else {
$error = 'De wachtwoorden komen niet overeen.';
}
} else {
$error = 'Je missie komt niet overeen met de code op de website.';
}
} else {
$error = 'Habbo niet gevonden.';
}
} else {
$error = 'Er bestaat al een account met jouw Habbo naam.';
}
}
?>
<?php if(isset($error)) { ?>
<div class="panel panel-default">
<div class="panel-heading">Error!</div>
<div class="panel-body">
<?php echo $error; ?>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">Je account aanmaken</div>
<div class="panel-body">
<div class="alert alert-warning" role="alert"><b>Let op!</b> Zet tijdens het registreren de volgende code in je Habbo-missie: <b><?php echo $randomid; ?></b></div>
<form method="POST" name="register">
<div class="form-group">
<input type="text" name="reg_username" onclick="this.value=''" value="Habbonaam" class="form-control">
<input type="password" name="reg_password" onclick="this.value=''" value="**********" class="form-control">
<input type="password" name="reg_password2" onclick="this.value=''" value="**********" class="form-control">
<input type="hidden" name="randomid" value="<?php echo $randomid; ?>" />
</div>
<button type="submit" name="submit" class="btn btn-default">Registreer je!</button>
</form>
</div>
</div>
<?php } elseif (isset($succes)) { ?>
<div class="panel panel-default">
<div class="panel-heading">Geregistreerd</div>
<div class="panel-body">
Gefeliciteerd! Je bent geregistreerd en kan nu direct gaan inloggen!<br>
Veel plezier!
</div>
</div>
<?php } ?>
if(isset($_POST['randomid']) && strlen($_POST['randomid']) == 11 && substr($_POST['randomid'], 0, 3) == 'HF-') {
$randomid = $_POST['randomid'];
} else {
$length = 8;
$randomid2 = substr(md5(uniqid(mt_rand(), true)), 0, $length);
$randomid = "HF-".$randomid2;
}
function habbo($name) {
$ch = curl_init();
curl_setopt( $ch, CURLOPT_URL, "https://www.habbo.nl/api/public/users" );
curl_setopt( $ch, CURLOPT_HEADER, false );
curl_setopt( $ch, CURLOPT_HTTPHEADER, array( 'Accept-Encoding: gzip, deflate, sdch' ) );
curl_setopt( $ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT'] );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, true );
curl_setopt( $ch, CURLOPT_SSL_VERIFYHOST, 0 );
curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, 0 );
curl_setopt( $ch, CURLOPT_URL, "http://www.habbo.nl/api/public/users?name=" . $name );
$id = json_decode( curl_exec( $ch ) );
if( isset( $id ) ) {
if (isset($id->error)) {
$info = false;
curl_close( $ch );
return $info;
} else {
if (isset($id->errors)) {
$info = false;
curl_close( $ch );
return $info;
} else {
$info = $id->motto;
}
}
} else
$info = false;
curl_close( $ch );
return $info;
}
if (!isset($_POST['submit'])) {
?>
<div class="panel panel-default">
<div class="panel-heading">Je account aanmaken</div>
<div class="panel-body">
<div class="alert alert-warning" role="alert"><b>Let op!</b> Zet tijdens het registreren de volgende code in je Habbo-missie: <b><?php echo $randomid; ?></b></div>
<form method="POST" name="register">
<div class="form-group">
<input type="text" name="reg_username" onclick="this.value=''" value="Habbonaam" class="form-control">
<input type="password" name="reg_password" onclick="this.value=''" value="**********" class="form-control">
<input type="password" name="reg_password2" onclick="this.value=''" value="**********" class="form-control">
<input type="hidden" name="randomid" value="<?php echo $randomid; ?>" />
</div>
<button type="submit" name="submit" class="btn btn-default">Registreer je!</button>
</form>
</div>
</div>
<?php
} else {
$stmt = $dbh->prepare("SELECT id FROM users WHERE name = :name");
$stmt->execute(array("name" => $_POST['reg_username']));
$rowcount = $stmt->rowCount();
if($rowcount == 0) {
$username = $_POST['reg_username'];
$info = habbo($username);
if(isset($info) && $info != false) {
if($info == $randomid) {
if($_POST['reg_password'] == $_POST['reg_password2']) {
$password = hash('sha512',$_POST['reg_password']);
$today = time();
$ip = $_SERVER['REMOTE_ADDR'];
$stmt = $dbh->prepare("INSERT INTO users(name, password, register_date, register_ip, rang, coins)
VALUES(:name, :password, :register_date, :register_ip, :rang, :coins)");
$stmt->execute(array(
"name" => $_POST['reg_username'],
"password" => $password,
"register_date" => $today,
"register_ip" => $ip,
"rang" => 1,
"coins" => 10
)
);
$succes = 'OK';
} else {
$error = 'De wachtwoorden komen niet overeen.';
}
} else {
$error = 'Je missie komt niet overeen met de code op de website.';
}
} else {
$error = 'Habbo niet gevonden.';
}
} else {
$error = 'Er bestaat al een account met jouw Habbo naam.';
}
}
?>
<?php if(isset($error)) { ?>
<div class="panel panel-default">
<div class="panel-heading">Error!</div>
<div class="panel-body">
<?php echo $error; ?>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading">Je account aanmaken</div>
<div class="panel-body">
<div class="alert alert-warning" role="alert"><b>Let op!</b> Zet tijdens het registreren de volgende code in je Habbo-missie: <b><?php echo $randomid; ?></b></div>
<form method="POST" name="register">
<div class="form-group">
<input type="text" name="reg_username" onclick="this.value=''" value="Habbonaam" class="form-control">
<input type="password" name="reg_password" onclick="this.value=''" value="**********" class="form-control">
<input type="password" name="reg_password2" onclick="this.value=''" value="**********" class="form-control">
<input type="hidden" name="randomid" value="<?php echo $randomid; ?>" />
</div>
<button type="submit" name="submit" class="btn btn-default">Registreer je!</button>
</form>
</div>
</div>
<?php } elseif (isset($succes)) { ?>
<div class="panel panel-default">
<div class="panel-heading">Geregistreerd</div>
<div class="panel-body">
Gefeliciteerd! Je bent geregistreerd en kan nu direct gaan inloggen!<br>
Veel plezier!
</div>
</div>
<?php } ?>
Gewijzigd op 25/12/2017 19:40:54 door GoldSpray Design
Dat leest wat makkelijker! Alvast bedankt!
- Ariën - op 25/12/2017 19:39:59:
Zou je code-tags willen gebruiken?
Dat leest wat makkelijker! Alvast bedankt!
Dat leest wat makkelijker! Alvast bedankt!
Excuus, gedaan!
- Ariën - op 25/12/2017 19:43:18:
Zet foutafhandeling eens aan:
geeft ie niks bij aan
Wat zit er in curl_exec()? Het kan zijn dat een firewall iets kan blokkeren.
- Ariën - op 25/12/2017 19:55:11:
Wat zit er in curl_exec()? Het kan zijn dat een firewall iets kan blokkeren.
daar zit in of de naam daar bekend is, het is een Api van het spel Habbo. Je kunt dan daarmee kijken of de Habbo bestaat en of de Habbo de juiste habbo missie heeft voordat hij/zij een account kan aanmaken op mijn website.
Maar hij werkt via mijn xampp wel en nadt ik hem geupload op mijn website niet meer, ik weet de fout nou ook echt niet.
Blijkbaar is die data op je productie-site anders. Echo die data eens.
- je voert twee verschillende CURLOPT_URLs (regel 11 en 19) in? mogelijk had je eerst getest met testdata waarvan de geberuiker al bestond en toen ging het goed en nu probeer je iets nieuws en werkt het (natuurlijk) niet meer?
- daarnaast zijn CURLOPT_SSL_VERIFYHOST en CURLOPT_SSL_VERIFYPEER er niet voor niets; zorg gewoon dat de connectie ook echt op de juiste manier wordt opgezet, anders heb je (aan jouw zijde) weinig profijt van een "beveiligde" verbinding