vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB3 Programming Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=15)
-   -   some help with code please !! (https://vborg.vbsupport.ru/showthread.php?t=62214)

burnist 03-06-2004 10:15 AM

some help with code please !!
 
Okay, I need some help with this code block. It worked fine on vb2 and now i've upgraded to vb3 it dosn't and im not shure if i missed anything else that needs changed. It is my own version of an itemshop. It takes the users money from the profile field, the cost of the item from the item table then subtracts the cost. Next it pulls the users current item puts a space then the item's id so str replace can be used not to limit the number of items a user can have.

PHP Code:

 if ($action == "buy"){
  
$item $_GET['item'];
  
$itemquery $DB_site->query("SELECT * FROM items WHERE id = '".$item."' ");
  
$iteminfo $DB_site->fetch_array($itemquery);
  if ((
$bbuserinfo["field5"] >= $iteminfo["price"])) {
    
$newmoney = ($bbuserinfo["field5"]-$iteminfo["price"]);
    
$newitems $bbuserinfo['items']." ".$item;
    
$DB_site->query("UPDATE userfield SET field5 = '".$newmoney."' WHERE userid = '".$bbuserinfo['userid']."';");
    
$DB_site->query("UPDATE user SET items = '".$newitems."' WHERE userid = '".$bbuserinfo['userid']."';");
    
$url "shop.php?action=thanks";
    eval(
print_standard_redirect('itemshop_purchaseokay'));
  } else 
eval(
print_standard_error('itemshop_notenough'));


It dosn't produce any parse errors or sql errors either so that all I can tell you about it.

Xenon 03-06-2004 11:59 AM

replace $action with $_REQUEST['action']

burnist 03-06-2004 12:47 PM

it still didn't work.

Heres the whole file just incase there is something in it thats causing the problem and not just in that section
PHP Code:

<?php


// ####################### SET PHP ENVIRONMENT ###########################
error_reporting(E_ALL & ~E_NOTICE);

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

$globaltemplates = array(
'itemshop_chocoboitemhead',
'itemshop_canbuy',
'itemshop_chocoboitembit',
'itemshop_home',
'itemshop_purchaseokay',
'itemshop_notenough'
);

require(
"./global.php");
$show $_GET['show'];


//////////////////display chocobo items///////////////
if (($show]  == "chocobo") OR ($show == "")) {
  
$iteminfo $DB_site->query("SELECT * FROM items WHERE itemtype = 'chocobo' ORDER BY 'id' ASC ");

  eval(
"\$chocoboitemhead .= \"".fetch_template("itemshop_chocoboitemhead")."\";");
  while (
$item $DB_site->fetch_array($iteminfo)){
    if (
$item["itemtype"] == "chocobo") {
      eval(
"\$canbuy .= \"".fetch_template("itemshop_canbuy")."\";");
      eval(
"\$itembits .= \"".fetch_template("itemshop_chocoboitembit")."\";");
    }
  }
  eval(
"print_output(\"".fetch_template("itemshop_home")."\");");
}


//////////////////pay for items///////////////
if ($_REQUEST['action'] == "buy"){
  
$item $_REQUEST['item'];
  
$itemquery $DB_site->query("SELECT * FROM items WHERE id = '".$item."' ");
  
$iteminfo $DB_site->fetch_array($itemquery);
  if ((
$bbuserinfo["field5"] >= $iteminfo["price"])) {
    
$newmoney = ($bbuserinfo["field5"]-$iteminfo["price"]);
    
$newitems $bbuserinfo['items']." ".$item;
    
$DB_site->query("UPDATE userfield SET field5 = '".$newmoney."' WHERE userid = '".$bbuserinfo['userid']."';");
    
$DB_site->query("UPDATE user SET items = '".$newitems."' WHERE userid = '".$bbuserinfo['userid']."';");
    
$url "shop.php?action=thanks";
    eval(
print_standard_redirect('itemshop_purchaseokay'));
  } else 
eval(
print_standard_error('itemshop_notenough'));
}
?>


assassingod 03-06-2004 12:51 PM

Try using:
PHP Code:

if($HTTP_POST_VARS['action']=="buy"


burnist 03-06-2004 12:58 PM

still getting nothing in either table

Xenon 03-06-2004 04:06 PM

are you sure your templates are correct an the action value is set up?

burnist 03-06-2004 04:32 PM

it worked fine on vb 2 and i didn't change anything in it except the template calls and as far as i know, those are working okay expect for the final redirect, which you wouldn't get because its in the action == buy section. Its probobly some simple variable that i've missed or something when changing it to vb3 but i can see what it is

AN-net 03-06-2004 06:55 PM

to make the if statement work right anyways it shouldnt be this:
PHP Code:

  } else 
eval(
print_standard_error('itemshop_notenough')); 

?> 

it should be:
PHP Code:

  
else{
eval(
print_standard_error('itemshop_notenough')); 

?> 


mr e 03-06-2004 08:31 PM

I don't know if this changes anything, but is this supposed to have the ']' in it?
PHP Code:

if (($show]  == "chocobo") OR ($show == "")) { 

shouldn't it be
PHP Code:

if (($show  == "chocobo") OR ($show == "")) { 


burnist 03-07-2004 08:05 AM

okay, at mr e that was an error that got in while moving the file into the php tag on here somehow. and at AN NET it had no effect but, if that was the case the file would have parse errored wouldn't it :S ?


All times are GMT. The time now is 07:02 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.01240 seconds
  • Memory Usage 1,766KB
  • 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
  • (7)bbcode_php_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (10)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