Go Back   vb.org Archive > Community Discussions > Modification Requests/Questions (Unpaid)
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools Display Modes
  #11  
Old 04-01-2003, 01:09 PM
Logician's Avatar
Logician Logician is offline
 
Join Date: Nov 2001
Location: inside vb code
Posts: 4,449
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

<a href="https://vborg.vbsupport.ru/showthread.php?s=&threadid=38725&highlight=registe r.php" target="_blank">https://vborg.vbsupport.ru/showt...t=register.php</a>
Reply With Quote
  #12  
Old 04-01-2003, 01:57 PM
noppid noppid is offline
 
Join Date: Mar 2003
Location: Florida
Posts: 1,875
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Well there seems to be a solution already, but here's a way of doing it I came up with. It's a bit more code.

PHP Code:
<?php
$alphas 

array( 
"A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z",
"a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"
"1","2","3","4","5","6","7","8","9","0",".","_");

$badfirsts=array( "1","2","3","4","5","6","7","8","9","0",".","_");

$username="user._1234";
$n=0;
$OK=0;
$badchar=0;
// make sure our name is more then 2 characters long. (redundant to vB code if min can be set to two )
  
if (strlen($username)< ) {
    
//eval("standarderror(\"".gettemplate("error_usernametooshort")."\");");
    
echo "exit on strlen < then 2";
    exit;
  }

// make sure the first char is not a space (redundant, not necessary) 
  
if ($username[0] == " " ) {
          
//eval("standarderror(\"".gettemplate("error_usernametaken")."\");");
          
echo "exit on first char == space";
          exit;
  } 
  
// check each charater for validity          
while(strlen($username)>$n) {          
   foreach (
$alphas as $c ){
    if ( 
$c == $username[$n] ) {
        
$OK=1;
        if (
$n == ){
             foreach ( 
$badfirsts as $b ) {
                 if ( 
$b == $username[$n] ) {
                    
$OK=0;
                    
$badchar 1;
                }        
             }    
           }
           if ( 
$OK || $badchar) {
               break;
           }         
    }
        
    } 
//  end for each alphas

    // if charater not OK stop reg and show error page
    // else reset OK var and increment counter to check next char 
    
if ( !$OK ) {
          
//eval("standarderror(\"".gettemplate("error_usernametaken")."\");");
      
echo "exit on " $username[$n] . " is not a valid char";
          exit;
    }
    else {
      
$OK 0;
      echo 
$username[$n];
      
$n++ ;    
    }        

  
// end while

    
echo "exit NORMAL.";

?>
You can name it something.php and test the code on your site by playing with the $username var. There are echo statements for the errors to test it. The evals should be changed to point to a new template as pointed out in the other hacks if used.
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 10:12 AM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.04817 seconds
  • Memory Usage 2,207KB
  • Queries Executed 13 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (1)ad_showthread_firstpost
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (1)bbcode_php
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (1)pagenav_pagelink
  • (2)post_thanks_box
  • (2)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (2)post_thanks_postbit_info
  • (2)postbit
  • (2)postbit_onlinestatus
  • (2)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_postinfo_query
  • fetch_postinfo
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete