Link to home
Start Free TrialLog in
Avatar of bookedy
bookedy

asked on

How do I clear $_GET from my url?

Hi,

Bit tricky to explain... I have a script which when submited, will return to the same page with the $_GET variables. If I submit the page again, I need it to forget the original variables and replace the url with the new variables.

So the url might look like http://www.mysite.com?id=123&price=1099

When i resubmit the form with different variables, e.g. ID = 567 & Price = 2083 i want the url to look like: http://www.mysite.com?id=567&price=2083

However what actually comes up is http://www.mysite.com?id=567&price=2083&id=123&price=1099.

Can anyone help?

Thanks!
Avatar of Chris Stanyon
Chris Stanyon
Flag of United Kingdom of Great Britain and Northern Ireland image

I can only guess that the ACTION of the form is being dynamically created, maybe using something like $_SERVER['PHP_SELF']. Each time the form is submitted to itself, the ACTION contains the current GET variables and the new GET variables get added to it.

Check on how you're setting the form action, and you mind find your problem.

Without seeing code, it's difficult to be precise.


Also, could I suggest you to use POST method instead of GET ?

POST method has some advantages, such as hidding the variable values from the URL, which is more secure.
Avatar of grantunwin
grantunwin

Just completely remove the       action=""          section of your form tag.

The form wil then submit to the root file address without the query string.
Avatar of bookedy

ASKER

@chrisstanyon - you are write in the dynamic form. the code i have is below.


<?php
mysql_select_db($database_bookedy, $bookedy);
$query_emergency = "SELECT * FROM emergency";
$emergency = mysql_query($query_emergency, $bookedy) or die(mysql_error());
$row_emergency = mysql_fetch_assoc($emergency);
$totalRows_emergency = mysql_num_rows($emergency);

$colname_booking = "-1";
if (isset($_GET['id'])) {
  $colname_booking = (get_magic_quotes_gpc()) ? $_GET['id'] : addslashes($_GET['id']);
}
mysql_select_db($database_bookedy, $bookedy);
$query_booking = sprintf("SELECT * FROM booking WHERE bookingid = %s", $colname_booking);
$booking = mysql_query($query_booking, $bookedy) or die(mysql_error());
$row_booking = mysql_fetch_assoc($booking);
$totalRows_booking = mysql_num_rows($booking);
?>
<?php $bookingid = $row_booking['bookingid']; ?>
<?php
$paxno = $_GET['pax']+1;
$paxget = $_GET['pax'];
unset($_GET);
if ($row_booking['pax']==$paxget) {
$nexturl = "https://www.bookedy.com/booking/step3.php?id=$bookingid";
$button = "2";
}
else
{
$nexturl = "https://www.bookedy.com/booking/step2b.php?id=$bookingid&pax=$paxno";
$button = "1";
}
?>
<?php
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
{
  $theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue;

  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;    
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}

