phpBB2 by Przemo
Support forów phpBB2 modified by Przemo

FAQFAQ - PIERWSZA POMOC!!  regulaminREGULAMIN  SzukajSZUKAJ  UżytkownicyUżytkownicy  GrupyGrupy  StatystykiStatystyki
RejestracjaRejestracja  ZalogujZaloguj  DownloadDownload  katalog Forów DyskusyjnychKatalog Forów   FAQ Video tutoriale

Poprzedni temat «» Następny temat
Przesunięty przez: Matteo
09-11-2013, 09:28
Dopuszczalna ilość znaków w nazwie użytkownika #2
Autor Wiadomość
xlesiu



Pomógł: 5274 razy
Posty: 10385
Wysłany: 16-11-2009, 12:41   Dopuszczalna ilość znaków w nazwie użytkownika #2

Dopuszczalna ilość znaków w nazwie użytkownika
Z wyświetlaną ilością znaków jaka pozostała
Cytat:
##############################################################
## MOD Title: [2.0.19] Restrict Username Size
## MOD Author: Wo1f < N/A > (J. C. Woof) N/A
## MOD Description: Mod pozwala na ustaleniu dopuszczalnej ilości znaków w nazwie użytkownika. Z pokazywaniem ilości pozostałych znaków.
## MOD Version: 1.1.4
##
## Installation Level: Easy
## Installation Time: ~ 15 Minutes
## Files To Edit: admin/admin_board.php,
## admin/admin_users.php,
## admin/page_header_admin.php,
## includes/functions.php,
## includes/functions_post.php,
## includes/page_header.php,
## includes/usercp_register.php,
## language/lang_polish/lang_admin.php,
## language/lang_polish/lang_main.php,
## templates/NazwaStylu/groupcp_info_body.tpl,
## templates/NazwaStylu/index_body.tpl,
## templates/NazwaStylu/login_body.tpl,
## templates/NazwaStylu/posting_body.tpl,
## templates/NazwaStylu/profile_add_body.tpl,
## templates/NazwaStylu/profile_send_pass.tpl,
## templates/NazwaStylu/search_username.tpl,
## templates/NazwaStylu/admin/board_config_body.tpl,
## templates/NazwaStylu/admin/disallow_body,
## templates/NazwaStylu/admin/group_edit_body.tpl,
## templates/NazwaStylu/admin/user_edit_body.tpl,
## templates/NazwaStylu/admin/user_select_body.tpl.
## Included Files: N/A
## License: http://opensource.org/licenses/gpl-license.php GNU General Public License v2
##############################################################


Proszę o pomoc przy supporcie moda :)
_________________
Jak tłumaczysz mi coś z php to mów do mnie jak do labradora. / krwiodawcy.org
Ostatnio zmieniony przez Polaczek 20-08-2010, 20:17, w całości zmieniany 2 razy  
 
     
Gadatliwa Kasia 

   
Polaczek


Pomógł: 351 razy
Posty: 2297
Wysłany: 16-11-2009, 15:46   

xlesiu napisał/a:
Z wyświetlaną ilością znaków jaka pozostała


Rozumiem, że AJAX'owe? ;)
_________________
The Cephei Family
stuff 'n' stuff
 
     
Seba123


Pomógł: 74 razy
Posty: 868
Wysłany: 17-11-2009, 16:04   

Zwykłe JS.
_________________
Fejs
 
     
Brt

Posty: 29
Wysłany: 19-03-2012, 20:46   

