c# pdfsharp pdf to image : Add submit button to pdf form Library control component .net web page winforms mvc 05-welling-php-mysql-web63-part113

597
Implementing the Shopping Cart
Figure 27.7 The 
show_cart.php
script with the new parameter adds a
new item to the cart.
In addition,the user can click the Go to Checkout button when she is ready to leave.
We come back to that shortly.
For now,let’s look at the code for the 
show_cart.php
script.This code is shown in
Listing 27.9.
Listing 27.9 show_cart.php— Script That Controls the Shopping Cart
<?php
require (‘book_sc_fns.php’);
// The shopping cart needs sessions, so start one
session_start();
@ $new = $_GET[‘new’];
if($new)
{
//new item selected
if(!isset($_SESSION[‘cart’]))
{
$_SESSION[‘cart’] = array();
$_SESSION[‘items’] = 0;
$_SESSION[‘total_price’] =’0.00’;
}
Add submit button to pdf form - C# PDF Field Edit Library: insert, delete, update pdf form field in C#.net, ASP.NET, MVC, Ajax, WPF
Online C# Tutorial to Insert, Delete and Update Fields in PDF Document
adding signature to pdf form; create a pdf form that can be filled out
Add submit button to pdf form - VB.NET PDF Field Edit library: insert, delete, update pdf form field in vb.net, ASP.NET, MVC, Ajax, WPF
How to Insert, Delete and Update Fields in PDF Document with VB.NET Demo Code
chrome save pdf with fields; create pdf forms
598
Chapter 27 Building a Shopping Cart
if(isset($_SESSION[‘cart’][$new]))
$_SESSION[‘cart’][$new]++;
else
$_SESSION[‘cart’][$new] = 1;
$_SESSION[‘total_price’] = calculate_price($_SESSION[‘cart’]);
$_SESSION[‘items’] = calculate_items($_SESSION[‘cart’]);
}
if(isset($_POST[‘save’]))
{
foreach ($_SESSION[‘cart’] as $isbn => $qty)
{
if($_POST[$isbn]==’0’)
unset($_SESSION[‘cart’][$isbn]);
else
$_SESSION[‘cart’][$isbn] = $_POST[$isbn];
}
$_SESSION[‘total_price’] = calculate_price($_SESSION[‘cart’]);
$_SESSION[‘items’] = calculate_items($_SESSION[‘cart’]);
}
do_html_header(‘Your shopping cart’) ;
if($_SESSION[‘cart’]&&array_count_values($_SESSION[‘cart’]))
display_cart($_SESSION[‘cart’]);
else
{
echo ‘<p>There are no items in your cart</p>’;
echo ‘<hr />’;
}
$target = ‘index.php’;
// if we have just added an item to the cart
// continue shopping in that category
if($new)
{
$details =  get_book_details($new);
if($details[‘catid’])
$target = ‘show_cat.php?catid=’.$details[‘catid’];
}
Listing 27.9 Continued 
C# Image: Tutorial for Collaborating, Marking & Annotating
to create a client capture application to submit a multi a button (which is called a server button) onto your load the TIFF image first before you add the code
add attachment to pdf form; change font size pdf form reader
C# Image: C# Code to Upload TIFF File to Remote Database by Using
refer to following detailed procedures to submit the captured need to save the ImageUploadService file, add a web Create a new button in the ToolStrip named
pdf form save in reader; acrobat create pdf form
599
Implementing the Shopping Cart
display_button($target, ‘continue-shopping’, ‘Continue Shopping’);
// use this if SSL is set up
// $path = $_SERVER[‘PHP_SELF’];
// $server = $_SERVER[‘SERVER_NAME’];
// $path = str_replace(‘show_cart.php’, ‘’, $path);
// display_button(‘https://’.$server.$path.’checkout.php’,
//                  ‘go-to-checkout’, ‘Go To Checkout’);
// if no SSL use below code
display_button(‘checkout.php’, ‘go-to-checkout’, ‘Go To Checkout’);
do_html_footer();
?>
This script has three main parts:displaying the cart,adding items to the cart,and saving
changes to the cart.We cover these parts in the next three sections.
Viewing the Cart
No matter which page you come from,you display the contents of the cart. In the base
case,when a user has just clicked View Cart, the only part of the code that will be exe-
cuted follows:
if($_SESSION[‘cart’]&&array_count_values($_SESSION[‘cart’]))
display_cart($_SESSION[‘cart’]);
else
{
echo ‘<p>There are no items in your cart</p>’;
echo ‘<hr />’;
}
As you can see from this code, if you have a cart with some contents,you will call the
display_cart()
function. If the cart is empty, you’ll give the user a message to that
effect.
The 
display_cart()
function just prints the contents of the cart as a readable
HTML format,as you can see in Figures 27.6 and 27.7.The code for this function can
be found in 
output_fns.php
,which is included here as Listing 27.10.Although it is a
display function,it is reasonably complex,so we chose to include it here.
Listing 27.9 Continued 
C# Image: Tutorial for Document Viewing & Displaying in ASP.NET
have built a capture client to submit documents to No-Postback Navigation Controls to Viewer. Add two HTML Double-clicking on a button adds its event handler in
add submit button to pdf form; pdf form save with reader
600
Chapter 27 Building a Shopping Cart
Listing 27.10 display_cart() Function from output_fns.php—Function That
Formats and Prints the Contents of the Shopping Cart
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)
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 ‘&nbsp;’;
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
601
Implementing the Shopping Cart
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\”>&nbsp;</td>
<th align = \”center\” bgcolor=\”#cccccc\”> 
“.$_SESSION[‘items’].”
</th>
<th align = \”center\” bgcolor=\”#cccccc\”>
\$”.number_format($_SESSION[‘total_price’], 2).
‘</th>
</tr>’;
// display save change button
if($change == true)
{
echo ‘<tr>
<td colspan = ‘. (2+$images) .’>&nbsp;</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>&nbsp;</td>
</tr>’;
}
echo ‘</form></table>’;
}
The basic flow of this function is as follows:
1. Loop through each item in the cart and pass the ISBN of each item to
get_book_details()
so that you can summarize the details of each book.
2. Provide an image for each book,if one exists.Use the HTML image height and
width tags to resize the image a little smaller here.This means that the images will
be a little distorted,but they are small enough that this isn’t much of a problem.(If
the distortion bothers you,you can always resize the images using the gd library
discussed in Chapter 21,“Generating Images,” or manually generate different-size
images for each product.)
3. Make each cart entry a link to the appropriate book—that is,to 
show_book.php
with the ISBN as a parameter.
Listing 27.10 Continued 
602
Chapter 27 Building a Shopping Cart
4. If you are calling the function with the 
change
parameter set to 
true
(or not set—
it defaults to 
true
),show the boxes with the quantities in them as a form with the
Save Changes button at the end.(When you reuse this function after checking
out,you don’t want the user to be able to change her order.)
Nothing is terribly complicated in this function,but it does quite a lot of work,so you
might find reading it through carefully to be useful.
Adding Items to the Cart
If a user has come to the 
show_cart.php
page by clicking an Add to Cart button,you
have to do some work before you can show her the contents of her cart. Specifically,you
need to add the appropriate item to the cart,as follows.
First, if the user has not put any items in her cart before,she will not have a cart, so
you need to create one:
if(!isset($_SESSION[‘cart’]))
{
$_SESSION[‘cart’] = array();
$_SESSION[‘items’] = 0;
$_SESSION[‘total_price’] =’0.00’;
}
To begin with,the cart is empty.
Second,after you know that a cart is set up, you can add the item to it:
if(isset($_SESSION[‘cart’][$new]))
$_SESSION[‘cart’][$new]++;
else
$_SESSION[‘cart’][$new] = 1;
Here, you check whether the item is already in the cart.If it is,you increment the quan-
tity of that item in the cart by one. If not,you add the new item to the cart.
Third,you need to work out the total price and number of items in the cart. For this,
you use the 
calculate_price()
and 
calculate_items()
functions,as follows:
$_SESSION[‘total_price’] = calculate_price($_SESSION[‘cart’]);
$_SESSION[‘items’] = calculate_items($_SESSION[‘cart’]);
These functions are located in the 
book_fns.php
function library.The code for them is
shown in Listings 27.11 and 27.12,respectively.
Listing 27.11 calculate_price() Function from book_fns.php— Function That
Calculates and Returns the Total Price of the Contents of the Shopping Cart
function calculate_price($cart)
{
603
Implementing the Shopping Cart
// sum total price for all items in shopping cart
$price = 0.0;
if(is_array($cart))
{
$conn = db_connect();
foreach($cart as $isbn => $qty)
{
$query = “select price from books where isbn=’$isbn’”;
$result = $conn->query($query);
if ($result)
{
$item = $result->fetch_object();
$item_price = $item->price;
$price +=$item_price*$qty;
}
}
}
return $price;
}
As you can see, the 
calculate_price()
function works by looking up the price of each
item in the cart in the database.This process is somewhat slow,so to avoid doing this
more often than you need to,you store the price (and the total number of items,as well)
as session variables and recalculate only when the cart changes.
Listing 27.12 calculate_items() Function from book_fns.php—Function That
Calculates and Returns the Total Number of Items in the Shopping Cart
function calculate_items($cart)
{
// sum total items in shopping cart
$items = 0;
if(is_array($cart))
{
$items=array_sum($cart);
}
return $items;
}
The 
calculate_items()
function is simpler;it just goes through the cart and adds the
quantities of each item to get the total number of items using the 
array_sum()
func-
tion.If there’s not yet an array (if the cart is empty),it just returns 0 (zero).
Listing 27.11 Continued 
604
Chapter 27 Building a Shopping Cart
Saving the Updated Cart
If the user comes to the 
show_cart.php
script by clicking the Save Changes button,the
process is a little different.In this case,the user has arrived via a form submission.If you
look closely at the code,you will see that the Save Changes button is the submit button
for a form.This form contains the hidden variable 
save
.If this variable is set,you know
that you have come to this script from the Save Changes button.This means that the
user has presumably edited the quantity values in the cart,and you need to update them.
If you look back at the text boxes in the Save Changes form part of the script,you
will see that they are named after the ISBN of the item that they represent,as follows:
echo ‘<input type=”text” name=”$isbn” value=”$qty” size=”3”>’;
Now look at the part of the script that saves the changes:
if(isset($_POST[‘save’]))
{
foreach ($_SESSION[‘cart’] as $isbn => $qty)
{
if($_POST[$isbn]==’0’)
unset($_SESSION[‘cart’][$isbn]);
else
$_SESSION[‘cart’][$isbn] = $_POST[$isbn];
}
$_SESSION[‘total_price’] = calculate_price($_SESSION[‘cart’]);
$_SESSION[‘items’] = calculate_items($_SESSION[‘cart’]);
}
Here, you work your way through the shopping cart,and for each 
isbn
in the cart,you
check the 
POST
variable with that name.These variables are the form fields from the
Save Changes form.
If any of the fields are set to zero,you remove that item from the shopping cart alto-
gether,using 
unset()
.Otherwise,you update the cart to match the form fields,as fol-
lows:
if($_POST[$isbn]==’0’)
unset($_SESSION[‘cart’][$isbn]);
else
$_SESSION[‘cart’][$isbn] = $_POST[$isbn];
After these updates,you again use 
calculate_price()
and 
calculate_items()
to
work out the new values of the 
total_price 
and 
items
session variables.
Printing a Header Bar Summary
In the header bar of each page in the site,a summary of what’s in the shopping cart is
presented.This summary is obtained by printing out the values of the session variables
total_price
and 
items
.This is done in the 
do_html_header()
function.
605
Implementing the Shopping Cart
These variables are registered when the user first visits the 
show_cart.php
page.You
also need some logic to deal with the cases in which a user has not yet visited that page.
This logic is also included in the d
o_html_heaader()
function:
if(!$_SESSION[‘items’]) $_SESSION[‘items’] = ‘0’;
if(!$_SESSION[‘total_price’]) $_SESSION[‘total_price’] = ‘0.00’;
Checking Out
When the user clicks the Go to Checkout button from the shopping cart,this action
activates the 
checkout.php
script.The checkout page and the pages behind it should be
accessed via the Secure Sockets Layer (SSL),but the sample application does not force
you to do this.(To read more about SSL,review Chapter 17,“Implementing Secure
Transactions with PHP and MySQL.”)
The checkout page is shown in Figure 27.8.
Figure 27.8 The 
checkout.php
script gets the customer’s details.
This script requires the customer to enter her address (and shipping address if it is differ-
ent).It is quite a simple script,which you can see by looking at the code in Listing 27.13.
Listing 27.13 checkout.php— Script That Gets the Customer Details
<?php
//include our function set
require (‘book_sc_fns.php’);
606
Chapter 27 Building a Shopping Cart
// The shopping cart needs sessions, so start one
session_start();
do_html_header(‘Checkout’);
if($_SESSION[‘cart’]&&count($_SESSION[‘cart’]))
{
display_cart($_SESSION[‘cart’], false, 0);
display_checkout_form();
}
else
echo ‘<p>There are no items in your cart</p>’;
display_button(‘show_cart.php’, ‘continue-shopping’, ‘Continue Shopping’);
do_html_footer();
?>
There are no great surprises in this script.If the cart is empty,the script will notify the
customer;otherwise,it will display the form shown in Figure 27.8.
If a user continues by clicking the Purchase button at the bottom of the form,she will
be taken to the 
purchase.php
script.You can see the output of this script in Figure 27.9.
Figure 27.9 The 
purchase.php
script calculates shipping and the final
order total and gets the customer’s payment details.
Listing 27.13 Continued 
Documents you may be interested
Documents you may be interested