Search code examples
phpformspostisset

POST not working with no signs of error


haven't programmed PHP in a while but I have to assemble something for a client really fast. I've set up 2 forms with POST but when I go to the next file it's just blank space, for some reason POST isn't being registered but is set cause I'm not getting an error echo. Hese's the forms:

<form action="Funkcije.php" method="post" name="AddFromDB">
            <input type="text" placeholder="Šifra Art" name="ArtNo">
            <input type="submit" value="Dodaj">
        </form>

        <br>
        <div id="newItem">
            <form action="Funkcije.php" method="post" name="AddNew">
                <input type="text" placeholder="Šifra" name="Art">
                <input type="text" placeholder="Ime Proizvoda" name="ImeProizvoda">
                <input type="text" placeholder="Dobavljač" name="Dobava">
                <input type="text" placeholder="Cijena" name="Cijena">
                <input type="submit" value="Dodaj">
            </form>
        </div>

And here's the 2nd file:

if(isset($_POST["AddFromDB"], $_POST["ArtNo"])){
    addExisting ($_POST["ArtNo"]);
} 
else if(isset($_POST["AddNew"], $_POST["Art"], $_POST["ImeProizvoda"], $_POST["Dobava"], $_POST["Cijena"])){
    newItem ($_POST["Art"] && $_POST["ImeProizvoda"] && $_POST["Dobava"] && $_POST["Cijena"]);
}
else if (!isset ($_POST)){
    echo "error";
}

So, by code I should be getting an error if POST is not set but I get nothing. Just a blank space.


Solution

  • here, you must be give a name to the submit button to check which form is POST like this...

    <form  method="post" name="AddFromDB">
                <input type="text" placeholder="Šifra Art" name="ArtNo">
                <input type="submit" value="Dodaj" name="form1">
            </form>
    
            <br>
            <div id="newItem">
                <form  method="post" name="AddNew">
                    <input type="text" placeholder="Šifra" name="Art">
                    <input type="text" placeholder="Ime Proizvoda" name="ImeProizvoda">
                    <input type="text" placeholder="Dobavljač" name="Dobava">
                    <input type="text" placeholder="Cijena" name="Cijena">
                    <input type="submit" value="Dodaj" name="form2">
                </form>
            </div>
    <?php
    if(isset($_POST["form1"], $_POST["ArtNo"])){
        echo "1";
    } 
    else if(isset($_POST["form2"], $_POST["Art"], $_POST["ImeProizvoda"], $_POST["Dobava"], $_POST["Cijena"])){
        echo "2";
    }
    else{
        echo "error";
    }
    ?>
    

    now, this work fine..

    thank you.. enjoy coding...