the_ the_ - 10 months ago 43
PHP Question

PHP Redirect after Mysql Insert

Below is my mySQL insert:

$sql="INSERT INTO gj (name, phone, city, zipcode, description, dateadded, website, address1, other2, payment_options, Products, email,cat1,cat2,cat3)

if (!mysql_query($sql,$link))
die('Error: ' . mysql_error());
echo "<br/><h2><font color='green' style='font-size:15px;float:right'>1 business added</font></h2>";



Now, instead of displaying "1 business added" in green, I'd like to redirect back to the page I was on before. Thanks.

Jim Jim

If your script is always intended to go to the same place afterwards, then you can hard-code the location. For example:


Note that per RFC 2616 (the HTTP/1.1 specification), the value of the Location header must be an absolute URI, not just a path.

If your script is for a specific purpose and always redirects to a certain section, but may vary which particular records are shown, then you can incorporate the data that was posted to your script into the URL. For example:

header("Location:" . urlencode($_POST['id']));

If your script is used in several different ways, then you can pass along the URL to redirect to from the page that posts to it in a hidden form field, for example:

<input type="hidden" name="redirect-url" value="">

More generally, you should follow the Post/Redirect/Get pattern.