Solved

How do I clear $_GET from my url?

Posted on 2010-09-05
7
192 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 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
Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

 

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 500 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

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
Bootstap Icons 3 40
iframe detection of parent window scale 20 59
Set email body to html using vbscript 6 22
Alignment is not working correctly. 8 29
This article demonstrates how to create a simple responsive confirmation dialog with Ok and Cancel buttons using HTML, CSS, jQuery and Promises
Find out what you should include to make the best professional email signature for your organization.
In this tutorial viewers will learn how to embed an audio file in a webpage using HTML5. Ensure your DOCTYPE declaration is set to HTML5: : The declaration should display (CODE) HTML5 is supported by the most recent versions of all major browsers…
The viewer will learn how to create a basic form using some HTML5 and PHP for later processing. Set up your basic HTML file. Open your form tag and set the method and action attributes.: (CODE) Set up your first few inputs one for the name and …

943 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