Avatar of lleblanc65
lleblanc65
Flag for United States of America asked on

How To Run PHP Script With Form Button and Stay on Same Page

I have a button that runs a PHP script that updates prices on my page. Right now the button redirects to the update page (priceupdate.php). I want the button to run this script, but not redirect to it. It'd even greater if the button's name could change from "Update Prices" to "Prices Updated" after it's been clicked.

I'm aware I'll need to use some javascript, but after some heavy googling I haven't found quite what I'm looking for. Here is what I have so far.

<form action="updateprices.php" method="post">
  <input value="Update Prices" type="submit">
</form>

Open in new window


Any suggestions? I don't have any text to submit, which is the majority of what I've been finding sample scripts for.
JScriptHTMLAJAX

Avatar of undefined
Last Comment
Carlos Llanos

8/22/2022 - Mon
ASKER CERTIFIED SOLUTION
Carlos Llanos

Log in or sign up to see answer
Become an EE member today7-DAY FREE TRIAL
Members can start a 7-Day Free trial then enjoy unlimited access to the platform
Sign up - Free for 7 days
or
Learn why we charge membership fees
We get it - no one likes a content blocker. Take one extra minute and find out why we block content.
Not exactly the question you had in mind?
Sign up for an EE membership and get your own personalized solution. With an EE membership, you can ask unlimited troubleshooting, research, or opinion questions.
ask a question
Carlos Llanos

Here's the code for a simple price update page.

 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>


<?php

$check = '';
$price = '$4.99';

if (isset($_POST['check'])) {
	$check = $_POST['check'];	
}

if (isset($_POST['price'])) {
	$price = '$' . $_POST['price'];
}

if ($check != '1') {

?>
<h1>Price is currently set to: <?php print $price;?></h1>	
<form action='<?php $_SESSION['PHP_SELF'];?>' method="POST">
<table>
<tr>
	<td>Price: <input type="text" name='price' id='price' /></td>
</tr>
<tr>
	<td><input type="hidden" name='check' id='check' value='1' /></td>
</tr>
<tr>
	<td><input type="submit" name='submit' id='submit' value='Update Price' /></td>
</tr>
</table>

</form>
<?php 
} else if ($check == '1') {

?>

<h1>Price has been updated to: <?php print $price;?></h1>	
<form action='<?php $_SESSION['PHP_SELF'];?>' method="POST">
<table>
<tr>
	<td>Price: <input type="text" name='price' id='price' /></td>
</tr>
<tr>
	<td><input type="hidden" name='check' id='check' value='1' /></td>
</tr>
<tr>
	<td><input type="submit" name='submit' id='submit' value='Update Price' /></td>
</tr>
</table>

</form>
<?php	
}
?>
</body>
</html>

Open in new window

Your help has saved me hundreds of hours of internet surfing.
fblack61