SQL-Fehler bei Registrierung

Katrina
Scheinbar habe ich schon seit längerer Zeit einen SQL-Fehler, der bei der Registrierung angezeigt wird (erst jetzt hat sich jemand gemeldet, der sich registrieren wollte und bei dem es nicht funktionierte).

Ich habe in der letzten Zeit gar nichts verändert in Templates u.ä.

Hier die Fehlermeldung:

SQL-DATABASE ERROR

Database error in WoltLab Burning Board (2.3.6): Invalid SQL: INSERT INTO bb1_users (username,password,sha1_password,email,groupcombinationid,rankid,regdate,la
stvisit,lastactivity,usertext,signature,icq,aim,yim,msn,homepage,birthday,g
ender,showemail,admincanemail,usercanemail,invisible,usecookies,styleid,act
ivation,daysprune,timezoneoffset,startweek,dateformat,timeformat,emailnotif
y,notificationperpm,receivepm,emailonpm,pmpopup,umaxposts,showsignatures,sh
owavatars,showimages,threadview,langid,rankgroupid,useronlinegroupid,allows
igsmilies,allowsightml,allowsigbbcode,allowsigimages,usewysiwyg,reg_ipaddre
ss) VALUES ('Izzie','cc03e747a6afbbcbf8be7668acfebee5', '7288edd0fc3ffcbe93a0cf06e3568e28521687bc', 'test@test.de','4','6','1202999737','1202999737','1202999737','','','0','',
'','','','0000-00-00','0','1','1','1','0','1','0','1','0','1','1','d.m.Y','
H:i','0','1','1','0','1','0','1','1','1','0','0','4','4','1','0','1','1','0
', '79.213.228.244')
mysql error: Field 'buddylist' doesn't have a default value
mysql error number: 1364
mysql version: 5.0.51a-community-nt
php version: 5.1.0
Date: 14.02.2008 @ 14:35
Script:
Referer:


Ich hatte vor ein paar Tagen noch das Problem, dass ich das Profil von jemandem erst abspeichern konnte (also im ACP), nachdem ich in einer Auswahlbox (Stimmungskram, den ich selbst eingefügt habe) etwas ausgewählt hatte.
Vorher wurde mir auch da ein Fehler angezeigt. Das fand ich nun aber nicht weiter schlimm.

Aber mit der Gülle da oben kann ich beim besten Willen nichts anfangen.

Wer kann mir helfen?

(Im Übrigen kenne ich mich auch nicht mit Datenbanken aus. Das letzte Backup wurde auch von jemand Anderem wieder raufgespielt.)

Versagt
Ghostmaster
Hast du einen Hack eingebaut der Änderungen in der register.php braucht?
Katrina
In den letzten Wochen jedenfalls nicht.

Soll ich die register.php oder andere Sachen mal posten?
mipu
wäre vielleicht sinn voll dann könnte man mal drüber schauen ob was fehlt oder zuviel ist
Katrina
Okay, hier ist das gute Stück!

code:
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:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157:
158:
159:
160:
161:
162:
163:
164:
165:
166:
167:
168:
169:
170:
171:
172:
173:
174:
175:
176:
177:
178:
179:
180:
181:
182:
183:
184:
185:
186:
187:
188:
189:
190:
191:
192:
193:
194:
195:
196:
197:
198:
199:
200:
201:
202:
203:
204:
205:
206:
207:
208:
209:
210:
211:
212:
213:
214:
215:
216:
217:
218:
219:
220:
221:
222:
223:
224:
225:
226:
227:
228:
229:
230:
231:
232:
233:
234:
235:
236:
237:
238:
239:
240:
241:
242:
243:
244:
245:
246:
247:
248:
249:
250:
251:
252:
253:
254:
255:
256:
257:
258:
259:
260:
261:
262:
263:
264:
265:
266:
267:
268:
269:
270:
271:
272:
273:
274:
275:
276:
277:
278:
279:
280:
281:
282:
283:
284:
285:
286:
287:
288:
289:
290:
291:
292:
293:
294:
295:
296:
297:
298:
299:
300:
301:
302:
303:
304:
305:
306:
307:
308:
309:
310:
311:
312:
313:
314:
315:
316:
317:
318:
319:
320:
321:
322:
323:
324:
325:
326:
327:
328:
329:
330:
331:
332:
333:
334:
335:
336:
337:
338:
339:
340:
341:
342:
343:
344:
345:
346:
347:
348:
349:
350:
351:
352:
353:
354:
355:
356:
357:
358:
359:
360:
361:
362:
363:
364:
365:
366:
367:
368:
369:
370:
371:
372:
373:
374:
375:
376:
377:
378:
379:
380:
381:
382:
383:
384:
385:
386:
387:
388:
389:
390:
391:
392:
393:
394:
395:
396:
397:
398:
399:
400:
401:
402:
403:
404:
405:
406:
407:
408:
409:
410:
411:
412:
413:
414:
415:
416:
417:
418:
419:
420:
421:
422:
423:
424:
425:
426:
427:
428:
429:
430:
431:
432:
433:
434:
435:
436:
437:
438:
439:
440:
441:
442:
443:
444:
445:
446:
447:
448:
449:
450:
451:
452:
453:
454:
455:
456:
457:
458:
459:
460:
461:
462:
463:
464:
465:
466:
467:
468:
469:
470:
471:
472:
473:
474:
475:
476:
477:
478:
479:
480:
481:
482:
483:
484:
485:
486:
487:
488:
489:
490:
491:
492:
493:
494:
495:
496:
497:
498:
499:
500:
501:
502:
503:
504:
505:
506:
507:
508:
509:
510:
511:
512:
513:
514:
515:
516:
517:
518:
519:
520:
521:
522:
523:
524:
525:
526:
527:
528:
529:
530:
531:
532:
533:
534:
535:
536:
537:
538:
539:
540:
541:
542:
543:
544:
545:
546:
547:
548:
549:
550:
551:
552:
553:
554:
555:
556:
557:
558:
559:
560:
<?php
// ************************************************************************************//
// * WoltLab Burning Board 2
// ************************************************************************************//
// * Copyright (c) 2001-2004 WoltLab GmbH
// * Web           http://www.woltlab.de/
// * License       http://www.woltlab.de/products/burning_board/license_en.php
// *               http://www.woltlab.de/products/burning_board/license.php
// ************************************************************************************//
// * WoltLab Burning Board 2 is NOT free software.
// * You may not redistribute this package or any of it's files.
// ************************************************************************************//
// * $Date: 2005-07-14 15:11:00 +0200 (Thu, 14 Jul 2005) $
// * $Author: Burntime $
// * $Rev: 1637 $
// ************************************************************************************//


$filename = 'register.php';

require('./global.php');
$lang->load('REGISTER');

function bn_welcome($bn_id=0,$bn_username="")
{	global $n,$db,$tpl;
	$us=array();
	$us[$bn_id]=$bn_username;
	$as=array();
	eval("\$bn_msg .= \"".$tpl->get("welcome_pn")."\";");
	sendPrivateMessage($us, $as, "Nachricht vom Forumsteam", $bn_msg,1);
	$db->query("UPDATE bb".$n."_users set lastvisit=".(time()-10)." where userid=$bn_id");
}

/* register activation */
if (isset($_REQUEST['action']) && $_REQUEST['action'] == 'activation') {
	$action = $_REQUEST['action'];
	if (isset($_REQUEST['usrid']) && isset($_REQUEST['a'])) {
		$result = getwbbuserdata(intval($_REQUEST['usrid']));	
		if (!$result['userid']) error($lang->get("LANG_GLOBAL_ERROR2"));
		if ($result['activation'] == 1) error($lang->get("LANG_REGISTER_ACTIVATION_ERROR1"));
		if ($result['activation'] != intval($_REQUEST['a'])) error($lang->get("LANG_REGISTER_ACTIVATION_ERROR2"));
		
		list($oldgroupid) = $db->query_first("SELECT groupid FROM bb".$n."_groups WHERE grouptype=2");
		while (list($key, $val) = each($result['groupids'])) {
			if ($val == $oldgroupid) {
				unset($result['groupids'][$key]);
				break;
			}	
		}
		
		$db->unbuffered_query("UPDATE bb".$n."_users SET activation=1, groupcombinationid='".cachegroupcombinationdata(implode(",", $result['groupids']), 0)."' WHERE userid='".$result['userid']."'", 1);
		$db->unbuffered_query("DELETE FROM bb".$n."_user2groups WHERE userid='".$result['userid']."' AND groupid='".$oldgroupid."'", 1);
		
		$result['username'] = htmlconverter($result['username']);

    redirect($lang->get("LANG_REGISTER_ACTIVATION_REDIRECT1", array('$username' => $result['username'])), "index.php".$SID_ARG_1ST, 10);

bn_welcome($result['userid'],$result['username']);

	}	
	else eval("\$tpl->output(\"".$tpl->get("register_activation")."\");");
	exit;
}

if ($wbbuserdata['userid'] != 0) access_error();
if ($allowregister != 1) error($lang->get("LANG_REGISTER_ERROR_DISABLED"));
if ($showdisclaimer == 1 && (!isset($_POST['disclaimer']) || $_POST['disclaimer'] != "viewed")) {
	$lang->items['LANG_REGISTER_DISCLAIMER'] = $lang->get("LANG_REGISTER_DISCLAIMER", array('$master_board_name' => $master_board_name));
	eval("\$tpl->output(\"".$tpl->get("register_disclaimer")."\");");
	exit;
}
else {
	if (isset($_POST['disclaimer'])) $disclaimer = $_POST['disclaimer'];
	$register_error = '';
	$lang->load('POSTINGS');
	
	$sdaysprune = array(0 => '', 1 => '', 2 => '', 5 => '', 10 => '', 20 => '', 30 => '', 45 => '', 60 => '', 75 => '', 100 => '', 365 => '', 1000 => '', 1500 => '');
	$sumaxposts = array(0 => '', 5 => '', 10 => '', 20 => '', 30 => '', 40 => '');
	$gender = array(0 => '', 1 => '', 2 => '');
	$invisible = array(0 => '', 1 => '');
	$usecookies = array(0 => '', 1 => '');
	$admincanemail = array(0 => '', 1 => '');
	$showemail = array(0 => '', 1 => '');
	$usercanemail = array(0 => '', 1 => '');
	$emailnotify = array(0 => '', 1 => '');
	$receivepm = array(0 => '', 1 => '');
	$emailonpm = array(0 => '', 1 => '');
	$spmpopup = array(0 => '', 1 => '');
	$showsignatures = array(0 => '', 1 => '');
	$showavatars = array(0 => '', 1 => '');
	$showimages = array(0 => '', 1 => '');
	$sthreadview = array(0 => '', 1 => '');
	$key_number = 0;
	$key_string = '';
	if (!function_exists('imageCreate')) $reg_image = 0; 
	
	if ($emailverifymode == 1 || $emailverifymode == 2) {
		$wbbuserdata = getwbbuserdata(2, "grouptype", 1);
		list($groupid) = $db->query_first("SELECT groupid FROM bb".$n."_groups WHERE grouptype=4");
	}
	else {
		$wbbuserdata = getwbbuserdata(4, "grouptype", 1);
		$groupid = $wbbuserdata['groupid'];
	}
	
	if (isset($_POST['send'])) {
		/* signature feature rights:start */
		if (!$wbbuserdata['can_use_sig_smilies'] || (isset($_POST['disablesmilies']) && $_POST['disablesmilies'] == 1)) $allowsmilies = 0;
		else $allowsmilies = 1;	
		
		if (!$wbbuserdata['can_use_sig_html'] || (isset($_POST['disablehtml']) && $_POST['disablehtml'] == 1)) $allowhtml = 0;
		else $allowhtml = 1;	
		
		if (!$wbbuserdata['can_use_sig_bbcode'] || (isset($_POST['disablebbcode']) && $_POST['disablebbcode'] == 1)) $allowbbcode = 0;
		else $allowbbcode = 1;	
		
		if (!$wbbuserdata['can_use_sig_images'] || (isset($_POST['disableimages']) && $_POST['disableimages'] == 1)) $allowimages = 0;
		else $allowimages = 1;	
		/* signature feature rights:end */
		
		$lang->load('MAIL');
		
		if (isset($_POST['field']) && is_array($_POST['field'])) $field = trim_array($_POST['field']);
		if (isset($_POST['dayfield']) && is_array($_POST['dayfield'])) $dayfield = trim_array($_POST['dayfield']);
		if (isset($_POST['monthfield']) && is_array($_POST['monthfield'])) $monthfield = trim_array($_POST['monthfield']);
		if (isset($_POST['yearfield']) && is_array($_POST['yearfield'])) $yearfield = trim_array($_POST['yearfield']);
		
		if (isset($_POST['r_email'])) $r_email = wbb_trim($_POST['r_email']);
		if (isset($_POST['r_homepage'])) $r_homepage = wbb_trim($_POST['r_homepage']);
		if (isset($_POST['r_icq'])) $r_icq = str_replace("-", "", wbb_trim($_POST['r_icq']));
		if (isset($_POST['r_aim'])) $r_aim = wbb_trim($_POST['r_aim']);
		if (isset($_POST['r_yim'])) $r_yim = wbb_trim($_POST['r_yim']);
		if (isset($_POST['r_msn'])) $r_msn = wbb_trim($_POST['r_msn']);
		if (isset($_POST['r_day'])) $r_day = wbb_trim($_POST['r_day']);
		if (isset($_POST['r_month'])) $r_month = wbb_trim($_POST['r_month']);
		if (isset($_POST['r_year'])) $r_year = wbb_trim($_POST['r_year']);
		if (isset($_POST['r_gender'])) $r_gender = wbb_trim($_POST['r_gender']);
		if (isset($_POST['r_usertext'])) $r_usertext = wbb_trim($_POST['r_usertext']);
		if (isset($_POST['r_username'])) $r_username = wbb_trim($_POST['r_username']);
		if (isset($_POST['r_password'])) $r_password = wbb_trim($_POST['r_password']);
		if (isset($_POST['r_confirmpassword'])) $r_confirmpassword = wbb_trim($_POST['r_confirmpassword']);
		if (isset($_POST['r_signature'])) $r_signature = wbb_trim($_POST['r_signature']);
		
		if (isset($_POST['r_invisible'])) $r_invisible = $_POST['r_invisible'];
		if (isset($_POST['r_usecookies'])) $r_usecookies = $_POST['r_usecookies'];
		if (isset($_POST['r_admincanemail'])) $r_admincanemail = $_POST['r_admincanemail'];
		if (isset($_POST['r_showemail'])) $r_showemail = $_POST['r_showemail'];
		if (isset($_POST['r_usercanemail'])) $r_usercanemail = $_POST['r_usercanemail'];
		if (isset($_POST['r_emailnotify'])) $r_emailnotify = $_POST['r_emailnotify'];
		if (isset($_POST['r_receivepm'])) $r_receivepm = $_POST['r_receivepm'];
		if (isset($_POST['r_emailonpm'])) $r_emailonpm = $_POST['r_emailonpm'];
		if (isset($_POST['r_pmpopup'])) $r_pmpopup = $_POST['r_pmpopup'];
		if (isset($_POST['r_showsignatures'])) $r_showsignatures = $_POST['r_showsignatures'];
		if (isset($_POST['r_showavatars'])) $r_showavatars = $_POST['r_showavatars'];
		if (isset($_POST['r_showimages'])) $r_showimages = $_POST['r_showimages'];
		if (isset($_POST['r_daysprune'])) $r_daysprune = $_POST['r_daysprune'];
		if (isset($_POST['r_umaxposts'])) $r_umaxposts = $_POST['r_umaxposts'];
		if (isset($_POST['r_threadview'])) $r_threadview = $_POST['r_threadview'];
		if (isset($_POST['r_dateformat'])) $r_dateformat = wbb_trim($_POST['r_dateformat']);
		if (isset($_POST['r_timeformat'])) $r_timeformat = wbb_trim($_POST['r_timeformat']);
		if (isset($_POST['r_startweek'])) $r_startweek = $_POST['r_startweek'];
		if (isset($_POST['r_timezoneoffset'])) $r_timezoneoffset = $_POST['r_timezoneoffset'];
		if (isset($_POST['r_styleid'])) $r_styleid = $_POST['r_styleid'];
		if (isset($_POST['r_langid'])) $r_langid = $_POST['r_langid'];
		if (isset($_POST['r_usewysiwyg'])) $r_usewysiwyg = wbb_trim($_POST['r_usewysiwyg']);
		if (isset($_POST['key_number'])) $key_number = intval($_POST['key_number']);
		if (isset($_POST['key_string'])) $key_string = str_replace(' ', '', $_POST['key_string']);
		
		$r_username = preg_replace("/\s{2,}/", " ", $r_username);
		
		$error = '';
		$userfield_error = 0;
		$fieldvalues = '';
		$fieldlist = '';
		$result = $db->unbuffered_query("SELECT profilefieldid,required,fieldtype,choicecount,fieldoptions FROM bb".$n."_profilefields ORDER BY profilefieldid ASC");
		while ($row = $db->fetch_array($result)) {
			// is required -> check content
			if ($row['required'] == 1 && $row['fieldtype'] != "checkbox") {
				// date
				if ($row['fieldtype'] == "date") {
					if (!$dayfield[$row['profilefieldid']] || !$monthfield[$row['profilefieldid']] || !$yearfield[$row['profilefieldid']]) {
						$userfield_error = 1;
					}
				}
				// select
				else if ($row['fieldtype'] == "select") {
					$options = trim_array(explode("\n", dos2unix($row['fieldoptions'])));
					if (!isset($field[$row['profilefieldid']]) || !in_array($field[$row['profilefieldid']], $options)) {
						$userfield_error = 1;
					}
				}
				// multiselect
				else if ($row['fieldtype'] == "multiselect") {
					$options = trim_array(explode("\n", dos2unix($row['fieldoptions'])));
					if (!count($field[$row['profilefieldid']])) {
						$userfield_error = 1;
					}
					else {
						for ($i = 0, $j = count($field[$row['profilefieldid']]); $i < $j; $i++) {
							if (!in_array($field[$row['profilefieldid']][$i], $options)) {
								$userfield_error = 1;
							}
						}
					}
				}
				// other
				else {
					if (!isset($field[$row['profilefieldid']]) || $field[$row['profilefieldid']] == '') {
						$userfield_error = 1;
					}
				}
				
				if ($userfield_error == 1) break;
			}
			
			$fieldlist .= ",field".$row['profilefieldid'];
			if ($row['fieldtype'] == "multiselect") {
				if (isset($field[$row['profilefieldid']]) && is_array($field[$row['profilefieldid']])) {
					if ($row['choicecount'] && count($field[$row['profilefieldid']]) > $row['choicecount']) {
						$max = count($field[$row['profilefieldid']]);
						for ($i = $row['choicecount']; $i < $max; $i++) unset($field[$row['profilefieldid']][$i]);
					}
					
					$fieldvalues .= ",'".addslashes(wbb_trim(implode("\n", $field[$row['profilefieldid']])))."'";
					
				}
				else $fieldvalues .= ",''";
			}
			elseif ($row['fieldtype'] == "date") {
				if ($dayfield[$row['profilefieldid']] && $monthfield[$row['profilefieldid']]) $datefield = ((wbb_strlen($yearfield[$row['profilefieldid']]) == 4) ? ($yearfield[$row['profilefieldid']]) : (((wbb_strlen($yearfield[$row['profilefieldid']]) == 2) ? ("19".$yearfield[$row['profilefieldid']]) : ("0000"))))."-".(($monthfield[$row['profilefieldid']] < 10) ? ("0".$monthfield[$row['profilefieldid']]) : ($monthfield[$row['profilefieldid']]))."-".(($dayfield[$row['profilefieldid']] < 10) ? ("0".$dayfield[$row['profilefieldid']]) : ($dayfield[$row['profilefieldid']]));
				else $datefield = "0000-00-00";
				$fieldvalues .= ",'".addslashes($datefield)."'";
			}
			else $fieldvalues .= ",'".addslashes($field[$row['profilefieldid']])."'";
		}
		
		if ($userfield_error == 1 || !$r_username || !$r_email || ($emailverifymode != 3 && (!$r_password || !$r_confirmpassword))) $error .= $lang->items['LANG_POSTINGS_ERROR1'];
		if ($emailverifymode != 3 && $r_password != $r_confirmpassword) $error .= $lang->items['LANG_REGISTER_ERROR1'];
		if (!verify_username($r_username)) $error .= $lang->items['LANG_REGISTER_ERROR2'];
		if (!verify_email($r_email)) $error .= $lang->items['LANG_REGISTER_ERROR3'];
		if (wbb_strlen($r_signature) > $wbbuserdata['max_sig_length']) $error .= $lang->items['LANG_REGISTER_ERROR4'];
		if ($wbbuserdata['max_sig_image'] != -1 && wbb_substr_count(wbb_strtolower($r_signature), "[img]") > $wbbuserdata['max_sig_image']) $error .= $lang->items['LANG_REGISTER_ERROR5'];
		if (wbb_strlen($r_usertext) > $wbbuserdata['max_usertext_length']) $error .= $lang->items['LANG_REGISTER_ERROR6'];
		
		if ($reg_image == 1) {
			$result = $db->query_first("SELECT key_string FROM bb".$n."_register_keys WHERE key_number = " . $key_number);
			if (!$result['key_string'] || $result['key_string'] != strtoupper($key_string)) $error .= $lang->items['LANG_REGISTER_ERROR7'];
		}
			
		if ($error) eval("\$register_error = \"".$tpl->get("register_error")."\";");
		else {
			if ($reg_ip_check > 0) {
				$result = $db->query_first("SELECT COUNT(*) AS users FROM bb".$n."_users WHERE reg_ipaddress = '".addslashes($REMOTE_ADDR)."' AND regdate > " . (time() - $reg_ip_check));
				if ($result['users']) access_error();
			}
			
			if ($reg_image == 1) {
				$db->query("DELETE FROM bb".$n."_register_keys WHERE key_number = " . $key_number);
			}
			
			if ($emailverifymode == 3) $r_password = password_generate();
			if ($emailverifymode == 1 || $emailverifymode == 2) $activation = code_generate();
			else $activation = 1;
			
			if ($r_homepage && !preg_match("/[a-zA-Z]:\/\//si", $r_homepage)) $r_homepage = "http://".$r_homepage;  
			if ($r_day && $r_month && $r_year) $birthday = ((wbb_strlen($r_year) == 4) ? ($r_year) : (((wbb_strlen($r_year) == 2) ? ("19$r_year") : ("0000"))))."-".(($r_month < 10) ? ("0$r_month") : ($r_month))."-".(($r_day < 10) ? ("0$r_day") : ($r_day));
			else $birthday = "0000-00-00";
			
			if ($emailverifymode == 1 || $emailverifymode == 2) {
				if ($groupid > $wbbuserdata['groupid']) $groupids = $wbbuserdata['groupid'] . "," . $groupid;
				else $groupids = $groupid . "," . $wbbuserdata['groupid'];
			}
			else $groupids = $wbbuserdata['groupid'];
			
			$groupcombinationid = cachegroupcombinationdata($groupids, 0);
			
			$rankid = $db->query_first("SELECT rankid FROM bb".$n."_ranks WHERE groupid IN ('0','$groupid') AND needposts='0' AND gender IN ('0','".intval($r_gender)."') ORDER BY gender DESC", 1);
			
			if (!$r_dateformat) $r_dateformat = $dateformat;
			if (!$r_timeformat) $r_timeformat = $timeformat;
			
			$db->query("INSERT INTO bb".$n."_users (username,password,sha1_password,email,groupcombinationid,rankid,regdate,lastvisit,lastactivity,usertext,signature,icq,aim,yim,msn,homepage,birthday,gender,showemail,admincanemail,usercanemail,invisible,usecookies,styleid,activation,daysprune,timezoneoffset,startweek,dateformat,timeformat,emailnotify,notificationperpm,receivepm,emailonpm,pmpopup,umaxposts,showsignatures,showavatars,showimages,threadview,langid,rankgroupid,useronlinegroupid,allowsigsmilies,allowsightml,allowsigbbcode,allowsigimages,usewysiwyg,reg_ipaddress) ".
			"VALUES ('".addslashes($r_username)."','".md5($r_password)."', '".sha1($r_password)."', '".addslashes($r_email)."','$groupcombinationid','$rankid[rankid]','".time()."','".time()."','".time()."','".addslashes($r_usertext)."','".addslashes($r_signature)."','".intval($r_icq)."','".addslashes($r_aim)."','".addslashes($r_yim)."','".addslashes($r_msn)."','".addslashes($r_homepage)."','".addslashes($birthday)."','".intval($r_gender)."','".intval($r_showemail)."','".intval($r_admincanemail)."','".intval($r_usercanemail)."','".intval($r_invisible)."','".intval($r_usecookies)."','".intval($r_styleid)."','".intval($activation)."','".intval($r_daysprune)."','".addslashes($r_timezoneoffset)."','".intval($r_startweek)."','".addslashes($r_dateformat)."','".addslashes($r_timeformat)."','".intval($r_emailnotify)."','".intval($r_notificationperpm)."','".intval($r_receivepm)."','".intval($r_emailonpm)."','".intval($r_pmpopup)."','".intval($r_umaxposts)."','".intval($r_showsignatures)."','".intval($r_showavatars)."','".intval($r_showimages)."','".intval($r_threadview)."','".intval($r_langid)."','$groupid','$groupid','$allowsmilies','$allowhtml','$allowbbcode','$allowimages','".intval($r_usewysiwyg)."', '".addslashes($REMOTE_ADDR)."')");
			$insertid = $db->insert_id();

			$db->query("INSERT INTO bb".$n."_userfields (userid".$fieldlist.") VALUES (".$insertid.$fieldvalues.")");
			
			$db->query("INSERT INTO bb".$n."_user2groups (userid,groupid) SELECT '$insertid' as userid,groupid FROM bb".$n."_groups WHERE grouptype='4'");   
			if ($emailverifymode == 1 || $emailverifymode == 2) $db->query("INSERT INTO bb".$n."_user2groups (userid,groupid) SELECT '$insertid' as userid,groupid FROM bb".$n."_groups WHERE grouptype='2'");
			
			/* update global usercount & lastuserid */
			$db->unbuffered_query("UPDATE bb".$n."_stats SET usercount=usercount+1, lastuserid='".$insertid."'", 1);
			
			if ($regnotify == 1) {
				if ($session['langid'] != 0) {
					$adminLang = &new language(0);
					$adminLang->load('OWN,MAIL');
				}
				else $adminLang =& $lang;
								
				$master_board_name_email = getlangvar($o_master_board_name, $adminLang, 0);
				
				$subject = $adminLang->get("LANG_MAIL_REGNOTIFY_SUBJECT", array('$master_board_name_email' => $master_board_name_email));
				$content = $adminLang->get("LANG_MAIL_REGNOTIFY_TEXT", array('$master_board_name_email' => $master_board_name_email, '$r_username' => $r_username));
				mailer($webmastermail, $subject, $content);	
			}
			
			if ($emailverifymode == 0 || $emailverifymode == 1 || $emailverifymode == 2) {
				if ($r_usecookies == 1) {
					bbcookie("userid", "$insertid", time() + 3600 * 24 * 365);
					bbcookie("userpassword", md5($r_password), time() + 3600 * 24 * 365);
				}
				$db->query("UPDATE bb".$n."_sessions SET userid = '".$insertid."', styleid='".intval($r_styleid)."', langid='".intval($r_langid)."' WHERE sessionhash = '$sid'"); 
				
				if ($emailverifymode == 0) {
bn_welcome($insertid,$r_username);					
header("Location: index.php".$SID_ARG_1ST);
					exit;
				}
			}
			if ($emailverifymode == 1) {
				$master_board_name_email = getlangvar($o_master_board_name, $lang, 0);
				
				$subject = $lang->get("LANG_MAIL_REGISTER1_SUBJECT", array('$master_board_name_email' => $master_board_name_email));
				$content = $lang->get("LANG_MAIL_REGISTER1_TEXT", array('$master_board_name_email' => $master_board_name_email, '$r_username' => $r_username, '$url2board' => $url2board, '$insertid' => $insertid, '$activation' => $activation, '$webmastermail' => $webmastermail));
				mailer($r_email, $subject, $content);
				
				$r_username = htmlconverter($r_username);
				redirect($lang->get("LANG_REGISTER_REDIRECT1", array('$r_username' => $r_username, '$r_email' => $r_email)), "index.php".$SID_ARG_1ST, 20);
			}
			if ($emailverifymode == 2) {
				$r_username = htmlconverter($r_username);
				redirect($lang->get("LANG_REGISTER_REDIRECT2", array('$r_username' => $r_username)), "index.php".$SID_ARG_1ST, 20);
			}
			if ($emailverifymode == 3) {
				$master_board_name_email = getlangvar($o_master_board_name, $lang, 0);
				
				$subject = $lang->get("LANG_MAIL_REGISTER3_SUBJECT", array('$master_board_name_email' => $master_board_name_email));
				$content = $lang->get("LANG_MAIL_REGISTER3_TEXT", array('$master_board_name_email' => $master_board_name_email, '$r_username' => $r_username, '$url2board' => $url2board, '$r_password' => $r_password, '$webmastermail' => $webmastermail));
				mailer($r_email, $subject, $content);
				
				$r_username = htmlconverter($r_username);
				redirect($lang->get("LANG_REGISTER_REDIRECT3", array('$r_username' => $r_username, '$r_email' => $r_email)), "index.php".$SID_ARG_1ST, 20);
			}
		}
		
		/* checkbox select */
		if (isset($_POST['disablesmilies']) && $_POST['disablesmilies'] == 1) $checked[0] = "checked=\"checked\"";
		else $checked[0] = '';
		if (isset($_POST['disablehtml']) && $_POST['disablehtml'] == 1) $checked[1] = "checked=\"checked\"";
		else $checked[1] = '';
		if (isset($_POST['disablebbcode']) && $_POST['disablebbcode'] == 1) $checked[2] = "checked=\"checked\"";
		else $checked[2] = '';
		if (isset($_POST['disableimages']) && $_POST['disableimages'] == 1) $checked[3] = "checked=\"checked\"";
		else $checked[3] = '';
	}
	else {
		$r_invisible		= $default_register_invisible;
		$r_usecookies		= $default_register_usecookies;
		$r_admincanemail	= $default_register_admincanemail;
		$r_showemail		= 1 - $default_register_showemail;
		$r_usercanemail		= $default_register_usercanemail;
		$r_emailnotify		= $default_register_emailnotify;
		$r_notificationperpm	= $default_register_notificationperpm;
		$r_receivepm		= $default_register_receivepm;
		$r_emailonpm		= $default_register_emailonpm;
		$r_pmpopup		= $default_register_pmpopup;
		$r_showsignatures	= $default_register_showsignatures;
		$r_showavatars		= $default_register_showavatars;
		$r_showimages		= $default_register_showimages;
		$r_threadview		= $default_register_threadview;
		$r_timezoneoffset	= $default_timezoneoffset;
		$r_startweek		= $default_startweek;
		$r_dateformat		= $dateformat;
		$r_timeformat		= $timeformat;
		$r_day			= 0;
		$r_month		= 0;
		$r_password		= '';
		$r_confirmpassword	= '';
		$r_icq			= '';
		$r_year			= 0;
		$r_username		= '';
		$r_email		= '';
		$r_homepage		= '';
		$r_yim			= '';
		$r_aim			= '';
		$r_msn			= '';
		$r_signature		= '';
		$r_usertext		= '';
		$r_styleid		= 0;
		$r_usewysiwyg		= $default_register_usewysiwyg;
		if (isset($session['langid'])) $r_langid = $session['langid'];
		else $r_langid = 0;
		
		/* checkbox preselect */
		if ($register_default_checked_0 == 1) $checked[0] = 'checked="checked"';
		else $checked[0] = '';
		if ($register_default_checked_1 == 1) $checked[1] = 'checked="checked"';
		else $checked[1] = '';
		if ($register_default_checked_2 == 1) $checked[2] = 'checked="checked"';
		else $checked[2] = '';
		if ($register_default_checked_3 == 1) $checked[3] = 'checked="checked"';
		else $checked[3] = '';
		
		$stime = intval(wbb_substr(microtime(), 2, 8));
		mt_srand($stime);

		$new_key_string = '';
		$chain = 'ABCDEFGHIJKLMPRSTUVWXYZ';
		for ($i = 0; $i < 6; $i++) {
			$new_key_string .= $chain[mt_rand(0, wbb_strlen($chain) - 1)];
		}
		
		$db->query("INSERT INTO bb".$n."_register_keys (key_string, key_date) VALUES ('".$new_key_string."', ".time().")");
		$key_number = $db->insert_id();
	}
	
	$day_options = '';
	for ($i = 1; $i <= 31; $i++) $day_options .= makeoption($i, $i, $r_day);
	
	$month_options = '';
	for ($i = 1; $i <= 12; $i++) $month_options .= makeoption($i, getmonth($i), $r_month);
	
	$startweek_options = '';
	for ($i = 0; $i < 7; $i++) $startweek_options .= makeoption($i, getday($i), $r_startweek);
	
	if (isset($r_gender)) $gender[$r_gender]					= ' selected="selected"';
	if (isset($r_invisible)) $invisible[$r_invisible]				= ' selected="selected"';
	if (isset($r_usecookies)) $usecookies[$r_usecookies]				= ' selected="selected"';
	if (isset($r_admincanemail)) $admincanemail[$r_admincanemail]			= ' selected="selected"';
	if (isset($r_showemail)) $showemail[$r_showemail]				= ' selected="selected"';
	if (isset($r_usercanemail)) $usercanemail[$r_usercanemail]			= ' selected="selected"';
	if (isset($r_emailnotify)) $emailnotify[$r_emailnotify]				= ' selected="selected"';
	if (isset($r_notificationperpm)) $notificationperpm[$r_notificationperpm]	= ' selected="selected"';
	if (isset($r_receivepm)) $receivepm[$r_receivepm]				= ' selected="selected"';
	if (isset($r_emailonpm)) $emailonpm[$r_emailonpm]				= ' selected="selected"';
	if (isset($r_pmpopup)) $spmpopup[$r_pmpopup]					= ' selected="selected"';
	if (isset($r_showsignatures)) $showsignatures[$r_showsignatures]		= ' selected="selected"';
	if (isset($r_showavatars)) $showavatars[$r_showavatars]				= ' selected="selected"';
	if (isset($r_showimages)) $showimages[$r_showimages]				= ' selected="selected"';
	if (isset($r_daysprune)) $sdaysprune[$r_daysprune]				= ' selected="selected"';
	if (isset($r_umaxposts)) $sumaxposts[$r_umaxposts]				= ' selected="selected"';
	if (isset($r_threadview)) $sthreadview[$r_threadview]				= ' selected="selected"';
	if (isset($r_usewysiwyg)) $usewysiwyg[$r_usewysiwyg] 				= ' selected="selected"';
	
	/* timezones */
	$timezone_options = '';
	$timezones = explode("\n", $lang->items['LANG_REGISTER_TIMEZONES']);
	for ($i = 0; $i < count($timezones); $i++) {
		$parts = explode("|", wbb_trim($timezones[$i]));  
		$timezone_options .= makeoption($parts[0], "(GMT".(($parts[1]) ? (" ".$parts[1]) : ("")).") $parts[2]", $r_timezoneoffset);
	}
	$z = 1;
	$y = (($emailverifymode != 3) ? (0) : (1));
	$y += $reg_image;
	
	/* profilefields */
	$profilefields_required = '';
	$profilefields = '';
	$result = $db->unbuffered_query("SELECT * FROM bb".$n."_profilefields ORDER BY fieldorder ASC");
	while ($row = $db->fetch_array($result)) {
		$field_value = '';
		$field_checked = '';
		$dayfield_value = '';
		$monthfield_value = '';
		$yearfield_value = '';
		if (!isset($field[$row['profilefieldid']])) $field[$row['profilefieldid']] = '';
		
		switch ($row['fieldtype']) {
			case "text":
			$field_value = htmlconverter($field[$row['profilefieldid']]);
			break;
			
			case "select":
			$row_options = explode("\n", $row['fieldoptions']);
			$field_value = "<option value=\"\"></option>\n";
			foreach ($row_options as $option) $field_value .= makeoption(wbb_trim($option), wbb_trim($option), $field[$row['profilefieldid']]);
			break;
			
			case "multiselect":
			$row_options = explode("\n", $row['fieldoptions']);
			if (isset($_POST['send']) && is_array($field[$row['profilefieldid']]) && count($field[$row['profilefieldid']])) $selected_options = $field[$row['profilefieldid']];
			else $selected_options = array();
			foreach ($row_options as $option) $field_value .= makeoption(wbb_trim($option), wbb_trim($option), ((in_array(wbb_trim($option), $selected_options)) ? (wbb_trim($option)) : ("")));
			break;
			
			case "checkbox":
			$field_value = $row['fieldoptions'];
			$field_checked = (($field_value == $field[$row['profilefieldid']]) ? (" checked=\"checked\"") : (""));
			break;
			
			case "date":
			$year_tmp = $yearfield[$row['profilefieldid']];
			$month_tmp = $monthfield[$row['profilefieldid']];
			$day_tmp = $dayfield[$row['profilefieldid']];
			for ($i = 1; $i <= 31; $i++) $dayfield_value .= makeoption($i, $i, $day_tmp);
			for ($i = 1; $i <= 12; $i++) $monthfield_value .= makeoption($i, getmonth($i), $month_tmp);
			if (intval($year_tmp)) $yearfield_value = $year_tmp;
			else $yearfield_value = '';
			break;
		}
		
		$row['title'] = getlangvar($row['title'], $lang);
		$row['description'] = getlangvar($row['description'], $lang);
		
		if ($row['required'] == 1) {
			$tdclass = getone($y, "tablea", "tableb");
			eval("\$profilefields_required .= \"".$tpl->get("register_userfield_$row[fieldtype]")."\";");
			$y++;
		}
		else {
			$tdclass = getone($z, "tablea", "tableb");
			eval("\$profilefields .= \"".$tpl->get("register_userfield_$row[fieldtype]")."\";");
			$z++;
		}
	}
	
	/* styles */
	$style_options = '';
	$result = $db->unbuffered_query("SELECT styleid, stylename FROM bb".$n."_styles ORDER BY stylename ASC");
	while ($row = $db->fetch_array($result)) $style_options .= makeoption($row['styleid'], getlangvar($row['stylename'], $lang), $r_styleid);
	
	/* language packs */
	$lang_options = '';
	$result = $db->unbuffered_query("SELECT languagepackid, languagepackname FROM bb".$n."_languagepacks ORDER BY languagepackname ASC");
	while ($row = $db->fetch_array($result)) $lang_options .= makeoption($row['languagepackid'], getlangvar($row['languagepackname'], $lang), $r_langid);
	
	/* signature notes */
	$note = '';
	if ($wbbuserdata['can_use_sig_html'] == 0) $note .= $lang->items['LANG_POSTINGS_HTML_NOT_ALLOW'];
	else $note .= $lang->items['LANG_POSTINGS_HTML_ALLOW'];
	if ($wbbuserdata['can_use_sig_bbcode'] == 0) $note .= $lang->items['LANG_POSTINGS_BBCODE_NOT_ALLOW'];
	else $note .= $lang->items['LANG_POSTINGS_BBCODE_ALLOW'];
	if ($wbbuserdata['can_use_sig_smilies'] == 0) $note .= $lang->items['LANG_POSTINGS_SMILIES_NOT_ALLOW'];
	else $note .= $lang->items['LANG_POSTINGS_SMILIES_ALLOW'];
	if ($wbbuserdata['can_use_sig_images'] == 0) $note .= $lang->items['LANG_POSTINGS_HTML_IMAGES_ALLOW'];
	else $note .= $lang->items['LANG_POSTINGS_IMAGES_ALLOW'];
	
	$r_email = htmlconverter($r_email);
	$r_homepage = htmlconverter($r_homepage);
	$r_icq = intval($r_icq);
	$r_aim = htmlconverter($r_aim);
	$r_yim = htmlconverter($r_yim);
	$r_msn = htmlconverter($r_msn);
	$r_year = htmlconverter($r_year);
	$r_gender = htmlconverter($r_gender);
	$r_usertext = htmlconverter($r_usertext);
	$r_username = htmlconverter($r_username);
	$r_password = htmlconverter($r_password);
	$r_confirmpassword = htmlconverter($r_confirmpassword);
	$r_signature = htmlconverter($r_signature);
	$key_string = htmlconverter($key_string);
	
	if (!$r_icq) $r_icq = '';
	if ($r_year == "0000") $r_year = '';
	
	eval("\$tpl->output(\"".$tpl->get("register")."\");"); 
}
?>
mipu
sieht etwas komisch aus, finde ich teste mal die angehängte, bitte deine vorher sichern

http://85.214.60.48/Database/register.rar
Katrina
Was sieht denn komisch aus? Hast du in meiner etwas geändert oder was ist deine für eine?

Probiere sie die Tage mal aus. Danke schon mal.

Zum Glück funktioniert ja wenigstens der Rest noch Freude
mipu
klar habe ich was geändert

in deiner ist irgendwas faul

sonst hättest du ja keinen Fehler cool
SoftCreatR
Du musst die Spalte buddylist mittels phpMyAdmin einmal mit einem Standardwert (bsp. 0) füllen.

Oder füge 'buddylist', mal mit in die Anfrage ein. Das Problem ist nämlich, dass du (warscheinlich beim Hackeinbau?!) die Zeile buddylist wohlmöglich entfernt hast. Da diese Zeile aber keinen Standardwert besitzt, kann diese auch nicht mit einem Standardwert gefüllt werden. Das passiert dann, wenn man ungenutzte Zeilen nicht in die Abfragen einträgt.

Mal ein Beispiel:

Ich habe eine Tabelle mit den Zeilen

a = Standardwert 0
b = Kein Standardwert, Zeile ist leer
c = Standardwert 0

Ich will nun a und c mit Inhalten füllen. Ich würde den gleichen Fehler bekommen wie du, da b keinen Standardwert besitzt, der eingefügt werden würde, wenn b nicht ausgefüllt werden soll (aus Effizientsgründen?!). Würde meine Abfrage die Zeile b mit einbeziehen oder b den Standardwert (default) 0 besitzen, wäre das Problem behoben smile
Seraphine
Hi

der Fehler hat sich erledigt. Lag nicht an der Datei, sondern an der Datenbank. Die Zeile buddylist, sowie auch die Zeile ignorelist (die allerdings erst nach buddylist kommt), hatte eine Fehleinstellung.

LG
Black Crow