Jump to content

Undefined variable and Undefined index error


hass1980

Recommended Posts

Hi

 

I am getting these two errors Undefined variable and Undefined index displaying on the web page.

 

Notice: Undefined variable: HTTP_GET_VARS in C:\wamp\www\chapter25\show_cat.php on line 6

 

Notice: Undefined index: total_price in C:\wamp\www\chapter25\output_fns.php on line 11

 

Show_cat.php

 

<?php
  include ('book_sc_fns.php');
  // The shopping cart needs sessions, so start one
  session_start();

  $catid = $HTTP_GET_VARS['catid'];
  $name = get_category_name($catid);

  do_html_header($name);

  // get the book info out from db
  $book_array = get_books($catid);

  display_books($book_array);


  // if logged in as admin, show add, delete book links
  if(isset($HTTP_SESSION_VARS['admin_user']))
  {
    display_button('index.php', 'continue', 'Continue Shopping');
    display_button('admin.php', 'admin-menu', 'Admin Menu');
    display_button("edit_category_form.php?catid=$catid", 
     'edit-category', 'Edit Category');
  }
  else
    display_button('index.php', 'continue-shopping', 'Continue Shopping');
  
  do_html_footer();
?>

 

output_fns.php

 


<?php

function do_html_header($title = '')
{
  // print an HTML header

  // declare the session variables we want access to inside the function 
  global $HTTP_SESSION_VARS;
  
  if(!$HTTP_SESSION_VARS['items']) $HTTP_SESSION_VARS['items'] = '0';
  if(!$HTTP_SESSION_VARS['total_price']) $HTTP_SESSION_VARS['total_price'] = '0.00';
?>
  <html>
  <head>
    <title><?php echo $title; ?></title>
    <style>
      h2 { font-family: Arial, Helvetica, sans-serif; font-size: 22px; color = red; margin = 6px }
      body { font-family: Arial, Helvetica, sans-serif; font-size: 13px }
      li, td { font-family: Arial, Helvetica, sans-serif; font-size: 13px }
      hr { color: #FF0000; width=70%; text-align=center}
      a { color: #000000 }
    </style>
  </head>
  <body>
  <table width=100% border=0 cellspacing = 0 bgcolor=#cccccc>
  <tr>
  <td rowspan = 2>
  <a href = "index.php"><img src="images/Book-O-Rama.gif" alt="Bookorama" border=0
       align=left valign=bottom height = 55 width = 325></a>
  </td>
  <td align = right valign = bottom>
  <?php if(isset($HTTP_SESSION_VARS['admin_user']))
       echo ' ';
     else
       echo 'Total Items = '.$HTTP_SESSION_VARS['items']; 
  ?>
  </td>
  <td align = right rowspan = 2 width = 135>
  <?php if(isset($HTTP_SESSION_VARS['admin_user']))
       display_button('logout.php', 'log-out', 'Log Out');
     else
       display_button('show_cart.php', 'view-cart', 'View Your Shopping Cart');
  ?>
  </tr>
  <tr>
  <td align = right valign = top>
  <?php if(isset($HTTP_SESSION_VARS['admin_user']))
       echo ' ';
     else
       echo 'Total Price = $'.number_format($HTTP_SESSION_VARS['total_price'],2); 
  ?>
  </td>
  </tr>
  </table>
<?php
  if($title)
    do_html_heading($title);
}

function do_html_footer()
{
  // print an HTML footer
?>
  </body>
  </html>
<?php
}

function do_html_heading($heading)
{
  // print heading
?>
  <h2><?php echo $heading; ?></h2>
<?php
}

function do_html_URL($url, $name)
{
  // output URL as link and br
?>
  <a href="<?php echo $url; ?>"><?php echo $name; ?></a><br />
<?php
}

function display_categories($cat_array)
{
  if (!is_array($cat_array))
  {
     echo 'No categories currently available<br />';
     return;
  }
  echo '<ul>';
  foreach ($cat_array as $row)
  {
    $url = 'show_cat.php?catid='.($row['catid']);
    $title = $row['catname']; 
    echo '<li>';
    do_html_url($url, $title); 
  }    
  echo '</ul>';
  echo '<hr />';
}

function display_books($book_array)
{
  //display all books in the array passed in
  if (!is_array($book_array))
  {
     echo '<br />No books currently available in this category<br />';
  }
  else
  {
    //create table
    echo '<table width = \"100%\" border = 0>';
    
    //create a table row for each book    
    foreach ($book_array as $row)
    {
      $url = 'show_book.php?isbn='.($row['isbn']);
      echo '<tr><td>';
      if (@file_exists('images/'.$row['isbn'].'.jpg'))
      {
        $title = '<img src=\'images/'.($row['isbn']).'.jpg\' border=0>';
        do_html_url($url, $title);
      }
      else
      {
        echo ' ';
      }
      echo '</td><td>';
      $title =  $row['title'].' by '.$row['author'];
      do_html_url($url, $title);
      echo '</td></tr>';
    }
    echo '</table>';
  }
  echo '<hr />';
}

function display_book_details($book)
{
  // display all details about this book
  if (is_array($book))
  {
    echo '<table><tr>'; 
    //display the picture if there is one 
    if (@file_exists('images/'.($book['isbn']).'.jpg'))
    {
      $size = GetImageSize('images/'.$book['isbn'].'.jpg');
      if($size[0]>0 && $size[1]>0)
        echo '<td><img src=\'images/'.$book['isbn'].'.jpg\' border=0 '.$size[3].'></td>';
    }
    echo '<td><ul>';
    echo '<li><b>Author:</b> ';
    echo $book['author'];
    echo '<li><b>ISBN:</b> ';
    echo $book['isbn'];
    echo '<li><b>Our Price:</b> ';
    echo number_format($book['price'], 2);
    echo '<li><b>Description:</b> ';
    echo $book['description'];
    echo '</ul></td></tr></table>'; 
  }
  else
    echo 'The details of this book cannot be displayed at this time.';
  echo '<hr />';
}

function display_checkout_form()
{
  //display the form that asks for name and address
?>
  <br />
  <table border = 0 width = 100% cellspacing = 0>
  <form action = purchase.php method = post>
  <tr><th colspan = 2 bgcolor="#cccccc">Your Details</th></tr>
  <tr>
    <td>Name</td>
    <td><input type = text name = name value = "" maxlength = 40 size = 40></td>
  </tr>
  <tr>
    <td>Address</td>
    <td><input type = text name = address value = "" maxlength = 40 size = 40></td>
  </tr>
  <tr>
    <td>City/Suburb</td>
    <td><input type = text name = city value = "" maxlength = 20 size = 40></td>
  </tr>
  <tr>
    <td>State/Province</td>
    <td><input type = text name = state value = "" maxlength = 20 size = 40></td>
  </tr>
  <tr>
    <td>Postal Code or Zip Code</td>
    <td><input type = text name = zip value = "" maxlength = 10 size = 40></td>
  </tr>
  <tr>
    <td>Country</td>
    <td><input type = text name = country value = "" maxlength = 20 size = 40></td>
  </tr>
  <tr><th colspan = 2 bgcolor="#cccccc">Shipping Address (leave blank if as above)</th></tr>
  <tr>
    <td>Name</td>
    <td><input type = text name = ship_name value = "" maxlength = 40 size = 40></td>
  </tr>
  <tr>
    <td>Address</td>
    <td><input type = text name = ship_address value = "" maxlength = 40 size = 40></td>
  </tr>
  <tr>
    <td>City/Suburb</td>
    <td><input type = text name = ship_city value = "" maxlength = 20 size = 40></td>
  </tr>
  <tr>
    <td>State/Province</td>
    <td><input type = text name = ship_state value = "" maxlength = 20 size = 40></td>
  </tr>
  <tr>
    <td>Postal Code or Zip Code</td>
    <td><input type = text name = ship_zip value = "" maxlength = 10 size = 40></td>
  </tr>
  <tr>
    <td>Country</td>
    <td><input type = text name = ship_country value = "" maxlength = 20 size = 40></td>
  </tr>
  <tr>
    <td colspan = 2 align = center>
      <b>Please press Purchase to confirm your purchase,
         or Continue Shopping to add or remove items</b> 
     <?php display_form_button('purchase', 'Purchase These Items'); ?>
    </td>
  </tr>
  </form>
  </table><hr />
<?php
}

function display_shipping($shipping)
{
  // display table row with shipping cost and total price including shipping
  global $HTTP_SESSION_VARS;
?>
  <table border = 0 width = 100% cellspacing = 0>
  <tr><td align = left>Shipping</td>
      <td align = right> <?php echo number_format($shipping, 2); ?></td></tr>
  <tr><th bgcolor="#cccccc" align = left>TOTAL INCLUDING SHIPPING</th>
      <th bgcolor="#cccccc" align = right>$<?php echo number_format($shipping+$$HTTP_SESSION_VARS['total_price'], 2); ?></th>
  </tr>
  </table><br />
<?php
}

function display_card_form($name)
{
  //display form asking for credit card details
?>
  <table border = 0 width = 100% cellspacing = 0>
  <form action = process.php method = post>
  <tr><th colspan = 2 bgcolor="#cccccc">Credit Card Details</th></tr>
  <tr>
    <td>Type</td>
    <td><select name = card_type><option>VISA<option>MasterCard<option>American Express</select></td>
  </tr>
  <tr>
    <td>Number</td>
    <td><input type = text name = card_number value = "" maxlength = 16 size = 40></td>
  </tr>
  <tr>
    <td>AMEX code (if required)</td>
    <td><input type = text name = amex_code value = "" maxlength = 4 size = 4></td>
  </tr>
  <tr>
    <td>Expiry Date</td>
    <td>Month <select name = card_month><option>01<option>02<option>03<option>04<option>05<option>06<option>07<option>08<option>09<option>10<option>11<option>12</select>
    Year <select name = card_year><option>00<option>01<option>02<option>03<option>04<option>05<option>06<option>07<option>08<option>09<option>10</select></td>
  </tr>
  <tr>
    <td>Name on Card</td>
    <td><input type = text name = card_name value = "<?php echo $name; ?>" maxlength = 40 size = 40></td>
  </tr>
  <tr>
    <td colspan = 2 align = center>
      <b>Please press Purchase to confirm your purchase,
         or Continue Shopping to add or remove items</b>
     <?php display_form_button('purchase', 'Purchase These Items'); ?>
    </td>
  </tr>
  </table>
<?php
}



function display_cart($cart, $change = true, $images = 1)
{
  // display items in shopping cart
  // optionally allow changes (true or false)
  // optionally include images (1 - yes, 0 - no)

  global $HTTP_SESSION_VARS;

  echo '<table border = 0 width = 100% cellspacing = 0>
        <form action = show_cart.php method = post>
        <tr><th colspan = '. (1+$images) .' bgcolor="#cccccc">Item</th>
        <th bgcolor="#cccccc">Price</th><th bgcolor="#cccccc">Quantity</th>
        <th bgcolor="#cccccc">Total</th></tr>';

  //display each item as a table row
  foreach ($cart as $isbn => $qty)
  {
    $book = get_book_details($isbn);
    echo '<tr>';
    if($images ==true)
    {
      echo '<td align = left>';
      if (file_exists("images/$isbn.jpg"))
      {
         $size = GetImageSize('images/'.$isbn.'.jpg');  
         if($size[0]>0 && $size[1]>0)
         {
           echo '<img src="images/'.$isbn.'.jpg" border=0 ';
           echo 'width = '. $size[0]/3 .' height = ' .$size[1]/3 . '>';
         }
      }
      else
         echo ' ';
      echo '</td>';
    }
    echo '<td align = left>';
    echo '<a href = "show_book.php?isbn='.$isbn.'">'.$book['title'].'</a> by '.$book['author'];
    echo '</td><td align = center>$'.number_format($book['price'], 2);
    echo '</td><td align = center>';
    // if we allow changes, quantities are in text boxes
    if ($change == true)
      echo "<input type = text name = \"$isbn\" value = \"$qty\" size = 3>";
    else
      echo $qty;
    echo '</td><td align = center>$'.number_format($book['price']*$qty,2)."</td></tr>\n";
  }
  // display total row
  echo '<tr>
          <th colspan = '. (2+$images) ." bgcolor=\"#cccccc\"> </td>
          <th align = center bgcolor=\"#cccccc\"> 
              ".$HTTP_SESSION_VARS['items']."
          </th>
          <th align = center bgcolor=\"#cccccc\">
              \$".number_format($HTTP_SESSION_VARS['total_price'], 2).
          '</th>
        </tr>';
  // display save change button
  if($change == true)
  {
    echo '<tr>
            <td colspan = '. (2+$images) .'> </td>
            <td align = center>
              <input type = hidden name = save value = true>  
              <input type = image src = "images/save-changes.gif" 
                     border = 0 alt = "Save Changes">
            </td>
            <td> </td>
        </tr>';
  }
  echo '</form></table>';
}

function display_login_form()
{
  // dispaly form asking for name and password
?>
  <form method=post action="admin.php">
  <table bgcolor=#cccccc>
   <tr>
     <td>Username:</td>
     <td><input type=text name=username></td></tr>
   <tr>
     <td>Password:</td>
     <td><input type=password name=passwd></td></tr>
   <tr>
     <td colspan=2 align=center>
     <input type=submit value="Log in"></td></tr>
   <tr>
</table></form>
<?php
}

function display_admin_menu()
{
?>
<br />
<a href="index.php">Go to main site</a><br />
<a href="insert_category_form.php">Add a new category</a><br />
<a href="insert_book_form.php">Add a new book</a><br />
<a href="change_password_form.php">Change admin password</a><br />
<?php

}

function display_button($target, $image, $alt)
{
  echo "<center><a href=\"$target\"><img src=\"images/$image".".gif\" 
           alt=\"$alt\" border=0 height = 50 width = 135></a></center>";
}

function display_form_button($image, $alt)
{
  echo "<center><input type = image src=\"images/$image".".gif\" 
           alt=\"$alt\" border=0 height = 50 width = 135></center>";
}

?>

Link to comment
Share on other sites

Yes thanks, have done that.. now got another problem now with the index.php. Showing me this error now.

 

Fatal error: Call to undefined function do_html_header() in C:\wamp\www\chapter25\index.php on line 5

 


<?php
include ('book_sc_fns.php');
// The shopping cart needs sessions, so start one
session_start();
do_html_header("Welcome to Book-O-Rama");
echo "<p>Please choose a category:</p>";
// get categories out of database
$cat_array = get_categories();
// display as links to cat pages
display_categories($cat_array);
// if logged in as admin, show add, delete, edit cat links
if(isset($_SESSION['admin_user'])) {
display_button("admin.php", "admin-menu", "Admin Menu");
}
do_html_footer();
?>

Link to comment
Share on other sites

Looking at your original post do_html_header() is defined in output_fns.php. With the code you posted above I do not see a like

include 'output_fns.php';

 

If you do not include that file PHP wont be able to call your function. Or is that line in book_sc_fns.php?

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.