1

Please check on the last part of code where input type="submit" name="save_changes_submit". This form not assigning in $_POST. Whats wrong I am doing here? Is there any html mistake I am doing here? How can I achieve $_POST value form this submit?

echo '<form action="" method="post">ID Number:<input type="number" name="id_number" value="number"><br><br><input type="submit" value="Search Product" name="id_number_submit">';

if (isset($_POST['id_number_submit'])) {
    $id_number = $_POST['id_number'];

    $q = mysqli_query($conn, "SELECT * FROM product WHERE id='$id_number'");

    $row = mysqli_fetch_array($q);

    if (empty($row)) {
        echo "Error: Invalid product id";
    }else{

    $product_name = $row['product_name'];
    $product_des = $row['product_des'];
    $product_price = $row['product_price'];


echo '<br><br><input type="number" name="product_price" value="'.$product_price.'">';
echo '<br><br><input type="text" name="product_name" value="'.$product_name.'">';
echo '<br><br><textarea rows="8" cols="100" name="product_des">'.$product_des.'</textarea><br><input type="submit" value="Save Changes" name="save_changes_submit">';

if (isset($_POST['save_changes_submit'])) {
    echo $c_product_price = $_POST['product_price'];
    echo $c_product_name = $_POST['product_name'];
    echo $c_product_des = $_POST['product_des'];
}
}
}

echo '</form>';
2
  • Why are u assign and print ? Just print out ,no need to assign ... Commented Jun 27, 2016 at 8:32
  • i am runing echo to test that the $_POST value is received or not Commented Jun 27, 2016 at 8:34

3 Answers 3

1

The if condition if(isset($_POST['save_changes_submit'])) was inside if(isset($_POST['id_number_submit'])). And that was the problem. Here it is.

<?php
echo '<form action="" method="post">ID Number:<input type="number" name="id_number" value="number"><br><br><input type="submit" value="Search Product" name="id_number_submit">';

    if(isset($_POST['id_number_submit'])) {
        $id_number = $_POST['id_number'];

        $q = mysqli_query($conn, "SELECT * FROM product WHERE id='$id_number'");

        $row = mysqli_fetch_array($q);

        if (empty($row)){
            echo "Error: Invalid product id";
        }else{
            $product_name = $row['product_name'];
            $product_des = $row['product_des'];
            $product_price = $row['product_price'];


        echo '<br><br><input type="number" name="product_price" value="'.$product_price.'">';
        echo '<br><br><input type="text" name="product_name" value="'.$product_name.'">';
        echo '<br><br><textarea rows="8" cols="100" name="product_des">'.$product_des.'</textarea><br><input type="submit" value="Save Changes" name="save_changes_submit">';
        }
    }
    if(isset($_POST['save_changes_submit'])) {
        echo $c_product_price = $_POST['product_price'];
        echo $c_product_name = $_POST['product_name'];
        echo $c_product_des = $_POST['product_des'];
    }
    echo '</form>';
?>
Sign up to request clarification or add additional context in comments.

Comments

1

It's because by this condition if (isset($_POST['id_number_submit'])) ! When you click save_changes_submit submit button ,there is no contain id_number_submit in POST data.So its doesn't not run your condition.The solution to change your condition

echo '<form action="" method="post">ID Number:<input type="number" name="id_number" value="number"><br><br><input type="submit" value="Search Product" name="id_number_submit">';

if (isset($_POST['id_number_submit'])) {
    $id_number = $_POST['id_number'];

    $q = mysqli_query($conn, "SELECT * FROM product WHERE id='$id_number'");

    $row = mysqli_fetch_array($q);

    if (empty($row)) {
        echo "Error: Invalid product id";
    }
    else{

    $product_name = $row['product_name'];
    $product_des = $row['product_des'];
    $product_price = $row['product_price'];


echo '<br><br><input type="number" name="product_price" value="'.$product_price.'">';
echo '<br><br><input type="text" name="product_name" value="'.$product_name.'">';
echo '<br><br><textarea rows="8" cols="100" name="product_des">'.$product_des.'</textarea><br><input type="submit" value="Save Changes" name="save_changes_submit">';    

   }
}
if (isset($_POST['save_changes_submit'])) {
    $c_product_price = $_POST['product_price'];
    $c_product_name = $_POST['product_name'];
    $c_product_des = $_POST['product_des'];
    echo $c_product_price;
    echo $c_product_name;
    echo $c_product_des;
}

echo '</form>';

Comments

0

Because you didn't assign which php file to handle with the form .Change the action of form like this:

echo '<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post">ID Number:<input type="number" name="id_number" value="number"><br><br><input type="submit" value="Search Product" name="id_number_submit">';

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.