U mnie po zainstalowaniu tej modyfikacji pojawił się problem ze sprawdzaniem loginu w bazie. Mogłem mieć dwóch użytkowników z takim samym loginem.
Chodzi o kod w pliku /includes/usercp_register.php
Wg. instrukcji poprawny kod powinien wyglądać następująco:
Kod:
    // Restrict username size mod - start
    $un_min = $board_config['username_min_char'];
    $un_max = $board_config['username_max_char'];
    // Restrict username size mod - end
    $username_sql = '';
    if ( $board_config['allow_namechange'] || $mode == 'register' )
    {
        if ( empty($username) )
        {
            $error = TRUE;
            $error_msg .= ( ( isset($error_msg) ) ? '<br />' : '' ) . $lang['Fields_empty'];
        }
        else if ( $username != $userdata['username'] || $mode == 'register' )
        {
            // Restrict username size mod - start
            if (strlen($username) < $un_min || strlen($username) > $un_max)
            {
                $error = TRUE;
                $error_msg .= ( ( isset($error_msg) ) ? '<br />' : '' ) . sprintf($lang['User_length_error'], $un_min, $un_max);
            // Restrict username size mod - end   
            if (strtolower($username) != strtolower($userdata['username']) || $mode == 'register')
            {
                $result = validate_username($username);
                if ( $result['error'] )
                {
                    $error = TRUE;
                    $error_msg .= ( ( isset($error_msg) ) ? '<br />' : '' ) . $result['error_msg'];
                }
            }
            // Restrict username size mod - start
            }
            // Restrict username size mod - end
            if ( !$error )
            {
                $username_sql = "username = '" . str_replace("\'", "''", $username) . "', ";
            }
        }
    }

Ja swój edytowałem następująco:
Kod:
// Restrict username size mod - start
    $un_min = $board_config['username_min_char'];
    $un_max = $board_config['username_max_char'];
    // Restrict username size mod - end
    $username_sql = '';
    if ( $board_config['allow_namechange'] || $mode == 'register' )
    {
        if ( empty($username) )
        {
            $error = TRUE;
            $error_msg .= ( ( isset($error_msg) ) ? '<br />' : '' ) . $lang['Fields_empty'];
        }
        else if ( $username != $userdata['username'] || $mode == 'register' )
        {
            // Restrict username size mod - start
            if (strlen($username) < $un_min || strlen($username) > $un_max)
            {
                $error = TRUE;
                $error_msg .= ( ( isset($error_msg) ) ? '<br />' : '' ) . sprintf($lang['User_length_error'], $un_min, $un_max);
                                                // Restrict username size mod - end
 if (strtolower($username) != strtolower($userdata['username']) || $mode == 'register')
            {
                $result = validate_username($username);
                if ( $result['error'] )
                {
                    $error = TRUE;
                    $error_msg .= ( ( isset($error_msg) ) ? '<br />' : '' ) . $result['error_msg'];
                }
            }
            // Restrict username size mod - start
            else if (strlen($username) < $un_min || strlen($username) > $un_max)
            {
                $error = TRUE;
                $error_msg .= ( ( isset($error_msg) ) ? '<br />' : '' ) . sprintf($lang['User_length_error'], $un_min, $un_max);
            }
            // Restrict username size mod - end
            if ( !$error )
            {
                $username_sql = "username = '" . str_replace("\'", "''", $username) . "', ";
            }
        }
    }

O ile dobrze rozumiem, to chodzi o kolejność operacji, najpierw sprawdzenie czy login jest w bazie, a potem czy ma wymaganą ilość znaków.
Poprawcie mnie o ile się mylę.
 
     
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Nie możesz ściągać załączników na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Kopiowanie wszelkich treści zawartych na forum, modyfikacji oraz instrukcji bez zgody administracji i autorów tematów/postów zabronione!

Powered by phpBB modified by Przemo © 2003 phpBB
Strona wygenerowana w 0,06 sekundy. Zapytań do SQL: 14
Polecane serwisy

Najlepsze oprogramowanie do prowadzenia sklepu internetowegoNajlepszy program do sklepu firmowany przez Przem'a

Sklep z gadżetami

mediaclick.pl

serwis laptopów

phpbb

Polisy Ubezpieczeniowe TU Europa

Design Cart - Tworzenie sklepu internetowego

dnirozwoju.pl

Ranking Hostingów HostingOnline.pl

• Zamów reklamę