SQL-Query bij registratie: Wat doe ik fout?
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
$user_reg_query = "INSERT INTO gebruikers (username,password,accesslvl,email,actief,act_code,act_reden,register_op,last_active_on,ip,host) VALUES ('$username', MD5($password1), '0', '$email', '0', '$act_code', 'Nog niet geactiveerd!', '$datum', '$datum', '$ip', '$host')";
$user_reg_result = mysql_query($user_reg_query);
$user_reg_rows_res = mysql_affected_rows();
if ($user_reg_rows_res = 1) {
redirect('index.php','3','Succesvol geregistreerd! Controleer u email voor de activatie code!');
} else {
redirect('registreer.php','3','MySQL Error!');
}
$user_reg_result = mysql_query($user_reg_query);
$user_reg_rows_res = mysql_affected_rows();
if ($user_reg_rows_res = 1) {
redirect('index.php','3','Succesvol geregistreerd! Controleer u email voor de activatie code!');
} else {
redirect('registreer.php','3','MySQL Error!');
}
Oeps, te snel gepost :p
Wie weet wat ik fout doe?
Gewijzigd op 01/01/1970 01:00:00 door Wesley
Gesponsorde koppelingen:
welke fout krijg je?
Hij voegt niks toe. Hij deed het de 1e keer wel, maar toen ik van '$password' md5($password1) maakte deed hij het niet meer..
Je controleert nergens of je query gelukt is? Ga dat eerst eens doen en een foutmelding geven als de query mislukt...
Heb hem handmatig in mijn PHpmyadmin gerunt, al voor ik hier poste:
Resultaat -> werkte gewoon.
EDIT: Toch nog eens geprobeerd net, krijg wél een error:
#1054 - Unknown column '$password1' in 'field list'
Resultaat -> werkte gewoon.
EDIT: Toch nog eens geprobeerd net, krijg wél een error:
#1054 - Unknown column '$password1' in 'field list'
Gewijzigd op 01/01/1970 01:00:00 door Wesley
Lijkt me toch duidelijk?
$user_reg_query = "INSERT INTO gebruikers (username,password,accesslvl,email,actief,act_code,act_reden,register_op,last_active_on,ip,host) VALUES ('$username', '".md5($password1)."', '0', '$email', '0', '$act_code', 'Nog niet geactiveerd!', '$datum', '$datum', '$ip', '$host')";
probeer deze eens?
$user_reg_query = "INSERT INTO gebruikers (username,password,accesslvl,email,actief,act_code,act_reden,register_op,last_active_on,ip,host) VALUES ('$username', '".md5($password1)."', '0', '$email', '0', '$act_code', 'Nog niet geactiveerd!', '$datum', '$datum', '$ip', '$host')";
probeer deze eens?
Nope han, ook niet :'(
Schrijf je query eerst eens netjes uit. Ga netjes foutafhandeling toepassen, en ga de gegeven fouten wegwerken...
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
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
<?php
$sql = "INSERT INTO gebruikers (
username,
password,
accesslvl,
email,
actief,
act_code,
act_reden,
register_op,
last_active_on,
ip,
host )
VALUES (
'".$username."',
'".md5($password1)."',
0,
'".$email."',
0,
'".$act_code."',
'Nog niet geactiveerd!',
'".$datum."',
'".$datum."',
'".$ip."',
'".$host."' )
";
if(!$res = mysql_query($sql))
{
trigger_error(mysql_error().'<br />In query: '.$sql);
}
?>
$sql = "INSERT INTO gebruikers (
username,
password,
accesslvl,
email,
actief,
act_code,
act_reden,
register_op,
last_active_on,
ip,
host )
VALUES (
'".$username."',
'".md5($password1)."',
0,
'".$email."',
0,
'".$act_code."',
'Nog niet geactiveerd!',
'".$datum."',
'".$datum."',
'".$ip."',
'".$host."' )
";
if(!$res = mysql_query($sql))
{
trigger_error(mysql_error().'<br />In query: '.$sql);
}
?>
En de beide datumvelden mag je dan nog vervangen door de database functie NOW(). Het is overbodig om in PHP een datum aan te maken wanneer de database dat zelf ook wel kan.
En wat Blanche al zegt, onleesbare code en bugs gaan hand in hand over het scherm.
En wat Blanche al zegt, onleesbare code en bugs gaan hand in hand over het scherm.
Ik had now() geprobeerd, en hij gaf een error.. vandaar de $datum's.
*probeert de bovenstaande code*
EDIT: Geen succes =.=
EDIT: 1e keer ging het goed, 2e keer gaf hij een error "Duplicate entry for key 1"..
*probeert de bovenstaande code*
EDIT: Geen succes =.=
EDIT: 1e keer ging het goed, 2e keer gaf hij een error "Duplicate entry for key 1"..
Gewijzigd op 01/01/1970 01:00:00 door Wesley
Code (php)
1
2
2
Notice: Duplicate entry '0' for key 1
In query: INSERT INTO gebruikers ( username, password, accesslvl, email, actief, act_code, act_reden, register_op, last_active_on, ip, host ) VALUES ( 'ToySoldier', 'efe6398127928f1b2e9ef3207fb82663', 0, '-email-', 0, 'csv5xsihyvq2cs8ntapg', 'Nog niet geactiveerd!', '19:38:07 / 22-12-2007', '19:38:07 / 22-12-2007', '-ip-', '-host-' ) in /home/vhosts/wesdesignz.nl/subdomains/forum/httpdocs/registreer.php on line 78
In query: INSERT INTO gebruikers ( username, password, accesslvl, email, actief, act_code, act_reden, register_op, last_active_on, ip, host ) VALUES ( 'ToySoldier', 'efe6398127928f1b2e9ef3207fb82663', 0, '-email-', 0, 'csv5xsihyvq2cs8ntapg', 'Nog niet geactiveerd!', '19:38:07 / 22-12-2007', '19:38:07 / 22-12-2007', '-ip-', '-host-' ) in /home/vhosts/wesdesignz.nl/subdomains/forum/httpdocs/registreer.php on line 78
Da's de error..
In gok dat waarschijnlijk een kolom id hebt waar je geen auto_increment op aangebracht hebt?
Zal eens controleren @ Blanche. Grote kans datje gelijk hebt.
EDIT: Dat was 'em. HIj werkt nu, bedankt allemaal!
EDIT 2: Volgende probleem =.=
De enum's hebben geen waarde..
EDIT 3: Inmiddels al fixed zie ik..
EDIT: Dat was 'em. HIj werkt nu, bedankt allemaal!
EDIT 2: Volgende probleem =.=
De enum's hebben geen waarde..
EDIT 3: Inmiddels al fixed zie ik..
Gewijzigd op 01/01/1970 01:00:00 door Wesley



