PHP: Form is not sending data correctly
up vote
0
down vote
favorite
Here is the website I am creating: http://cosc304.ok.ubc.ca/20647160/304_lab7/listprod.php
http://cosc304.ok.ubc.ca/20647160/304_lab7/showcart.php
I have never used PHP before, any guidance would be helpful. The code below showcases a website that is supposed to add to a cart but currently in the show cart there is a weird space between the first product and second product. It is not adding correctly. The first page list the products, the second link shows their cart.
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Raph & Mishal's Grocery</title>
</head>
<body>
<h1>Search for the products you want to buy:</h1>
<form method="get" action="listprod.php">
<input type="text" name="productName" size="50">
<input type="submit" value="Submit"><input type="reset" value="Reset"> (Leave blank for all products)
</form>
<?php
/** If you're developing locally on WINDOWS, uncomment the following line **/
//include 'includemoney_format_windows.php';
include 'include/db_credentials.php';
/** Get product name to search for **/
if (isset($_GET['productName'])){
$name = $_GET['productName'];
}
/** $name now contains the search string the user entered
Use it to build a query and print out the results. **/
/** Create and validate connection **/
global $username;
global $password;
global $database;
global $server;
global $connectionInfo;
$con = sqlsrv_connect($server, $connectionInfo);
if( $con === false ) {
die( print_r( sqlsrv_errors(), true));
}
/** Print out the ResultSet **/
$sql = "SELECT productId, productName,price FROM product";
// $preparepreparedStatement =null;
$name =null;
if(isset($_GET['productName'])){
$name = $_GET[urlencode('productName')];
$sql = $sql ." WHERE productName LIKE ?";
$name = "%". $name. "%";
//$preparedStatement = sqlsrv_prepare($con, $sql,$pName);
}
$results = sqlsrv_query($con, $sql, array($name));
echo("<table><tr><th></th><th>ProductName</th><th>Price</th></tr>");
while ($row = sqlsrv_fetch_array( $results, SQLSRV_FETCH_ASSOC )) {
echo( "<tr><td><a href=addcart.php?id=".$row['productId']."&name=".$row['productName']."&price=".$row['price'].">Add to Cart</h></td><td>" . $row['productName'] . "</td><td>" . $row['price'] . "</td></tr>");
}
echo("</table>");
sqlsrv_close( $con );
/**
For each product create a link of the form
addcart.php?id=<productId>&name=<productName>&price=<productPrice>
Note: As some product names contain special characters, you may need to encode URL parameter for product name like this: urlencode($productName)
**/
?>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<title>Your Shopping Cart</title>
</head>
<body>
<?php
// include 'include/money_format_windows.php'; //Only required on windows PCs
// Get the current list of products
session_start();
$productList = null;
if (isset($_SESSION['productList'])){
$productList = $_SESSION['productList'];
echo("<h1>Your Shopping Cart</h1>");
echo("<table><tr><th>Product Id</th><th>Product Name</th><th>Quantity</th>");
echo("<th>Price</th><th>Subtotal</th></tr>");
$total =0;
foreach ($productList as $id => $prod) {
echo("<tr><td>". $prod['id'] . "</td>");
echo("<td>" . $prod['name'] . "</td>");
echo("<td align="center">". $prod['quantity'] . "</td>");
$price = $prod['price'];
echo("<td align="right">".str_replace("USD","$",money_format('%i',$price))."</td>");
echo("<td align="right">" . str_replace("USD","$",money_format('%i',$prod['quantity']*$price)) . "</td></tr>");
echo("</tr>");
$total = $total +$prod['quantity']*$price;
}
echo("<tr><td colspan="4" align="right"><b>Order Total</b></td><td align="right">".str_replace("USD","$",money_format('%i',$total))."</td></tr>");
echo("</table>");
echo("<h2><a href="checkout.php">Check Out</a></h2>");
} else{
echo("<H1>Your shopping cart is empty!</H1>");
}
?>
<h2><a href="listprod.php">Continue Shopping</a></h2>
</body>
</html>
php html sql
add a comment |
up vote
0
down vote
favorite
Here is the website I am creating: http://cosc304.ok.ubc.ca/20647160/304_lab7/listprod.php
http://cosc304.ok.ubc.ca/20647160/304_lab7/showcart.php
I have never used PHP before, any guidance would be helpful. The code below showcases a website that is supposed to add to a cart but currently in the show cart there is a weird space between the first product and second product. It is not adding correctly. The first page list the products, the second link shows their cart.
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Raph & Mishal's Grocery</title>
</head>
<body>
<h1>Search for the products you want to buy:</h1>
<form method="get" action="listprod.php">
<input type="text" name="productName" size="50">
<input type="submit" value="Submit"><input type="reset" value="Reset"> (Leave blank for all products)
</form>
<?php
/** If you're developing locally on WINDOWS, uncomment the following line **/
//include 'includemoney_format_windows.php';
include 'include/db_credentials.php';
/** Get product name to search for **/
if (isset($_GET['productName'])){
$name = $_GET['productName'];
}
/** $name now contains the search string the user entered
Use it to build a query and print out the results. **/
/** Create and validate connection **/
global $username;
global $password;
global $database;
global $server;
global $connectionInfo;
$con = sqlsrv_connect($server, $connectionInfo);
if( $con === false ) {
die( print_r( sqlsrv_errors(), true));
}
/** Print out the ResultSet **/
$sql = "SELECT productId, productName,price FROM product";
// $preparepreparedStatement =null;
$name =null;
if(isset($_GET['productName'])){
$name = $_GET[urlencode('productName')];
$sql = $sql ." WHERE productName LIKE ?";
$name = "%". $name. "%";
//$preparedStatement = sqlsrv_prepare($con, $sql,$pName);
}
$results = sqlsrv_query($con, $sql, array($name));
echo("<table><tr><th></th><th>ProductName</th><th>Price</th></tr>");
while ($row = sqlsrv_fetch_array( $results, SQLSRV_FETCH_ASSOC )) {
echo( "<tr><td><a href=addcart.php?id=".$row['productId']."&name=".$row['productName']."&price=".$row['price'].">Add to Cart</h></td><td>" . $row['productName'] . "</td><td>" . $row['price'] . "</td></tr>");
}
echo("</table>");
sqlsrv_close( $con );
/**
For each product create a link of the form
addcart.php?id=<productId>&name=<productName>&price=<productPrice>
Note: As some product names contain special characters, you may need to encode URL parameter for product name like this: urlencode($productName)
**/
?>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<title>Your Shopping Cart</title>
</head>
<body>
<?php
// include 'include/money_format_windows.php'; //Only required on windows PCs
// Get the current list of products
session_start();
$productList = null;
if (isset($_SESSION['productList'])){
$productList = $_SESSION['productList'];
echo("<h1>Your Shopping Cart</h1>");
echo("<table><tr><th>Product Id</th><th>Product Name</th><th>Quantity</th>");
echo("<th>Price</th><th>Subtotal</th></tr>");
$total =0;
foreach ($productList as $id => $prod) {
echo("<tr><td>". $prod['id'] . "</td>");
echo("<td>" . $prod['name'] . "</td>");
echo("<td align="center">". $prod['quantity'] . "</td>");
$price = $prod['price'];
echo("<td align="right">".str_replace("USD","$",money_format('%i',$price))."</td>");
echo("<td align="right">" . str_replace("USD","$",money_format('%i',$prod['quantity']*$price)) . "</td></tr>");
echo("</tr>");
$total = $total +$prod['quantity']*$price;
}
echo("<tr><td colspan="4" align="right"><b>Order Total</b></td><td align="right">".str_replace("USD","$",money_format('%i',$total))."</td></tr>");
echo("</table>");
echo("<h2><a href="checkout.php">Check Out</a></h2>");
} else{
echo("<H1>Your shopping cart is empty!</H1>");
}
?>
<h2><a href="listprod.php">Continue Shopping</a></h2>
</body>
</html>
php html sql
2
You're mixing different apis here.
– Funk Forty Niner
Nov 10 at 22:49
1
Are you usingmysql
orsqlsrv
?$name
should be inside thearray()
in thesqlsrv_query
call
– user3783243
Nov 10 at 22:49
$mysqli
where is that defined? You have too many errors here and the api to connect with is unknown.
– Funk Forty Niner
Nov 10 at 22:50
Do you have a column named like a link? I think you wantecho '<tr><td><a href="href=addcart.php?id=' . $row['id'] . '&name=' $row['....'] .
etc
– user3783243
Nov 10 at 22:53
add a comment |
up vote
0
down vote
favorite
up vote
0
down vote
favorite
Here is the website I am creating: http://cosc304.ok.ubc.ca/20647160/304_lab7/listprod.php
http://cosc304.ok.ubc.ca/20647160/304_lab7/showcart.php
I have never used PHP before, any guidance would be helpful. The code below showcases a website that is supposed to add to a cart but currently in the show cart there is a weird space between the first product and second product. It is not adding correctly. The first page list the products, the second link shows their cart.
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Raph & Mishal's Grocery</title>
</head>
<body>
<h1>Search for the products you want to buy:</h1>
<form method="get" action="listprod.php">
<input type="text" name="productName" size="50">
<input type="submit" value="Submit"><input type="reset" value="Reset"> (Leave blank for all products)
</form>
<?php
/** If you're developing locally on WINDOWS, uncomment the following line **/
//include 'includemoney_format_windows.php';
include 'include/db_credentials.php';
/** Get product name to search for **/
if (isset($_GET['productName'])){
$name = $_GET['productName'];
}
/** $name now contains the search string the user entered
Use it to build a query and print out the results. **/
/** Create and validate connection **/
global $username;
global $password;
global $database;
global $server;
global $connectionInfo;
$con = sqlsrv_connect($server, $connectionInfo);
if( $con === false ) {
die( print_r( sqlsrv_errors(), true));
}
/** Print out the ResultSet **/
$sql = "SELECT productId, productName,price FROM product";
// $preparepreparedStatement =null;
$name =null;
if(isset($_GET['productName'])){
$name = $_GET[urlencode('productName')];
$sql = $sql ." WHERE productName LIKE ?";
$name = "%". $name. "%";
//$preparedStatement = sqlsrv_prepare($con, $sql,$pName);
}
$results = sqlsrv_query($con, $sql, array($name));
echo("<table><tr><th></th><th>ProductName</th><th>Price</th></tr>");
while ($row = sqlsrv_fetch_array( $results, SQLSRV_FETCH_ASSOC )) {
echo( "<tr><td><a href=addcart.php?id=".$row['productId']."&name=".$row['productName']."&price=".$row['price'].">Add to Cart</h></td><td>" . $row['productName'] . "</td><td>" . $row['price'] . "</td></tr>");
}
echo("</table>");
sqlsrv_close( $con );
/**
For each product create a link of the form
addcart.php?id=<productId>&name=<productName>&price=<productPrice>
Note: As some product names contain special characters, you may need to encode URL parameter for product name like this: urlencode($productName)
**/
?>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<title>Your Shopping Cart</title>
</head>
<body>
<?php
// include 'include/money_format_windows.php'; //Only required on windows PCs
// Get the current list of products
session_start();
$productList = null;
if (isset($_SESSION['productList'])){
$productList = $_SESSION['productList'];
echo("<h1>Your Shopping Cart</h1>");
echo("<table><tr><th>Product Id</th><th>Product Name</th><th>Quantity</th>");
echo("<th>Price</th><th>Subtotal</th></tr>");
$total =0;
foreach ($productList as $id => $prod) {
echo("<tr><td>". $prod['id'] . "</td>");
echo("<td>" . $prod['name'] . "</td>");
echo("<td align="center">". $prod['quantity'] . "</td>");
$price = $prod['price'];
echo("<td align="right">".str_replace("USD","$",money_format('%i',$price))."</td>");
echo("<td align="right">" . str_replace("USD","$",money_format('%i',$prod['quantity']*$price)) . "</td></tr>");
echo("</tr>");
$total = $total +$prod['quantity']*$price;
}
echo("<tr><td colspan="4" align="right"><b>Order Total</b></td><td align="right">".str_replace("USD","$",money_format('%i',$total))."</td></tr>");
echo("</table>");
echo("<h2><a href="checkout.php">Check Out</a></h2>");
} else{
echo("<H1>Your shopping cart is empty!</H1>");
}
?>
<h2><a href="listprod.php">Continue Shopping</a></h2>
</body>
</html>
php html sql
Here is the website I am creating: http://cosc304.ok.ubc.ca/20647160/304_lab7/listprod.php
http://cosc304.ok.ubc.ca/20647160/304_lab7/showcart.php
I have never used PHP before, any guidance would be helpful. The code below showcases a website that is supposed to add to a cart but currently in the show cart there is a weird space between the first product and second product. It is not adding correctly. The first page list the products, the second link shows their cart.
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Raph & Mishal's Grocery</title>
</head>
<body>
<h1>Search for the products you want to buy:</h1>
<form method="get" action="listprod.php">
<input type="text" name="productName" size="50">
<input type="submit" value="Submit"><input type="reset" value="Reset"> (Leave blank for all products)
</form>
<?php
/** If you're developing locally on WINDOWS, uncomment the following line **/
//include 'includemoney_format_windows.php';
include 'include/db_credentials.php';
/** Get product name to search for **/
if (isset($_GET['productName'])){
$name = $_GET['productName'];
}
/** $name now contains the search string the user entered
Use it to build a query and print out the results. **/
/** Create and validate connection **/
global $username;
global $password;
global $database;
global $server;
global $connectionInfo;
$con = sqlsrv_connect($server, $connectionInfo);
if( $con === false ) {
die( print_r( sqlsrv_errors(), true));
}
/** Print out the ResultSet **/
$sql = "SELECT productId, productName,price FROM product";
// $preparepreparedStatement =null;
$name =null;
if(isset($_GET['productName'])){
$name = $_GET[urlencode('productName')];
$sql = $sql ." WHERE productName LIKE ?";
$name = "%". $name. "%";
//$preparedStatement = sqlsrv_prepare($con, $sql,$pName);
}
$results = sqlsrv_query($con, $sql, array($name));
echo("<table><tr><th></th><th>ProductName</th><th>Price</th></tr>");
while ($row = sqlsrv_fetch_array( $results, SQLSRV_FETCH_ASSOC )) {
echo( "<tr><td><a href=addcart.php?id=".$row['productId']."&name=".$row['productName']."&price=".$row['price'].">Add to Cart</h></td><td>" . $row['productName'] . "</td><td>" . $row['price'] . "</td></tr>");
}
echo("</table>");
sqlsrv_close( $con );
/**
For each product create a link of the form
addcart.php?id=<productId>&name=<productName>&price=<productPrice>
Note: As some product names contain special characters, you may need to encode URL parameter for product name like this: urlencode($productName)
**/
?>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<title>Your Shopping Cart</title>
</head>
<body>
<?php
// include 'include/money_format_windows.php'; //Only required on windows PCs
// Get the current list of products
session_start();
$productList = null;
if (isset($_SESSION['productList'])){
$productList = $_SESSION['productList'];
echo("<h1>Your Shopping Cart</h1>");
echo("<table><tr><th>Product Id</th><th>Product Name</th><th>Quantity</th>");
echo("<th>Price</th><th>Subtotal</th></tr>");
$total =0;
foreach ($productList as $id => $prod) {
echo("<tr><td>". $prod['id'] . "</td>");
echo("<td>" . $prod['name'] . "</td>");
echo("<td align="center">". $prod['quantity'] . "</td>");
$price = $prod['price'];
echo("<td align="right">".str_replace("USD","$",money_format('%i',$price))."</td>");
echo("<td align="right">" . str_replace("USD","$",money_format('%i',$prod['quantity']*$price)) . "</td></tr>");
echo("</tr>");
$total = $total +$prod['quantity']*$price;
}
echo("<tr><td colspan="4" align="right"><b>Order Total</b></td><td align="right">".str_replace("USD","$",money_format('%i',$total))."</td></tr>");
echo("</table>");
echo("<h2><a href="checkout.php">Check Out</a></h2>");
} else{
echo("<H1>Your shopping cart is empty!</H1>");
}
?>
<h2><a href="listprod.php">Continue Shopping</a></h2>
</body>
</html>
php html sql
php html sql
edited Nov 11 at 4:52
asked Nov 10 at 22:41
Mishal Hasan
92
92
2
You're mixing different apis here.
– Funk Forty Niner
Nov 10 at 22:49
1
Are you usingmysql
orsqlsrv
?$name
should be inside thearray()
in thesqlsrv_query
call
– user3783243
Nov 10 at 22:49
$mysqli
where is that defined? You have too many errors here and the api to connect with is unknown.
– Funk Forty Niner
Nov 10 at 22:50
Do you have a column named like a link? I think you wantecho '<tr><td><a href="href=addcart.php?id=' . $row['id'] . '&name=' $row['....'] .
etc
– user3783243
Nov 10 at 22:53
add a comment |
2
You're mixing different apis here.
– Funk Forty Niner
Nov 10 at 22:49
1
Are you usingmysql
orsqlsrv
?$name
should be inside thearray()
in thesqlsrv_query
call
– user3783243
Nov 10 at 22:49
$mysqli
where is that defined? You have too many errors here and the api to connect with is unknown.
– Funk Forty Niner
Nov 10 at 22:50
Do you have a column named like a link? I think you wantecho '<tr><td><a href="href=addcart.php?id=' . $row['id'] . '&name=' $row['....'] .
etc
– user3783243
Nov 10 at 22:53
2
2
You're mixing different apis here.
– Funk Forty Niner
Nov 10 at 22:49
You're mixing different apis here.
– Funk Forty Niner
Nov 10 at 22:49
1
1
Are you using
mysql
or sqlsrv
? $name
should be inside the array()
in the sqlsrv_query
call– user3783243
Nov 10 at 22:49
Are you using
mysql
or sqlsrv
? $name
should be inside the array()
in the sqlsrv_query
call– user3783243
Nov 10 at 22:49
$mysqli
where is that defined? You have too many errors here and the api to connect with is unknown.– Funk Forty Niner
Nov 10 at 22:50
$mysqli
where is that defined? You have too many errors here and the api to connect with is unknown.– Funk Forty Niner
Nov 10 at 22:50
Do you have a column named like a link? I think you want
echo '<tr><td><a href="href=addcart.php?id=' . $row['id'] . '&name=' $row['....'] .
etc– user3783243
Nov 10 at 22:53
Do you have a column named like a link? I think you want
echo '<tr><td><a href="href=addcart.php?id=' . $row['id'] . '&name=' $row['....'] .
etc– user3783243
Nov 10 at 22:53
add a comment |
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53244142%2fphp-form-is-not-sending-data-correctly%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
2
You're mixing different apis here.
– Funk Forty Niner
Nov 10 at 22:49
1
Are you using
mysql
orsqlsrv
?$name
should be inside thearray()
in thesqlsrv_query
call– user3783243
Nov 10 at 22:49
$mysqli
where is that defined? You have too many errors here and the api to connect with is unknown.– Funk Forty Niner
Nov 10 at 22:50
Do you have a column named like a link? I think you want
echo '<tr><td><a href="href=addcart.php?id=' . $row['id'] . '&name=' $row['....'] .
etc– user3783243
Nov 10 at 22:53