#php #html #database #post #get
#php #HTML #База данных #Публикация #получить
Вопрос:
Я пытаюсь вставить товар в таблицу корзины и передать некоторую информацию через страницу вставки, но мне нужно addTo.php страница и печать «нет процесса для выполнения», из чего я могу понять, что он не распознает кнопку, и форма была получена с предыдущей страницы.
это страница item_details, на которой я хочу получить item_id и количество, когда я нажимаю на кнопку addtocart:
<section class="main-content">
<div class="row">
<?php
try{
if (isset($_GET["iid"])){
$iid=$_GET["iid"];
require('connection.php');
$sql =$db->prepare( "SELECT * FROM items WHERE item_id = ?");
$sql->execute(array($iid));
foreach($sql as $r){
?>
<div class="span9">
<div class="row">
<div class="span4">
<a href="images/<?php echo $r['item_photo']; ?> " class="thumbnail" data-fancybox-group="group1" title="<?php echo $r['item_name'];?>"><img alt="" src="images/<?php echo $r['item_photo']; ?>"></a>
</div>
<div class="span5">
<address>
<strong>Name:</strong> <span><?php echo $r['item_name'];?></span><br>
<strong>Brand:</strong> <span><?php echo $r['item_brand'];?></span><br>
<strong>Availability:</strong>
<span><?php
if ($r['item_qty']==0){
echo"Out Of Stock";
}else {
echo"Avilable";
}
?></span><br>
</address>
<h4><strong>Price: <?php echo "BD".$r['item_price'] ; ?></strong></h4>
</div>
<div class="span5">
<form class="form-inline" method="post" action="addTo.php">
<input type="hidden" name="itemID" value="<?php echo $r['item_id'];?>">
<p>amp;nbsp;</p>
<label>Qty:</label>
<input type="text" class="span1" name="itempqty" value= "<?php echo $r['item_qty'];?>">
<button class="btn btn-inverse" type="button" name="addtocart" onclick="window.location.href='addTo.php?iid=<?php echo $r['item_id'];?>'" >Add to cart</button>
<button class="btn btn-inverse" type="button" name="addtowishlist" onclick="window.location.href='addTo.php?iid=<?php echo $r['item_id'];?>'" >Add to wishlist</button><br><br>
</form>
<?php
//if (isset($_SESSION['UserType'])) {
//if ($_SESSION['UserType'] == "staff"||$_SESSION['UserType'] == "admin") {?>
<form class="form-inline" method="post">
<input type="hidden" name="itemID" value="<?php echo $r['item_id'];?>">
<button class="btn" type="button" name="deleteItem" onclick="window.location.href='ManageOffers.php?iid=<?php echo $r['item_id'];?>'" >Manage Offer</button>
<button class="btn" type="button" name="updateItem" onclick="window.location.href='updateItem.php?iid=<?php echo $r['item_id'];?>'" >Manage Item</button>
<?php //}} ?>
</form>
</div>
</div>
</div>
<?php
}}
$db=null;
}
catch(PDOException $ex){
die ($ex->getMessage());
}
?>
</div>
</section>
And this is addTo.php where I want to insert item to the cart table:
<?php
session_start();
extract($_POST);
extract($_GET);
if(isset($_POST["addtocart"])){
try{
if (isset($_GET["iid"])){
$iid=$_GET["iid"];
$itemID = $_POST['itemID'];
$itemqty = $_POST['itempqty'];
$uid='1';
//$cart_id='1';
require('connection.php');
$sql=$db->exec("INSERT INTO cart VALUES(null,'$itemID','$itemqty','$uid')");
if ($sql)
{
echo"<script>alert('item has been succefuly added to the cart')</script>";
header('location:index.php');
}
else
{
error("Failed");
}
}
$db=null;
}
catch(PDOException $e){
die($e->getMessage());
}
}
else {
echo"no process to do";
}
?>
Также это то, что отображается мне, когда я нажимаю на кнопку:
Не могли бы вы взглянуть и помочь мне, как решить проблему?
Комментарии:
1. Эта ошибка появляется, потому что вы не можете отправить имя кнопки, потому что это не ввод, а кнопка не может иметь значение. Вместо этого используйте input type=»hidden». Вы могли бы просто var_dump вам $_POST и вы бы не увидели никакого
addtocart
ключа.
Ответ №1:
Насколько я знаю, вы не можете отправить имя кнопки. Вы можете отправлять значения ввода, выбора и текстовой области.
И почему вы используете событие onclick для изменения ваших местоположений? Используйте формы и действия над ними. Когда вы отправляете форму, вы отправляете все данные из целой формы на другую страницу.
Мы получаем все данные из inputs, textarea и select(опция).
<form class="form-inline" method="post" action="addTo.php">
<input type="hidden" name="itemID" value="<?php echo $r['item_id'];?>">
<p>amp;nbsp;</p>
<label>Qty:</label>
<input type="text" class="span1" name="itempqty" value= "<?php echo $r['item_qty'];?>">
<input type="hidden" name="addtocart" value="<?php echo $r['item_id'];?>:>
<button class="btn btn-inverse" type="button">Add to cart</button>
<button class="btn btn-inverse" type="button" name="addtowishlist" onclick="window.location.href='addTo.php?iid=<?php echo $r['item_id'];?>'" >Add to wishlist</button><br><br>
</form>