?
Solved

How do I clear $_GET from my url?

Posted on 2010-09-05
7
Medium Priority
?
234 Views
Last Modified: 2012-05-10
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!
0
Comment
Question by:bookedy
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
7 Comments
 
LVL 43

Expert Comment

by:Chris Stanyon
ID: 33606780
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.


0
 
LVL 15

Expert Comment

by:gplana
ID: 33606803
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.
0
 
LVL 3

Expert Comment

by:grantunwin
ID: 33606809
Just completely remove the       action=""          section of your form tag.

The form wil then submit to the root file address without the query string.
0
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 

Author Comment

by:bookedy
ID: 33606821
@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

0
 

Author Comment

by:bookedy
ID: 33606826
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!
0
 
LVL 43

Accepted Solution

by:
Chris Stanyon earned 2000 total points
ID: 33606852
@bookedy

Looking through your code, your form is being sent using POST, although there also appears to be some GET data passed through as well.

In your code, line 59-61 sets the form action to include the Query string (the GET variables).

Remove lines 60 - 62 and see how you get on. If you need these values passing to the next page, then add them into your form as Hidden Inputs.

Not really sure I follow your program logic completely, so removing those lines may break something else.


0
 

Author Comment

by:bookedy
ID: 33606870
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!
0

Featured Post

New feature and membership benefit!

New feature! Upgrade and increase expert visibility of your issues with Priority Questions.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Is your Office 365 signature not working the way you want it to? Are signature updates taking up too much of your time? Let's run through the most common problems that an IT administrator can encounter when dealing with Office 365 email signatures.
Originally, this post was published on Monitis Blog, you can check it here . Websites are getting bigger and more complicated by the day. Video, images and custom fonts are all great for showcasing your product or service. But the price to pay in…
The viewer will the learn the benefit of plain text editors and code an HTML5 based template for use in further tutorials.
Learn how to create flexible layouts using relative units in CSS.  New relative units added in CSS3 include vw(viewports width), vh(viewports height), vmin(minimum of viewports height and width), and vmax (maximum of viewports height and width).
Suggested Courses

762 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question