vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB3 Programming Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=15)
-   -   Newbie Question (https://vborg.vbsupport.ru/showthread.php?t=117664)

sambah 06-05-2006 12:21 AM

Newbie Question
 
I've decided to make a fantasy football/sports mod for vb 3.5.4

I'm quite new to php and a complete novice with vb.

First stage went ok. Users can now register for the fantasy football league. Now I'm onto the main page.

What I'm trying to do with this code is tell users who havn't signed up for the league yet to go to the signup page, and users who have should proceed to the main page.

Code:

// ############################# START MAIN PAGE ###############################

// Check whether the user has registered for the game
if (!$vbulletin->GPC['do'])
{
        if ($db->query_first("SELECT * FROM footy_registration WHERE userid != " . $vbulletin->userinfo[userid] . ""))
        {
                standard_error(fetch_error('footy_youneedtoregister'));
        }
                else
        {
                eval('print_output("' . fetch_template('footy_main') . '");');
        }
}

This code in theory should check whether their userid from the vb userinfo table is present and matches their userid in the game registration table.

Unfortunately it doesn't work. Even if they have signed up it still displays the younneedtoregister message :(

Any ideas?

Sorry:

PHP Version: 5.1.4
SQL: 4.1.19

Adrian Schneider 06-05-2006 01:01 AM

Your query was a little off (in logic, anyway). You were checking if there are any results from the registration table where the userid isn't the current user. If there are any registrations, this is always true.

I changed it so it checks if there isn't (actually if there is, then adding a ! in front of the whole condition so its the opposite) any registrations for the given user. Also, you should quote array keys if they are strings, because if 'userid' is a defined constant, you will run into problems.
PHP Code:

// ############################# START MAIN PAGE ###############################

// Check whether the user has registered for the game
if (!$vbulletin->GPC['do'])
{
    if (!
$db->query_first("SELECT * FROM footy_registration WHERE userid = " $vbulletin->userinfo['userid'] . ""))
    {
        
standard_error(fetch_error('footy_youneedtoregister'));
    }
    else
    {
        eval(
'print_output("' fetch_template('footy_main') . '");');
    }



sambah 06-05-2006 01:05 AM

Aha. Thankyou very much sir :)

Adrian Schneider 06-05-2006 01:06 AM

It might be easier (to understand at a simple glance) if you get rid of the ! in front of the $db->query_first(), then switch the standard error with the print_output.


All times are GMT. The time now is 10:10 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.03726 seconds
  • Memory Usage 1,719KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)bbcode_code_printable
  • (1)bbcode_php_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (4)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.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/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • printthread_start
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete