Solved

How do I clear $_GET from my url?

Posted on 2010-09-05
7
181 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
7 Comments
 
LVL 42

Expert Comment

by:Chris Stanyon
Comment Utility
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
Comment Utility
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
Comment Utility
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
Do You Know the 4 Main Threat Actor Types?

Do you know the main threat actor types? Most attackers fall into one of four categories, each with their own favored tactics, techniques, and procedures.

 

Author Comment

by:bookedy
Comment Utility
@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
Comment Utility
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 42

Accepted Solution

by:
Chris Stanyon earned 500 total points
Comment Utility
@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
Comment Utility
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

Do You Know the 4 Main Threat Actor Types?

Do you know the main threat actor types? Most attackers fall into one of four categories, each with their own favored tactics, techniques, and procedures.

Join & Write a Comment

Things That Drive Us Nuts Have you noticed the use of the reCaptcha feature at EE and other web sites?  It wants you to read and retype something that looks like this.Insanity!  It's not EE's fault - that's just the way reCaptcha works.  But it is …
Use these top 10 tips to master the art of email signature design. Create an email signature design that will easily wow recipients, promote your brand and highlight your professionalism.
In this tutorial viewers will learn how to position overlapping items using z-index in CSS. They will also learn the restrictions on the z-index property.  Create a new HTML document with an internal stylesheet.: Create a div in CSS and name it Red.…
In this tutorial viewers will learn how to code links for mobile sites that, once clicked, send a call or text to a specified number. For a telephone link (once clicked, calls a number), begin with a normal "<a href=" link tag. For the href, specify…

771 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

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now