471,594 Members | 1,711 Online
Bytes | Software Development & Data Engineering Community
Post +

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 471,594 software developers and data experts.

Not passing correct value into shopping cart (wish list)

Hi all, New to posting on this forum and trying to get my add page to wish list working correctly.

Passing the code and type variables through to this page and echos fine. But when trying to add my database results into an array I am getting the Resource id #4. The code I am using is below without the dasebase password.

Expand|Select|Wrap|Line Numbers
  1. <?php
  2. include 'session.php';
  3. $con = mysql_connect("94.136.61.138", "xxxxx", "xxxx");
  4. setcookie ('basket', $cart);
  5.  
  6. if (isset ($_POST["code"])) $code = mysql_real_escape_string($_POST["code"]);
  7. if (isset ($_POST["type"])) $type = mysql_real_escape_string($_POST["type"]);
  8.  
  9. $dbcode = $_POST["code"];
  10. $dbtable = $_POST["type"];
  11. echo "table =" .$dbtable;
  12. echo "<br>";
  13. echo "code = ".$dbcode;
  14.  
  15.     $query = mysql_db_query("xxxxxxx", "select smalltitle, smallimage, alt_small_img, costprice from $dbtable where pagelocation = '$dbcode'");
  16.     echo mysql_error();
  17.     while ($row = mysql_fetch_row($query)){
  18.     echo $row[0];
  19.  
  20.         for ($z=0; $z<count($code); $z++){
  21.             $shoppinglist[] = array(($code[$z][1] /$row[1]) ,$row[0], $row[1], 0);
  22.  
  23.         }
  24.  
  25. }
  26. for ($i=0; $i<count($shoppinglist); $i++){
  27.     addel($shoppinglist[$i][0], $shoppinglist[$i][1], $shoppinglist[$i][2], $shoppinglist[$i][3]);
  28. }
  29.  
  30. echo $query;
  31. //echo $shoppinglist;
  32.  
  33.  
  34.  
  35. //header("location:wish_list.php"); 
  36. ?>
--------

Any help with this would be great.

To see the results of this you can look at the page

LINK REMOVED FOR USER SAFETY.

Many thanks and hope this is easy to sort as I have try changing lots of things, but always come out with this error or before an Array error.

Thanks

whiskyman
Feb 13 '10 #1
5 1768
Atli
5,058 Expert 4TB
Hey.

The echo on line #30 is generating the "Resource id #" output. It is what you get when you echo the return values of functions that return resources, rather than actual variables. - These include functions like mysql_connect and mysql_query.

Those return values are not meant to be used directly, but to be used by other functions to fetch values from external resources.

P.S.
You should avoid using the mysql_db_query function. Using the mysql_select_db and mysql_query separately is recommended instead. (The mysql_db_query function is deprecated in 5.3, and removed in 6.0)
Feb 13 '10 #2
Hi Atli and thank you for your message back.

I have changed that code and taken away the echos. I now get the cart going right through to the next page and displays the value Array now. you can see this by clicking the link below again. Nothing appears in the cart. Im sure my session.php code is correct, but I have listed it below and added the include session.php code to every page.

Expand|Select|Wrap|Line Numbers
  1. <?php
  2.       session_start(); 
  3.     session_name('cartdetails');
  4.     $private_id = session_id();
  5.     $privateKey = $_SESSION['pr_key'];
  6.     $IPADDRESS = $_SERVER['REMOTE_ADDR']; 
  7.  
  8.  
  9.     if (!isset($_SESSION["cart"])){
  10.         $_SESSION["cart"] = array();
  11.         $_SESSION["partof"] = 0;
  12.     }
  13.  
  14.     function wishlist($type, $code){
  15.         $tmp = $_SESSION["cart"];
  16.         $is = false;        
  17.         for ($i=0; $i<count($tmp); $i++){
  18.             if (($tmp[$i][1] == $code)){
  19.                 $is = true;
  20.                 $tmp[$i][0] = $tmp[$i][0] + $no;
  21.                 break;
  22.             }
  23.         }
  24.         if ($is==false){
  25.             $tmp[] = array($type, $code);
  26.         }
  27.         $_SESSION["cart"] = $tmp;
  28.     }
  29.  
  30. ?>
Any other help you have on this would be excellent.
Feb 14 '10 #3
Markus
6,050 Expert 4TB
Hey, Whiskeyman. Welcome to Bytes.com.

Firstly, in future could you, when posting code, wrap the code in [code] ... [/code] tags. This formats the code making it easier to read and, thus, debug.

Second, to your problem. The reason you see "Array" when trying to output the session data is because you need to access specific indexes of the array, just like you would any other array. As you are not using strings for your indexes, you'll access them numerically (in this case 0 for $type and 1 for $code).

Expand|Select|Wrap|Line Numbers
  1. printf('Type is: %s<br />Code is: %s', $_SESSION['cart'][0], $_SESSION['cart'][1]);
  2.  
Marl/
Feb 14 '10 #4
Hi Markus and thanks for your help there. I am still struggling to get this working. We keep changing things and hopefully I will get there. Thanks again and any other suggestings would be great. It really the first time I have done a session cookie and just getting my head round it.

Thanks again and I will make sure next time I put code into this forum I will put the tags in.

Alan
Feb 14 '10 #5
numberwhun
3,503 Expert Mod 2GB
Hello! I removed your link from your thread, but not for spam purposes. The reason is because if you go to the link, it seems that the site is questionable in the browsers I tried it in. This could be caused by the SSL cert being bad or that the site is an IP but resolves to a .ru URL.

Either way, please make sure the that links you post are safe and resolve correctly. Thank you!

Regards,

Jeff
Feb 14 '10 #6

Post your reply

Sign in to post your reply or Sign up for a free account.

Similar topics

2 posts views Thread by Don Grover | last post: by
1 post views Thread by Jia Sun | last post: by
1 post views Thread by MickG | last post: by
2 posts views Thread by G.E.M.P | last post: by
1 post views Thread by Harlan Messinger | last post: by
reply views Thread by leo001 | last post: by

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.