在PHP中显示警报框

in the below code , the alert box is appearing in another window when values are not entered in the fields. but i want the alert box to appear in the same window of html page( detail.htm).how can i do this?

detail.htm:

<body>    
    <h1> Product: </h1>
    <form  action="product.php"  method="post"  >
        <input type="text" name= "product_id" size="15" />
        <input type="text" name= "price" size="10"/>
        <input type = "submit"  value = "enter" /> 
    </form>        
</body>

product.php:

if (empty($_POST["product_id"]) || empty($_POST["price"])) {
    echo "<script>alert('You must enter both values.')</script>";
} else {
    include 'product.htm';
}

I think you should use client side validation:

<script language="javascript">
    function validate() {
        if (document.forms[0].product_id.value == "") {
            window.alert("You must enter both values");
            return false;
        }
        if (document.forms[0].price.value == "") {
            window.alert("You must enter both values");
            return false;
        }
    }
</script>

And then call the validate() function on onsubmit event of FORM like

<form action="product.php"  method="post" onsubmit="return validate();">

You'll have to implement a client-side check in Javascript for that to happen.

Give your form an ID, use JavaScript (or with a library such as jQuery) and do something like the following:

$('#id-of-the-form').submit(function(e) {
    var self = this;
    e.preventDefault();
    var found_empty = false;
    $('#id-of-the-form').find(':input').each(function() {
        if ($(this).val() == '') {
            found_empty = true;
        }
    });
    if (found_empty) {
        alert('Please enter all values!');
    }
    else {
        $(this).submit();
    }
});

Please note that i am using jQuery in this example!

As a reference, i'm using jQuery to observe the submission of the form, get all fields of the form and check if the fields aren't empty. If they're empty, it alerts, if not - it submits.