View Single Post
  #1202  
Old 07-08-2009, 06:06 AM
arkkhoax arkkhoax is offline
 
Join Date: Jun 2006
Posts: 12
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Hey! I'm having a small problem with a custom question that defaults to the users age. I'm having problems validating the input when the form is submitted.

For my custom question I have this code (this part works):
PHP Code:
list($month,$day,$year) = explode("-",$vbulletin->userinfo['birthday']);
$year_diff  date("Y") - $year;
$month_diff date("m") - $month;
$day_diff   date("d") - $day;
if (
$month_diff 0$year_diff--;
elseif ((
$month_diff==0) && ($day_diff 0)) $year_diff--;
$realage $year_diff;

$answer '<input type="text" id="q_' $formbit[id] . '" name="' $formbit[id] . '" value="' $realage '" />'
I want the user to be able to change the age I default the question to. I also want to make sure that input is a valid number so I wrote a few lines to do that.

In the "Before Submit" area I have this: (my custom question has an id of 15)
PHP Code:
$q[15] = (int)$q[15]; //make sure we only have a number
if($q[15] < 18$q[15] = 18;
if(
$q[15] > 120$q[15] = 120
Here is where the problem comes in! When the forum is submitted or previewed the text in the age field shows up but my "Before Submit" code does not take effect. So if I were to type "cool" in the age field it shows "cool" in the preview instead of showing 18 as I would expect (type casting 'cool' to an int should return zero, zero is less than 18 so it should be set to 18).

Any help would be great! I'm sure it's just something little I am missing. I know what I am doing may seem a little silly out of context but I want it to work this way.
Reply With Quote
 
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01170 seconds
  • Memory Usage 1,779KB
  • Queries Executed 11 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD_SHOWPOST
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (2)bbcode_php
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_box
  • (1)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit_info
  • (1)postbit
  • (1)postbit_onlinestatus
  • (1)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • reputationlevel
  • showthread
Included Files:
  • ./showpost.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
  • showpost_start
  • bbcode_fetch_tags
  • bbcode_create
  • postbit_factory
  • showpost_post
  • 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
  • showpost_complete