• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

AAC Znote register problem

Vantoria

www.ClassicOT.us
Joined
Jun 6, 2014
Messages
186
Reaction score
16
Location
USA
hello again well im trying to register new account starting with 0 example ( 096534 ) but im getting this error
Lua:
Your account number must be a value between 6-8 numbers long.
i did try with another register.php and it works but with mine it doesn't, this is my register.php
PHP:
<?php
require_once 'engine/init.php';
logged_in_redirect();
include 'layout/overall/header.php';
?>
        <img src="layout/images/line_body.gif" align="center" height="7" width="100%">
        <img src="images/title_signup.gif" align="left">
        <img src="layout/images/line_body.gif" align="center" height="7" width="100%">
</table><br>
<?php

if (empty($_POST) === false) {
    // $_POST['']
    $required_fields = array('username', 'password', 'password_again', 'email', 'selected');
    foreach($_POST as $key=>$value) {
        if (empty($value) && in_array($key, $required_fields) === true) {
            $errors[] = 'You need to fill in all fields.';
            break 1;
        }
    }

    // check errors (= user exist, pass long enough
    if (empty($errors) === true) {
        /* Token used for cross site scripting security */
        if (!Token::isValid($_POST['token'])) {
            $errors[] = 'Token is invalid.';
        }

        if ($config['use_captcha']) {
            if(!verifyGoogleReCaptcha($_POST['g-recaptcha-response'])) {
                $errors[] = "Please confirm that you're not a robot.";
            }
        }

        if (user_exist($_POST['username']) === true) {
            $errors[] = 'Sorry, that username already exist.';
        }

        // Don't allow "default admin names in config.php" access to register.
        $isNoob = in_array(strtolower($_POST['username']), $config['page_admin_access']) ? true : false;
        if ($isNoob) {
            $errors[] = 'This account name is blocked for registration.';
        }
        if ($config['ServerEngine'] !== 'TFS_10' && $config['client'] >= 830) {
            if (preg_match("/^[a-zA-Z0-9]+$/", $_POST['username']) == false) {
                $errors[] = 'Your account name can only contain characters a-z, A-Z and 0-9.';
            }
        } else {
            if (preg_match("/^[0-9]+$/", $_POST['username']) == false) {
                $errors[] = 'Your account can only contain numbers 0-9.';
            }
            if ((int)$_POST['username'] < 100000 || (int)$_POST['username'] > 999999999) {
                $errors[] = 'Your account number must be a value between 6-8 numbers long.';
            }
        }
        // name restriction
        $resname = explode(" ", $_POST['username']);
        foreach($resname as $res) {
            if(in_array(strtolower($res), $config['invalidNameTags'])) {
                $errors[] = 'Your username contains a restricted word.';
            }
            else if(strlen($res) == 1) {
                $errors[] = 'Too short words in your name.';
            }
        }
        if (strlen($_POST['username']) > 32) {
            $errors[] = 'Your account name must be less than 33 characters.';
        }
        // end name restriction
        if (strlen($_POST['password']) < 6) {
            $errors[] = 'Your password must be at least 6 characters.';
        }
        if (strlen($_POST['password']) > 100) {
            $errors[] = 'Your password must be less than 100 characters.';
        }
        if ($_POST['password'] !== $_POST['password_again']) {
            $errors[] = 'Your passwords do not match.';
        }
        if (filter_var($_POST['email'], FILTER_VALIDATE_EMAIL) === false) {
            $errors[] = 'A valid email address is required.';
        }
        if (user_email_exist($_POST['email']) === true) {
            $errors[] = 'That email address is already in use.';
        }
        if (validate_ip(getIP()) === false && $config['validate_IP'] === true) {
            $errors[] = 'Failed to recognize your IP address. (Not a valid IPv4 address).';
        }
       
    }
}
?>
<?php
if (isset($_GET['success']) && empty($_GET['success'])) {
    if ($config['mailserver']['register']) {
        ?>
        <h1>Email authentication required</h1>
        <p>We have sent you an email with an activation link to your submitted email address.</p>
        <p>If you can't find the email within 5 minutes, check your <strong>junk/trash inbox (spam filter)</strong> as it may be mislocated there.</p>
        <?php
    } else echo 'Congratulations! Your account has been created. You may now login to create a character.';
} elseif (isset($_GET['authenticate']) && empty($_GET['authenticate'])) {
    // Authenticate user, fetch user id and activation key
    $auid = (isset($_GET['u']) && (int)$_GET['u'] > 0) ? (int)$_GET['u'] : false;
    $akey = (isset($_GET['k']) && (int)$_GET['k'] > 0) ? (int)$_GET['k'] : false;
    // Find a match
    $user = mysql_select_single("SELECT `id`, `active`, `active_email` FROM `znote_accounts` WHERE `account_id`='$auid' AND `activekey`='$akey' LIMIT 1;");
    if ($user !== false) {
        $user = (int) $user['id'];
        $active = (int) $user['active'];
        $active_email = (int) $user['active_email'];
        // Enable the account to login
        if ($active == 0 || $active_email == 0) {
            mysql_update("UPDATE `znote_accounts` SET `active`='1', `active_email`='1' WHERE `id`= $user LIMIT 1;");
        }
        echo '<h1>Congratulations!</h1> <p>Your account has been created. You may now login to create a character.</p>';
    } else {
        echo '<h1>Authentication failed</h1> <p>Either the activation link is wrong, or your account is already activated.</p>';
    }
} else {
    if (empty($_POST) === false && empty($errors) === true) {
        if ($config['log_ip']) {
            znote_visitor_insert_detailed_data(1);
        }

        //Register
        if ($config['ServerEngine'] !== 'OTHIRE') {
            $register_data = array(
                'id'        =>    $_POST['username'],
                'password'    =>    $_POST['password'],
                'email'        =>    $_POST['email'],
                'created'    =>    time(),
                'ip'        =>    getIPLong()
            );
        } else {
            $register_data = array(
                'id'        =>    $_POST['username'],
                'password'    =>    $_POST['password'],
                'email'        =>    $_POST['email'],
                'created'    =>    time(),
                'ip'        =>    getIPLong()
            );          
        }  

        user_create_account($register_data, $config['mailserver']);
        if (!$config['mailserver']['debug']) header('Location: register.php?success');
        exit();
        //End register
       
    } else if (empty($errors) === false){
        echo '<div class="alert alert-danger alert-dismissible"><button type="button" class="close" data-dismiss="alert"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button>';
        echo output_errors($errors);
        echo '</div>';
    }
?>
<table style="width: 100%;/*border:3px double #fff;*/box-shadow:1px 1px 10px #000;" border="0" cellpadding="10" cellspacing="1">
        <form action="" method="post">
        <tr><td colspan="2">Create Account</td></tr>
        <tr><td width="20%">Account Number:</td><td><input type="text" name="username" size="24" maxlength="8" placeholder=" 6-8 digits"></td></tr>
        <tr><td>Password:</td><td><input type="password" name="password" size="24" maxlength="32" placeholder=" 6-32 characters"></td></tr>
        <tr><td>Repeat Password:</td><td><input type="password" name="password_again" size="24" maxlength="32" placeholder=" 6-32 characters"></td></tr>
        <tr><td>Email:</td><td><input type="text" size="24" name="email"></td></tr>
</tr></tbody></table><br>
<table style="width: 100%;/*border:3px double #fff;*/box-shadow:1px 1px 10px #000;" cellpadding="10" cellspacing="1">
<tbody><tr><td bgcolor="#505050" align="center" class="white"><b>Please review the following terms and state your agreement below.</b></td></tr>
<tr>
<tr><td bgcolor="#D4C0A1">
                <p>You can read the rules <a href="rules.php">here</a></p>
                <p>The golden rule: Have fun.</p>
                <p>If you get pwn3d, don't hate the game.</p>
                <p>No <a href='https://en.wikipedia.org/wiki/Cheating_in_video_games' target="_blank">cheating</a> allowed.</p>
                <p>No <a href='https://en.wikipedia.org/wiki/Video_game_bot' target="_blank">botting</a> allowed.</p>
                <p>The staff can delete, ban, do whatever they want with your account and your <br> submitted information. (Including exposing and logging your IP).</p>
                <br>Do you agree to follow the server rules?<br>
                <select name="selected">
                  <option value="0">Umh...</option>
                  <option value="1">Yes.</option>
                  <option value="2">No.</option>
                  <tr>
                </select>
            </td>
        </tr>
        <?php if (!($config['available_vocations'] = array(0))) { ?>
        <tr><td>Vocation:</td>
            <td>
                <select name="selected_vocation">
                <?php foreach ($config['available_vocations'] as $id) { ?>
                <option value="<?php echo $id; ?>"><?php echo vocation_id_to_name($id); ?></option>
                <?php } ?>
                </select>
            </td>
        </tr>
        <?php } ?>
            <?php
                /* Form file */
                Token::create();
            ?>
            <div style="display: none;"><select hidden name="selected_town">
                <?php foreach ($config['available_towns'] as $tid) { ?>
                <option value="<?php echo $tid; ?>"><?php echo town_id_to_name($tid); ?></option>
                <?php } ?>
            </select></div>
            <?php if ($config['available_vocations'] = array(0)) { ?>
                <div style="display: none;">
                    <input name="selected_vocation" value="0" checked=""  type="radio">
                </div></table>
            <?php } ?>
        </td></tr>
        <br>
        <td><input type="submit" value="Create Account"></td>
        </form>
    <br>

<?php
}
include 'layout/overall/footer.php';
?>
@Znote sorry for tag you but may you know where is the problem
 
Solution
Your error message is comming from this line:
PHP:
    if ((int)$_POST['username'] < 100000 || (int)$_POST['username'] > 999999999) {
        $errors[] = 'Your account number must be a value between 6-8 numbers long.';
    }

As 096534 is lower than 100000 you becoming that message.

You can change the line to this, to allow account number starting with "0".
PHP:
    $usernameLength = strlen($_POST['username']);
    if ($usernameLength < 6 || $usernameLength > 8) {
       $errors[] = 'Your account number must be a value between 6-8 numbers long.';
    }
Your error message is comming from this line:
PHP:
    if ((int)$_POST['username'] < 100000 || (int)$_POST['username'] > 999999999) {
        $errors[] = 'Your account number must be a value between 6-8 numbers long.';
    }

As 096534 is lower than 100000 you becoming that message.

You can change the line to this, to allow account number starting with "0".
PHP:
    $usernameLength = strlen($_POST['username']);
    if ($usernameLength < 6 || $usernameLength > 8) {
       $errors[] = 'Your account number must be a value between 6-8 numbers long.';
    }
 
Solution
Back
Top