Как вставить данные с другой страницы в PHP

#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";
}

        ?>
 

Также это то, что отображается мне, когда я нажимаю на кнопку:

img

Не могли бы вы взглянуть и помочь мне, как решить проблему?

Комментарии:

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>