hass1980 Posted April 14, 2009 Share Posted April 14, 2009 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>"; } ?> Quote Link to comment https://forums.phpfreaks.com/topic/154119-undefined-variable-and-undefined-index-error/ Share on other sites More sharing options...
wildteen88 Posted April 14, 2009 Share Posted April 14, 2009 $HTTP_*_VARS are depriecated (and are disabled by default) you should use the newer (shorter) superglobal arrays $_GET, $_POST, $_COOKE, $_SERVER, $_SESSION etc Quote Link to comment https://forums.phpfreaks.com/topic/154119-undefined-variable-and-undefined-index-error/#findComment-810162 Share on other sites More sharing options...
hass1980 Posted April 14, 2009 Author Share Posted April 14, 2009 Oh right lol, im new to PHP so i wasnt aware. Possible to correct this for me pls? Quote Link to comment https://forums.phpfreaks.com/topic/154119-undefined-variable-and-undefined-index-error/#findComment-810164 Share on other sites More sharing options...
wildteen88 Posted April 14, 2009 Share Posted April 14, 2009 its simple $HTTP_GET_VARS should be $_GET $HTTP_POST_VARS should be $_POST $HTTP_SESSION_VARS should be $_SESSION etc... You starting to see the pattern? Quote Link to comment https://forums.phpfreaks.com/topic/154119-undefined-variable-and-undefined-index-error/#findComment-810166 Share on other sites More sharing options...
hass1980 Posted April 14, 2009 Author Share Posted April 14, 2009 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(); ?> Quote Link to comment https://forums.phpfreaks.com/topic/154119-undefined-variable-and-undefined-index-error/#findComment-810178 Share on other sites More sharing options...
wildteen88 Posted April 14, 2009 Share Posted April 14, 2009 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? Quote Link to comment https://forums.phpfreaks.com/topic/154119-undefined-variable-and-undefined-index-error/#findComment-810181 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.