aanmeld control probleem
ik heb nu dit
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?
function check_username ($naam) {
include('include/connect.php');
$connect = mysql_connect($host, $user, $pass) or die(mysql_error());
mysql_select_db($db) or die(mysql_error());
$CheckUsername = mysql_query("SELECT COUNT() FROM gebruikers WHERE gebruikersnaam = '" . mysql_real_escape_string($naam) . "'") or die(mysql_error());
$UsernameTaken = (mysql_result($CheckUsername, 0) == 1);
}
?>
function check_username ($naam) {
include('include/connect.php');
$connect = mysql_connect($host, $user, $pass) or die(mysql_error());
mysql_select_db($db) or die(mysql_error());
$CheckUsername = mysql_query("SELECT COUNT() FROM gebruikers WHERE gebruikersnaam = '" . mysql_real_escape_string($naam) . "'") or die(mysql_error());
$UsernameTaken = (mysql_result($CheckUsername, 0) == 1);
}
?>
en dit is het aanmeld script:
http://www.plaatscode.be/4298/
maar ik krijg deze error op de aanmeldt pagina:
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near ') FROM gebruikers WHERE gebruikersnaam = 'kickasgamer'' at line
kickasgamer in die error is de ingegeven gebruikersnaam
alvast bedankt voor de hulp
mag ik vragen waarom je een COUNT gebruikt?? en waarom Count je dan niks?
moet je niet gewoon de gebruikersnaam selecten ofzo??
ja daarmee had iemand me al mee geholpen,
want zo kan k ook niet echt helemaal zien wat er nu foutgaat :P
probeer het eens zo:
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?php
$sql = "SELECT id FROM `"gebruikers"` WHERE grebuikersnaam='" . mysql_real_escape_string($naam) . "'";
$query = mysql_query($sql);
$count = mysql_num_rows($query);
if($count == 0)
{
//voor de rest uit
?>
$sql = "SELECT id FROM `"gebruikers"` WHERE grebuikersnaam='" . mysql_real_escape_string($naam) . "'";
$query = mysql_query($sql);
$count = mysql_num_rows($query);
if($count == 0)
{
//voor de rest uit
?>
Gewijzigd op 01/01/1970 01:00:00 door Nicoow Unknown
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
129
130
131
132
133
134
135
136
137
138
139
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
129
130
131
132
133
134
135
136
137
138
139
<?php
ob_start();
include('include/connect.php');
include('include/functie.php');
$connect = mysql_connect($host, $user, $pass) or die(mysql_error());
mysql_select_db($db) or die(mysql_error());
if(isset($_POST['submit'])){
$naam = mysql_real_escape_string($_POST['naam']);
$sql = "SELECT id FROM `"gebruikers"` WHERE grebuikersnaam='" . $naam . "'";
$query = mysql_query($sql);
$count = mysql_num_rows($query);
if($count == 0)
{
echo "De gekozen gebruikersnaam is al ingebruik.";
//header("Refresh: 3; URL=aanmelden.php");
}else{
$wachtwoord = mysql_real_escape_string($_POST['wachtwoord']);
$wachtwoord2 = mysql_real_escape_string($_POST['wachtwoord2']);
$email = mysql_real_escape_string($_POST['email']);
if(email_controle($email) != TRUE) {
echo "Ongeldig emailadres";
header("Refresh: 3; URL=aanmelden.php");
}
else
{
if($wachtwoord != $wachtwoord2){
echo "Je wachtwoord en het herhaalde wachtwoord zijn niet gelijk";
header("Refresh: 3; URL=aanmelden.php");
}else{
$wachtwoord = sha1(md5($wachtwoord));
if(!empty($naam) && !empty($wachtwoord) && !empty($email)){
$query = "INSERT INTO kag_leden (naam, wachtwoord, email) VALUES ('$naam', '$wachtwoord', '$email')";
mysql_query($query) or die(mysql_error());
echo 'Uw bent geregistreerd, u kan <a href="login.php">hier</a> inloggen.';
header("Refresh: 3; URL=login.php");
}else{
echo "U heeft een veld vergeten in te vullen.";
}
}
}
}
}else{
?>
<form name="form1" method="post" action="aanmelden.php">
<table width="100%" border="0" cellspacing="0" cellpadding="3">
<tr>
<td width="12%"><label>Gebruikersnaam</label></td>
<td width="88%"><input type="text" name="naam"></td>
</tr>
<tr>
<td><label>Wachtwoord</label></td>
<td><input type="password" name="wachtwoord"></td>
</tr>
<tr>
<td><label>Herhaal wachtwoord</label></td>
<td><input type="password" name="wachtwoord2"></td>
</tr>
<tr>
<td><label>Email</label></td>
<td><input type="text" name="email"> </td>
</tr>
<td><input type="submit" name="submit" value="Submit"></td>
<td><input type="reset" name="Submit2" value="Reset"></td>
</table>
</form>
<?php
}
mysql_close($connect)
?>
ob_start();
include('include/connect.php');
include('include/functie.php');
$connect = mysql_connect($host, $user, $pass) or die(mysql_error());
mysql_select_db($db) or die(mysql_error());
if(isset($_POST['submit'])){
$naam = mysql_real_escape_string($_POST['naam']);
$sql = "SELECT id FROM `"gebruikers"` WHERE grebuikersnaam='" . $naam . "'";
$query = mysql_query($sql);
$count = mysql_num_rows($query);
if($count == 0)
{
echo "De gekozen gebruikersnaam is al ingebruik.";
//header("Refresh: 3; URL=aanmelden.php");
}else{
$wachtwoord = mysql_real_escape_string($_POST['wachtwoord']);
$wachtwoord2 = mysql_real_escape_string($_POST['wachtwoord2']);
$email = mysql_real_escape_string($_POST['email']);
if(email_controle($email) != TRUE) {
echo "Ongeldig emailadres";
header("Refresh: 3; URL=aanmelden.php");
}
else
{
if($wachtwoord != $wachtwoord2){
echo "Je wachtwoord en het herhaalde wachtwoord zijn niet gelijk";
header("Refresh: 3; URL=aanmelden.php");
}else{
$wachtwoord = sha1(md5($wachtwoord));
if(!empty($naam) && !empty($wachtwoord) && !empty($email)){
$query = "INSERT INTO kag_leden (naam, wachtwoord, email) VALUES ('$naam', '$wachtwoord', '$email')";
mysql_query($query) or die(mysql_error());
echo 'Uw bent geregistreerd, u kan <a href="login.php">hier</a> inloggen.';
header("Refresh: 3; URL=login.php");
}else{
echo "U heeft een veld vergeten in te vullen.";
}
}
}
}
}else{
?>
<form name="form1" method="post" action="aanmelden.php">
<table width="100%" border="0" cellspacing="0" cellpadding="3">
<tr>
<td width="12%"><label>Gebruikersnaam</label></td>
<td width="88%"><input type="text" name="naam"></td>
</tr>
<tr>
<td><label>Wachtwoord</label></td>
<td><input type="password" name="wachtwoord"></td>
</tr>
<tr>
<td><label>Herhaal wachtwoord</label></td>
<td><input type="password" name="wachtwoord2"></td>
</tr>
<tr>
<td><label>Email</label></td>
<td><input type="text" name="email"> </td>
</tr>
<td><input type="submit" name="submit" value="Submit"></td>
<td><input type="reset" name="Submit2" value="Reset"></td>
</table>
</form>
<?php
}
mysql_close($connect)
?>
als het niet werkt zeg je het maar..
ik heb dt ff snel zo gemaakt en nite gekeken naar de rest van de code eigenlijk
Gewijzigd op 01/01/1970 01:00:00 door Nicoow Unknown
dan krijg ik deze error
Parse error: syntax error, unexpected T_STRING in /customers/tswebdev.be/tswebdev.be/httpd.www/kickasgamer/php/leden/include/functie.php on line 27
het regel nummer is het zelfde als dat van hets cript hier boven ;)
maar regel 27 is een lege regel hier :D
ja die 2 // maken er niets aan en ik snap het ook niet want het is een lege regel
post je functie.php gewoon eens mischien dat jou funcite.php toch wel iets anders is als hier
mysql_errno) als een waarde al bestaat voor dat veld.
Je kunt in MySQL heel gemakkelijk afdwingen dat de inhoud van een veld uniek is. Maak hem UNIQUE met phpMyAdmin. Een INSERT query geeft dan een foutmelding met waarde 1062 (checken met maar vervang regel 27,28,29 eens door dit:
Code (php)
1
2
3
2
3
$sql1 = "SELECT id FROM kag_leden WHERE naam='".$_POST['gebruikersnaam']."'";
$query1 = mysql_query($sql1);
$count = mysql_num_rows($query);
$query1 = mysql_query($sql1);
$count = mysql_num_rows($query);
ojah en nu zie ik nog iets..
is die $_POST['gebruikersnaam']
er wel??
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
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
if (!mysql_query("INSERT INTO ............ "))
{
// Er is een fout opgetreden!
if (mysql_errno() == 1062)
{
// Gebruikersnaam komt al voor
}
else
{
// Er is een andere fout opgetreden
}
}
else
{
// Ga door!
}
?>
{
// Er is een fout opgetreden!
if (mysql_errno() == 1062)
{
// Gebruikersnaam komt al voor
}
else
{
// Er is een andere fout opgetreden
}
}
else
{
// Ga door!
}
?>
Ja precies, zo moet het!
dan zou dit moeten kloppen ja
Code (php)
1
2
3
4
2
3
4
<?php
$query = "INSERT INTO kag_leden (naam, wachtwoord, email) VALUES ('$naam', '$wachtwoord', '$email')";
mysql_query($query) or die(mysql_error());
?>
$query = "INSERT INTO kag_leden (naam, wachtwoord, email) VALUES ('$naam', '$wachtwoord', '$email')";
mysql_query($query) or die(mysql_error());
?>
Daar hoort de check bij te komen.
dit is hoe ik het in mijn bestand aanmelden zet:
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?
$naam = mysql_real_escape_string($_POST['naam']);
check_username($naam);
if($aantal != 0) {
echo "De gekozen gebruikersnaam is al ingebruik.";
}else{
$wachtwoord = mysql_real_escape_string($_POST['wachtwoord']);
$wachtwoord2 = mysql_real_escape_string($_POST['wachtwoord2']); ?>
$naam = mysql_real_escape_string($_POST['naam']);
check_username($naam);
if($aantal != 0) {
echo "De gekozen gebruikersnaam is al ingebruik.";
}else{
$wachtwoord = mysql_real_escape_string($_POST['wachtwoord']);
$wachtwoord2 = mysql_real_escape_string($_POST['wachtwoord2']); ?>
en dit is mijn functie:
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?
function check_username ($naam) {
include('include/connect.php');
$connect = mysql_connect($host, $user, $pass) or die(mysql_error());
mysql_select_db($db) or die(mysql_error());
$sql = "SELECT * FROM `kag_leden` WHERE `naam` = '".$_POST['naam']."'";
$query = mysql_query($sql) or die (mysql_error());
$aantal = mysql_num_rows($query);
}
?>
function check_username ($naam) {
include('include/connect.php');
$connect = mysql_connect($host, $user, $pass) or die(mysql_error());
mysql_select_db($db) or die(mysql_error());
$sql = "SELECT * FROM `kag_leden` WHERE `naam` = '".$_POST['naam']."'";
$query = mysql_query($sql) or die (mysql_error());
$aantal = mysql_num_rows($query);
}
?>
verder je backticks WEG!!! overal!
je naamgeving van je sql is ook niet lekker, $query was je result, noem dat $result of $res, dat is een stuk duidelijker. zoiets bijv
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?
include('include/connect.php');
// OF
// $link = mysql_connect($host, $user, $pass) or die(mysql_error());
// mysql_select_db($db,$link) or die(mysql_error());
function check_username($naam)
{
global $link; // of $connect gebruik je
$sql = "SELECT * FROM kag_leden WHERE naam = '".$naam."'";
$res = mysql_query($sql) or die (mysql_error());
return ($res && mysql_num_rows($res) >= 1) ? mysql_num_rows($res) : 0;
}
?>
include('include/connect.php');
// OF
// $link = mysql_connect($host, $user, $pass) or die(mysql_error());
// mysql_select_db($db,$link) or die(mysql_error());
function check_username($naam)
{
global $link; // of $connect gebruik je
$sql = "SELECT * FROM kag_leden WHERE naam = '".$naam."'";
$res = mysql_query($sql) or die (mysql_error());
return ($res && mysql_num_rows($res) >= 1) ? mysql_num_rows($res) : 0;
}
?>