Это ошибка, но не критичная.
А работает потому что функция md5 все равно генерирует код, ей по барабану, что ей передают.
Добавлено спустя 17 минут 30 секунд:
А вот это уже критичная ошибка:
- Код: Выделить всё
function new_user($user_name, $user_password, $user_email) {
global $db, $table_prefix, $board_config, $user_def_group;
$user_name_clean = strtolower(str_replace('|', '|', $user_name));
if(strlen($user_password) != 34){
$phpbb_password = phpbb_hash($user_password);
} else {
$phpbb_password = $user_password;
}
$email_hash = crc32(strtolower($user_email)).strlen($user_email);
$form_salt = unique_id();
$user_ip = getenv("REMOTE_ADDR");
$num_users_new = $board_config['num_users'] + 1;
list($last_id) = $db->sql_fetchrow($db->sql_query("SELECT user_id FROM ".$table_prefix."users ORDER BY user_id DESC LIMIT 1"));
$reg_id = $last_id + 1;
$db->sql_query("INSERT INTO ".$table_prefix."users (user_id, group_id, user_ip, user_regdate, username, username_clean, user_password, user_passchg, user_email, user_email_hash, user_lang, user_dateformat, user_form_salt) VALUES ('".$reg_id."', '".$user_def_group."', '".$user_ip."', '".time()."', '".$user_name."', '".$user_name_clean."', '".$phpbb_password."', '".time()."', '".$user_email."', '".$email_hash."', '".$board_config['default_lang']."', '".$board_config['default_dateformat']."', '".$form_salt."')");
$db->sql_query("INSERT INTO ".$table_prefix."user_group (group_id, user_id, group_leader, user_pending) VALUES ('2', '".$reg_id."', '0', '0')");
$db->sql_query("UPDATE ".$table_prefix."config SET config_value = '".$reg_id."' WHERE config_name = 'newest_user_id'");
$db->sql_query("UPDATE ".$table_prefix."config SET config_value = '".$user_name."' WHERE config_name = 'newest_username'");
$db->sql_query("UPDATE ".$table_prefix."config SET config_value = '".$num_users_new."' WHERE config_name = 'num_users'");
}
Что произойдет, если функция
getenv("REMOTE_ADDR") вернет false?
Произойдет сбой в записи, функция sql_query вернет false, а скрипт побежит дальше, не отработав эту ошибку...
Добавлено спустя 10 минут 57 секунд:Вот в этот запрос вместо 2 должно забиваться значение $user_def_group
- Код: Выделить всё
$db->sql_query("INSERT INTO ".$table_prefix."user_group (group_id, user_id, group_leader, user_pending) VALUES ('2', '".$reg_id."', '0', '0')");
Это не критично, пока у Вас группа пользователей имеет group_id = 2. Если group_id будет другой, то произойдет сбой.
Если толкнуть кувшин, из него плеснет тем, чем он наполнен...