$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
  $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form2")) {
  $insertSQL = sprintf("INSERT INTO additionalpax (bookingid, title, firstname, lastname, dobday, dobmonth, dobyear, sex) VALUES (%s, %s, %s, %s, %s, %s, %s, %s)",
                       GetSQLValueString($_POST['bookingid'], "int"),
                       GetSQLValueString($_POST['title'], "int"),
                       GetSQLValueString($_POST['firstname'], "text"),
                       GetSQLValueString($_POST['lastname'], "text"),
                       GetSQLValueString($_POST['dobday'], "int"),
                       GetSQLValueString($_POST['dobmonth'], "int"),
                       GetSQLValueString($_POST['dobyear'], "int"),
                       GetSQLValueString($_POST['gender'], "text"));

  mysql_select_db($database_bookedy, $bookedy);
  $Result1 = mysql_query($insertSQL, $bookedy) or die(mysql_error());

  $insertGoTo = $nexturl;
  if (isset($_SERVER['QUERY_STRING'])) {
    $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
    $insertGoTo .= $_SERVER['QUERY_STRING'];
  }
  header(sprintf("Location: %s", $insertGoTo));
}
?>

 <form id="form2" name="form2" method="POST" action="<?php echo $editFormAction; ?>">
                      <table width="90%">
                        <tr>
                          <td><div align="right"><strong>Title</strong></div></td>
                          <td><label>
                              <div align="left">
                                <select name="title" class="titleformbox" id="title">
                                  <option selected="selected">Title</option>
                                  <option value="Mr">Mr</option>
                                  <option value="Miss">Miss</option>
                                  <option value="Ms">Ms</option>
                                  <option value="Mrs">Mrs</option>
                                </select>
                              </div>
                            </label></td>
                        </tr>
                        <tr>
                          <td><div align="right"><strong>First Name</strong></div></td>
                          <td><label>
                              <div align="left">
                                <input name="firstname" type="text" class="formbox" id="firstname" />
                              </div>
                            </label></td>
                        </tr>
                        <tr>
                          <td><div align="right"><strong>Last Name</strong></div></td>
                          <td><div align="left">
                              <input name="lastname" type="text" class="formbox" id="lastname" />
                          </div></td>
                        </tr>
                        <tr>
                          <td><div align="right"></div></td>
                          <td><div align="left"></div></td>
                        </tr>
                        <tr>
                          <td><div align="right"><strong>Gender</strong></div></td>
                          <td><div align="left">
                              <select name="gender" class="genderformbox" id="gender">
                                <option selected="selected">Select</option>
                                <option value="Male">Male</option>
                                <option value="Female">Female</option>
                              </select>
                          </div></td>
                        </tr>
                        <tr>
                          <td><div align="right"><strong>Date of Birth </strong></div></td>
                          <td><div align="left">
                              <select name="dobday" class="genderformbox" id="dobday">
                                <option selected="selected">DD</option>
                                <option value="1">1</option>
                                <option value="2">2</option>
                                <option value="3">3</option>
                                <option value="4">4</option>
                                <option value="5">5</option>
                                <option value="6">6</option>
                                <option value="7">7</option>
                                <option value="8">8</option>
                                <option value="9">9</option>
                                <option value="10">10</option>
                                <option value="11">11</option>
                                <option value="12">12</option>
                                <option value="13">13</option>
                                <option value="14">14</option>
                                <option value="15">15</option>
                                <option value="16">16</option>
                                <option value="17">17</option>
                                <option value="18">18</option>
                                <option value="19">19</option>
                                <option value="20">20</option>
                                <option value="21">21</option>
                                <option value="22">22</option>
                                <option value="23">23</option>
                                <option value="24">24</option>
                                <option value="25">25</option>
                                <option value="26">26</option>
                                <option value="27">27</option>
                                <option value="28">28</option>
                                <option value="29">29</option>
                                <option value="30">30</option>
                                <option value="31">31</option>
                              </select>
                              <select name="dobmonth" class="genderformbox" id="dobmonth">
                                <option selected="selected">Month</option>
                                <option value="01">Jan</option>
                                <option value="02">Feb</option>
                                <option value="03">Mar</option>
                                <option value="04">Apr</option>
                                <option value="05">May</option>
                                <option value="06">Jun</option>
                                <option value="07">Jul</option>
                                <option value="08">Aug</option>
                                <option value="09">Sep</option>
                                <option value="10">Oct</option>
                                <option value="11">Nov</option>
                                <option value="12">Dec</option>
                              </select>
                              <select name="dobyear" class="genderformbox" id="select2">
                                <option selected="selected">Year</option>
                                <option value="2007">2007</option>
                                <option value="2006">2006</option>
                                <option value="2005">2005</option>
                                <option value="2004">2004</option>
                                <option value="2003">2003</option>
                                <option value="2002">2002</option>
                                <option value="2001">2001</option>
                                <option value="2000">2000</option>
                                <option value="1999">1999</option>
                                <option value="1998">1998</option>
                                <option value="1997">1997</option>
                                <option value="1996">1996</option>
                                <option value="1995">1995</option>
                                <option value="1994">1994</option>
                                <option value="1993">1993</option>
                                <option value="1992">1992</option>
                                <option value="1991">1991</option>
                                <option value="1990">1990</option>
                                <option value="1989">1989</option>
                                <option value="1988">1988</option>
                                <option value="1987">1987</option>
                                <option value="1986">1986</option>
                                <option value="1985">1985</option>
                                <option value="1984">1984</option>
                                <option value="1983">1983</option>
                                <option value="1982">1982</option>
                                <option value="1981">1981</option>
                                <option value="1980">1980</option>
                                <option value="1979">1979</option>
                                <option value="1978">1978</option>
                                <option value="1977">1977</option>
                                <option value="1976">1976</option>
                                <option value="1975">1975</option>
                                <option value="1974">1974</option>
                                <option value="1973">1973</option>
                                <option value="1972">1972</option>
                                <option value="1971">1971</option>
                                <option value="1970">1970</option>
                                <option value="1969">1969</option>
                                <option value="1968">1968</option>
                                <option value="1967">1967</option>
                                <option value="1966">1966</option>
                                <option value="1965">1965</option>
                                <option value="1964">1964</option>
                                <option value="1963">1963</option>
                                <option value="1962">1962</option>
                                <option value="1961">1961</option>
                                <option value="1960">1960</option>
                                <option value="1959">1959</option>
                                <option value="1958">1958</option>
                                <option value="1957">1957</option>
                                <option value="1956">1956</option>
                                <option value="1955">1955</option>
                                <option value="1954">1954</option>
                                <option value="1953">1953</option>
                                <option value="1952">1952</option>
                                <option value="1951">1951</option>
                                <option value="1950">1950</option>
                                <option value="1949">1949</option>
                                <option value="1948">1948</option>
                                <option value="1947">1947</option>
                                <option value="1946">1946</option>
                                <option value="1945">1945</option>
                                <option value="1944">1944</option>
                                <option value="1943">1943</option>
                                <option value="1942">1942</option>
                                <option value="1941">1941</option>
                                <option value="1940">1940</option>
                                <option value="1939">1939</option>
                                <option value="1938">1938</option>
                                <option value="1937">1937</option>
                                <option value="1936">1936</option>
                                <option value="1935">1935</option>
                                <option value="1934">1934</option>
                                <option value="1933">1933</option>
                                <option value="1932">1932</option>
                                <option value="1931">1931</option>
                                <option value="1930">1930</option>
                                <option value="1929">1929</option>
                                <option value="1928">1928</option>
                                <option value="1927">1927</option>
                                <option value="1926">1926</option>
                                <option value="1925">1925</option>
                                <option value="1924">1924</option>
                                <option value="1923">1923</option>
                                <option value="1922">1922</option>
                                <option value="1921">1921</option>
                                <option value="1920">1920</option>
                                <option value="1919">1919</option>
                                <option value="1918">1918</option>
                                <option value="1917">1917</option>
                                <option value="1916">1916</option>
                                <option value="1915">1915</option>
                                <option value="1914">1914</option>
                                <option value="1913">1913</option>
                                <option value="1912">1912</option>
                                <option value="1911">1911</option>
                                <option value="1910">1910</option>
                                <option value="1909">1909</option>
                                <option value="1908">1908</option>
                                <option value="1907">1907</option>
                                <option value="1906">1906</option>
                                <option value="1905">1905</option>
                                <option value="1904">1904</option>
                                <option value="1903">1903</option>
                                <option value="1902">1902</option>
                                <option value="1901">1901</option>
                                <option value="1900">1900</option>
                              </select>
                              </select>
                          </div></td>
                        </tr>
                        <tr>
                          <td><div align="right"></div></td>
                          <td><div align="left"></div></td>
                        </tr>
                        <tr>
                          <td>&nbsp;</td>
                          <td>&nbsp;</td>
                        </tr>
                        <tr>
                          <td>&nbsp;</td>
                          <td><input name="bookingid" type="hidden" id="bookingid" value="<?php echo $row_booking['bookingid']; ?>" />
                              <?php
							if ($button == "2")
							echo"<INPUT TYPE='image' SRC='../pictures/Checkoverview.JPG' HEIGHT='29' WIDTH='208' BORDER='0' ALT='Submit Form'>";
							elseif ($button =="1")
							echo"<INPUT TYPE='image' SRC='../pictures/addadditional.JPG' HEIGHT='37' WIDTH='236' BORDER='0' ALT='Submit Form'>";
							else
							echo "ERROR";
							?></td>
                        </tr>
                      </table>
                      <input type="hidden" name="MM_insert" value="form2">
                    </form>

Open in new window

Avatar of bookedy

ASKER

Sorry - i mean to stay you were right in the fact that i use a dynamic form but still not sure how to solve it.

Any ideas?

Thanks!
ASKER CERTIFIED SOLUTION
Avatar of Chris Stanyon
Chris Stanyon
Flag of United Kingdom of Great Britain and Northern Ireland image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of bookedy

ASKER

I actually worked out a completly different method by taking the total number of columns found and it's worked but thanks for your help!