Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- diff --git a/header.php b/header.php
- index c994635..f16eeff 100644
- --- a/header.php
- +++ b/header.php
- @@ -118,9 +118,9 @@ function process_form(the_form)
- for (var i = 0; i < the_form.length; ++i)
- {
- var elem = the_form.elements[i]
- - if (elem.name && elem.name.substring(0, 4) == "req_")
- + if (elem.name && elem.name != "req_username" && elem.name.substring(0, 4) == "req_")
- {
- - if (elem.type && (elem.type=="text" || elem.type=="textarea" || elem.type=="password" || elem.type=="file") && elem.value=='')
- + if (elem.type && (elem.type == "text" || elem.type == "textarea" || elem.type == "password" || elem.type == "file") && elem.value == "")
- {
- alert("\"" + element_names[elem.name] + "\" <?php echo $lang_common['required field'] ?>")
- elem.focus()
- diff --git a/register.php b/register.php
- index 4ec7fb5..4ca2a83 100644
- --- a/register.php
- +++ b/register.php
- @@ -60,19 +60,24 @@ else if ($pun_config['o_rules'] == '1' && !isset($_GET['agree']) && !isset($_POS
- require PUN_ROOT.'footer.php';
- }
- +session_start();
- +$_SESSION['username_field'] = isset($_SESSION['username_field']) ? $_SESSION['username_field'] : 'req_field_'.random_key(10, true);
- +
- // Start with a clean slate
- $errors = array();
- if (isset($_POST['form_sent']))
- {
- + if (!empty($_POST['req_username']))
- + message($lang_common['Bad request']);
- +
- // Check that someone from this IP didn't register a user within the last hour (DoS prevention)
- $result = $db->query('SELECT 1 FROM '.$db->prefix.'users WHERE registration_ip=\''.get_remote_address().'\' AND registered>'.(time() - 3600)) or error('Unable to fetch user info', __FILE__, __LINE__, $db->error());
- if ($db->num_rows($result))
- message($lang_register['Registration flood']);
- -
- - $username = pun_trim($_POST['req_username']);
- + $username = pun_trim($_POST[$_SESSION['username_field']]);
- $email1 = strtolower(trim($_POST['req_email1']));
- if ($pun_config['o_regs_verify'] == '1')
- @@ -227,8 +232,10 @@ if (isset($_POST['form_sent']))
- $page_title = array(pun_htmlspecialchars($pun_config['o_board_title']), $lang_register['Register']);
- -$required_fields = array('req_username' => $lang_common['Username'], 'req_password1' => $lang_common['Password'], 'req_password2' => $lang_prof_reg['Confirm pass'], 'req_email1' => $lang_common['Email'], 'req_email2' => $lang_common['Email'].' 2');
- -$focus_element = array('register', 'req_username');
- +$required_fields = array($_SESSION['username_field'] => $lang_common['Username'], 'req_password1' => $lang_common['Password'], 'req_password2' => $lang_prof_reg['Confirm pass'], 'req_email1' => $lang_common['Email'], 'req_email2' => $lang_common['Email'].' 2');
- +$focus_element = array('register', $_SESSION['username_field']);
- +$page_head = array('<style type="text/css">#register label.usernamefield { display: none }</style>');
- +
- define('PUN_ACTIVE_PAGE', 'register');
- require PUN_ROOT.'header.php';
- @@ -280,7 +287,8 @@ if (!empty($errors))
- <legend><?php echo $lang_register['Username legend'] ?></legend>
- <div class="infldset">
- <input type="hidden" name="form_sent" value="1" />
- - <label class="required"><strong><?php echo $lang_common['Username'] ?> <span><?php echo $lang_common['Required'] ?></span></strong><br /><input type="text" name="req_username" value="<?php if (isset($_POST['req_username'])) echo pun_htmlspecialchars($_POST['req_username']); ?>" size="25" maxlength="25" /><br /></label>
- + <label class="required usernamefield"><strong><?php echo $lang_common['Username'] ?> <span><?php echo $lang_common['Required'] ?></span></strong><br /><input type="text" name="req_username" value="" size="25" maxlength="25" /><br /></label>
- + <label class="required"><strong><?php echo $lang_common['Username'] ?> <span><?php echo $lang_common['Required'] ?></span></strong><br /><input type="text" name="<?php echo $_SESSION['username_field']; ?>" value="<?php if (isset($_POST[$_SESSION['username_field']])) echo pun_htmlspecialchars($_POST[$_SESSION['username_field']]); ?>" size="25" maxlength="25" /><br /></label>
- </div>
- </fieldset>
- </div>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement