Go Back   vb.org Archive > vBulletin 3 Discussion > vB3 General Discussions
FAQ Community Calendar Today's Posts Search

 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
  #13  
Old 07-14-2004, 06:54 AM
Andreas's Avatar
Andreas Andreas is offline
 
Join Date: Jan 2004
Location: Germany
Posts: 6,863
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

First of all, you should specify a default action:

PHP Code:
if (!$_REQUEST['do']) {
  
$_REQUEST['do'] = 'update';

Furtheremore, vB3 (this is for Vb3, right?) does always use do= for actions, so you should also use this:

PHP Code:
if ($_REQUEST['do'] == "update")

Then, if this hack is not just for yourself but for release you should keep in mind ppl using table prefixes:
PHP Code:
$excludedforums=$DB_site->query_first("SELECT excludedforums FROM" TABLE_PREFIX "topx_admin WHERE topx_adminid = '1'"); 
You must also use the same column name as in your table when you use print_input_row:

PHP Code:
print_input_row("Forums to exclude"'exclude_forums'$excludedforums['excludedforums']); 

As already stated above, you must always quote strings from a form or URL, as otherwise this will be a high security risk:

PHP Code:
$DB_site->query("UPDATE " TABLE_PREFIX "topx_admin SET excludedforums='" addslashes($_POST['exclude_forums']) . "' WHERE topx_adminid = '1'"); 
PHP Code:
define('CP_REDIRECT''topxadmin.php?do=update'); 
Once again, you should use do= here.

As a last thing, your script is missing print_cp_footer();

Here is the whole script (topxadmin.php in admincp directory):
PHP Code:
<?php

// ######################### ERROR REPORTING #############################
error_reporting(E_ALL & ~E_NOTICE);

// #################### DEFINE IMPORTANT CONSTANTS #######################
define('NO_REGISTER_GLOBALS'1);
define('GET_EDIT_TEMPLATES'true);
define('THIS_SCRIPT''topxadmin');

require_once(
'./global.php');
require_once(
'./includes/functions_misc.php');

print_cp_header('Top X Admin');

if (!
$_REQUEST['do']) {
  
$_REQUEST['do'] = 'update';
}

// ###################### Edit Settings ########################
if ($_REQUEST['do'] == "update")
{
  
$excludedforums $DB_site->query_first("SELECT excludedforums FROM " TABLE_PREFIX "topx_admin WHERE topx_adminid = '1'");

  
print_form_header('topxadmin''do_update_topxsetting');
  
print_table_header("Top X Settings");
  
print_input_row("Forums to exclude"'exclude_forums'$excludedforums['excludedforums']);
  
print_submit_row("Update Top X Settings"0);
}

if (
$_POST['do'] == "do_update_topxsetting")
{
  
$DB_site->query("UPDATE " TABLE_PREFIX "topx_admin SET excludedforums='" addslashes($_POST['exclude_forums']) . "' WHERE topx_adminid = '1'");

  
define('CP_REDIRECT''topxadmin.php?do=update');
  
print_stop_message('excluded_forums_updated');
}

print_cp_footer();

?>
This does work for me, given your table looks like that:
[sql]
CREATE TABLE `topx_admin` (
`topx_adminid` int(10) unsigned NOT NULL auto_increment,
`excludedforums` varchar(255) NOT NULL default '',
PRIMARY KEY (`topx_adminid`)
) TYPE=MyISAM AUTO_INCREMENT;
[/sql]
Reply With Quote
 


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 07:57 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.04487 seconds
  • Memory Usage 2,739KB
  • Queries Executed 12 (?)
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
  • (11)bbcode_code
  • (16)bbcode_php
  • (4)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (14)post_thanks_box
  • (14)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (14)post_thanks_postbit_info
  • (14)postbit
  • (14)postbit_onlinestatus
  • (14)postbit_wrapper
  • (1)showthread_list
  • (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_threadedmode.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_threaded
  • showthread_threaded_construct_link
  • 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
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete