peace_love
peace_love

Reputation: 6471

How can I store the input of two different forms in mySQL database with php?

I have two forms on my page and I want to store the submitted data in the database.

 <?php

        $cat = $_POST['cat'];
        $id = $_POST['id'];

        if(isset($_POST['myForm'])){
            $pdo = Database::connect();
                $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
                $sql_cat = "UPDATE animals set cat = ?  WHERE id = '$id'";          
                $q = $pdo->prepare($sql_cat);
                $q->execute(array($cat));
                Database::disconnect();
                header("Location: index.php");

        }



        $dog = $_POST['dog'];
        $id = $_POST['id'];

        if(isset($_POST['myForm2'])){
            $pdo = Database::connect();
                $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
                $sql_dog = "UPDATE animals set dog = ?  WHERE id = '$id'";          
                $q = $pdo->prepare($sql_dog);
                $q->execute(array($dog));
                Database::disconnect();
                header("Location: index.php");

        }


    ?> 



     <form action="index.php" method="post" name="myForm">

    <div id="modal-cat" class="modal fade" tabindex="-1" role="dialog">
        <div class="modal-dialog">
            <div class="modal-content">
                <div class="modal-header">

                    <h3>Cat</h3>
                </div>
                <div class="modal-body">
                    <p>
                        <input id="cat"  type="text" name="cat" />
                        <input type="hidden" name="id" value="<?php echo $id ?>"/>
                    </p>
                </div>
                <div class="modal-footer"> 
                      <button type="submit" class="btn btn-primary">Save</button>
                </div>
            </div>
        </div>
    </div>
      </form>   


    <form action="index.php" method="post" name="myForm2">

    <div id="modal-returned" class="modal fade" tabindex="-1" role="dialog">
        <div class="modal-dialog">
            <div class="modal-content">
                <div class="modal-header">

                    <h3>Dog</h3>
                </div>
                <div class="modal-body">
                    <p>
                        <input id="returned_number"  type="text" name="returned_number" />
                        <input type="hidden" name="id" value="<?php echo $id ?>"/>
                    </p>
                </div>
                <div class="modal-footer"> 
                      <button type="submit" class="btn btn-primary">Save</button>
                </div>
            </div>
        </div>
    </div>
      </form>   

What happens now is, when I am submitting cat the value of cat is stored correctly in the database. But if I submit after that dog then dog is also correctly stored in the database but cat is deleted. Can you help me with this problem?

Upvotes: 0

Views: 45

Answers (1)

Maha Dev
Maha Dev

Reputation: 3965

    <?php

    $id = $_POST['id'];

    if (isset($_POST['myForm'])) {
        $cat = $_POST['cat'];

        $pdo = Database::connect();
        $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        $sql_cat = "UPDATE animals set cat = ?  WHERE id = '$id'";
        $q = $pdo->prepare($sql_cat);
        $q->execute(array($cat));
        Database::disconnect();
        header("Location: index.php");
    }


    if (isset($_POST['myForm2'])) {
        $dog = $_POST['dog'];
        $pdo = Database::connect();
        $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        $sql_dog = "UPDATE animals set dog = ?  WHERE id = '$id'";
        $q = $pdo->prepare($sql_dog);
        $q->execute(array($dog));
        Database::disconnect();
        header("Location: index.php");
    }
    ?> 


<form action="index.php" method="post" >

    <div id="modal-cat" class="modal fade" tabindex="-1" role="dialog">
        <div class="modal-dialog">
            <div class="modal-content">
                <div class="modal-header">

                    <h3>Cat</h3>
                </div>
                <div class="modal-body">
                    <p>
                        <input id="cat"  type="text" name="cat" />
                        <input type="hidden" name="id" value="<?php echo $id ?>"/>
                    </p>
                </div>
                <div class="modal-footer"> 
                      <button type="submit" class="btn btn-primary" name="myForm">Save</button>
                </div>
            </div>
        </div>
    </div>
      </form>   


    <form action="index.php" method="post">

    <div id="modal-returned" class="modal fade" tabindex="-1" role="dialog">
        <div class="modal-dialog">
            <div class="modal-content">
                <div class="modal-header">

                    <h3>Dog</h3>
                </div>
                <div class="modal-body">
                    <p>
                        <input id="returned_number"  type="text" name="returned_number" />
                        <input type="hidden" name="id" value="<?php echo $id ?>"/>
                    </p>
                </div>
                <div class="modal-footer"> 
                      <button type="submit" class="btn btn-primary" name="myForm2">Save</button>
                </div>
            </div>
        </div>
    </div>
      </form> 

Upvotes: 1

Related Questions