FUDforum
Fast Uncompromising Discussions. FUDforum will get your users talking.

Home » Imported messages » comp.lang.php » How to create a user friendly URL with parameters?
Show: Today's Messages :: Polls :: Message Navigator
Switch to threaded view of this topic Create a new topic Submit Reply
How to create a user friendly URL with parameters? [message #182536] Sun, 11 August 2013 20:09 Go to next message
carapooz is currently offline  carapooz
Messages: 1
Registered: August 2013
Karma: 0
Junior Member
Hello,
I have a search form using a POST method (not a GET one!).
After recieving the request I would like to have my page (the same page) be reloaded on the server with user friendly url in the browser address box.
http://exemple.com/spage.php?id=12&ci=13

I did it like this:

....

page = 'spage.php?id=' . $received['sloc'] . '&ci=' .$received['sdef'];

if($redirect == 1){
header('Location: ' . $page);
exit();
}
....

And it works on my local computer but it does not work on Godaddy server.
How it can be done? And wthat is the best way to make a transfer from POST to GET?

Thank you.
A+
Re: How to create a user friendly URL with parameters? [message #182537 is a reply to message #182536] Sun, 11 August 2013 20:50 Go to previous messageGo to next message
Jerry Stuckle is currently offline  Jerry Stuckle
Messages: 2598
Registered: September 2010
Karma: 0
Senior Member
On 8/11/2013 4:09 PM, carapooz(at)gmail(dot)com wrote:
> Hello,
> I have a search form using a POST method (not a GET one!).
> After recieving the request I would like to have my page (the same page) be reloaded on the server with user friendly url in the browser address box.
> http://exemple.com/spage.php?id=12&ci=13
>

So why not use the GET method for your form and save yourself the trouble?

> I did it like this:
>
> ...
>
> page = 'spage.php?id=' . $received['sloc'] . '&ci=' .$received['sdef'];
>
> if($redirect == 1){
> header('Location: ' . $page);
> exit();
> }
> ...
>
> And it works on my local computer but it does not work on Godaddy server.
> How it can be done? And wthat is the best way to make a transfer from POST to GET?
>
> Thank you.
> A+
>

You didn't give the entire code, so first of all we don't know what
$redirect contains.

But the most common problem with this type of code is the headers
already being sent. This will be done by ANYTHING (even white space)
being sent before the header() call. For instance, is GoDaddy inserting
something ahead of your code? Or do you have ANYTHING which will send
output before your header call (even a blank line at the start of the
file will do this).

If you still can't find your problem, immediately after the <?php in
your file, add:

error_reporting(E_ALL);
ini_set('display_errors', '1');

What message(s) is(are) displayed?

Note: Don't leave this code in on a production system.

--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstucklex(at)attglobal(dot)net
==================
Re: How to create a user friendly URL with parameters? [message #182538 is a reply to message #182537] Sun, 11 August 2013 21:40 Go to previous messageGo to next message
Robert Heller is currently offline  Robert Heller
Messages: 60
Registered: December 2010
Karma: 0
Member
At Sun, 11 Aug 2013 16:50:38 -0400 Jerry Stuckle <jstucklex(at)attglobal(dot)net> wrote:

>
> On 8/11/2013 4:09 PM, carapooz(at)gmail(dot)com wrote:
>> Hello,
>> I have a search form using a POST method (not a GET one!).
>> After recieving the request I would like to have my page (the same page) be reloaded on the server with user friendly url in the browser address box.
>> http://exemple.com/spage.php?id=12&ci=13
>>
>
> So why not use the GET method for your form and save yourself the trouble?

Also: it is possible to use $_REQUEST[] as a replacement for *both* $_GET[]
and $_POST[]. Thus the form can be POSTed, but the search page can be accessed
with a URL (eg GET method). If you do this, be sure to validate and check for
spoofed URLs.

>
>> I did it like this:
>>
>> ...
>>
>> page = 'spage.php?id=' . $received['sloc'] . '&ci=' .$received['sdef'];
>>
>> if($redirect == 1){
>> header('Location: ' . $page);
>> exit();
>> }
>> ...
>>
>> And it works on my local computer but it does not work on Godaddy server.
>> How it can be done? And wthat is the best way to make a transfer from POST to GET?
>>
>> Thank you.
>> A+
>>
>
> You didn't give the entire code, so first of all we don't know what
> $redirect contains.
>
> But the most common problem with this type of code is the headers
> already being sent. This will be done by ANYTHING (even white space)
> being sent before the header() call. For instance, is GoDaddy inserting
> something ahead of your code? Or do you have ANYTHING which will send
> output before your header call (even a blank line at the start of the
> file will do this).
>
> If you still can't find your problem, immediately after the <?php in
> your file, add:
>
> error_reporting(E_ALL);
> ini_set('display_errors', '1');
>
> What message(s) is(are) displayed?
>
> Note: Don't leave this code in on a production system.
>

--
Robert Heller -- 978-544-6933 / heller(at)deepsoft(dot)com
Deepwoods Software -- http://www.deepsoft.com/
() ascii ribbon campaign -- against html e-mail
/\ www.asciiribbon.org -- against proprietary attachments
Re: How to create a user friendly URL with parameters? [message #182539 is a reply to message #182538] Sun, 11 August 2013 23:10 Go to previous messageGo to next message
Scott Johnson is currently offline  Scott Johnson
Messages: 196
Registered: January 2012
Karma: 0
Senior Member
On 8/11/2013 2:40 PM, Robert Heller wrote:
> At Sun, 11 Aug 2013 16:50:38 -0400 Jerry Stuckle <jstucklex(at)attglobal(dot)net> wrote:
>
>>
>> On 8/11/2013 4:09 PM, carapooz(at)gmail(dot)com wrote:
>>> Hello,
>>> I have a search form using a POST method (not a GET one!).
>>> After recieving the request I would like to have my page (the same page) be reloaded on the server with user friendly url in the browser address box.
>>> http://exemple.com/spage.php?id=12&ci=13
>>>
>>
>> So why not use the GET method for your form and save yourself the trouble?
>
> Also: it is possible to use $_REQUEST[] as a replacement for *both* $_GET[]
> and $_POST[]. Thus the form can be POSTed, but the search page can be accessed
> with a URL (eg GET method). If you do this, be sure to validate and check for
> spoofed URLs.
>
>>
>>> I did it like this:
>>>
>>> ...
>>>
>>> page = 'spage.php?id=' . $received['sloc'] . '&ci=' .$received['sdef'];
>>>
>>> if($redirect == 1){
>>> header('Location: ' . $page);
>>> exit();
>>> }
>>> ...
>>>
>>> And it works on my local computer but it does not work on Godaddy server.
>>> How it can be done? And wthat is the best way to make a transfer from POST to GET?
>>>
>>> Thank you.
>>> A+
>>>
>>
>> You didn't give the entire code, so first of all we don't know what
>> $redirect contains.
>>
>> But the most common problem with this type of code is the headers
>> already being sent. This will be done by ANYTHING (even white space)
>> being sent before the header() call. For instance, is GoDaddy inserting
>> something ahead of your code? Or do you have ANYTHING which will send
>> output before your header call (even a blank line at the start of the
>> file will do this).
>>
>> If you still can't find your problem, immediately after the <?php in
>> your file, add:
>>
>> error_reporting(E_ALL);
>> ini_set('display_errors', '1');
>>
>> What message(s) is(are) displayed?
>>
>> Note: Don't leave this code in on a production system.
>>
>

I would also add what Robert touched on but needs to be driven home.

Do not use $_REQUEST UNLESS.....you have some trustworthy validation
checks that you would trust all your bank account information to.

The request superglobal also contains $_COOKIES, which from my last
recollection are loaded last and can overwrite your gets and posts which
can really spoil your day.

I personally don't use it period.

Scotty
Re: How to create a user friendly URL with parameters? [message #182540 is a reply to message #182539] Mon, 12 August 2013 01:06 Go to previous message
Jerry Stuckle is currently offline  Jerry Stuckle
Messages: 2598
Registered: September 2010
Karma: 0
Senior Member
On 8/11/2013 7:10 PM, Scott Johnson wrote:
> On 8/11/2013 2:40 PM, Robert Heller wrote:
>> At Sun, 11 Aug 2013 16:50:38 -0400 Jerry Stuckle
>> <jstucklex(at)attglobal(dot)net> wrote:
>>
>>>
>>> On 8/11/2013 4:09 PM, carapooz(at)gmail(dot)com wrote:
>>>> Hello,
>>>> I have a search form using a POST method (not a GET one!).
>>>> After recieving the request I would like to have my page (the same
>>>> page) be reloaded on the server with user friendly url in the
>>>> browser address box.
>>>> http://exemple.com/spage.php?id=12&ci=13
>>>>
>>>
>>> So why not use the GET method for your form and save yourself the
>>> trouble?
>>
>> Also: it is possible to use $_REQUEST[] as a replacement for *both*
>> $_GET[]
>> and $_POST[]. Thus the form can be POSTed, but the search page can be
>> accessed
>> with a URL (eg GET method). If you do this, be sure to validate and
>> check for
>> spoofed URLs.
>>
>>>
>>>> I did it like this:
>>>>
>>>> ...
>>>>
>>>> page = 'spage.php?id=' . $received['sloc'] . '&ci=' .$received['sdef'];
>>>>
>>>> if($redirect == 1){
>>>> header('Location: ' . $page);
>>>> exit();
>>>> }
>>>> ...
>>>>
>>>> And it works on my local computer but it does not work on Godaddy
>>>> server.
>>>> How it can be done? And wthat is the best way to make a transfer
>>>> from POST to GET?
>>>>
>>>> Thank you.
>>>> A+
>>>>
>>>
>>> You didn't give the entire code, so first of all we don't know what
>>> $redirect contains.
>>>
>>> But the most common problem with this type of code is the headers
>>> already being sent. This will be done by ANYTHING (even white space)
>>> being sent before the header() call. For instance, is GoDaddy inserting
>>> something ahead of your code? Or do you have ANYTHING which will send
>>> output before your header call (even a blank line at the start of the
>>> file will do this).
>>>
>>> If you still can't find your problem, immediately after the <?php in
>>> your file, add:
>>>
>>> error_reporting(E_ALL);
>>> ini_set('display_errors', '1');
>>>
>>> What message(s) is(are) displayed?
>>>
>>> Note: Don't leave this code in on a production system.
>>>
>>
>
> I would also add what Robert touched on but needs to be driven home.
>
> Do not use $_REQUEST UNLESS.....you have some trustworthy validation
> checks that you would trust all your bank account information to.
>
> The request superglobal also contains $_COOKIES, which from my last
> recollection are loaded last and can overwrite your gets and posts which
> can really spoil your day.
>
> I personally don't use it period.
>
> Scotty
>
>

Ditto here, Scott. I find it much better to use the appropriate
superglobal ($_GET, $_POST or $_COOKIE) to ensure the value is coming
from where it is supposed to.

Additionally, what happens if you're expecting a value for 'xyz' in the
$_GET or $_POST array, and at some point change other code to set a
cookie named 'xyz'? It can cause all kinds of weird, hard to find problems.

$_REQUEST, IMHO, is just a bug waiting to occur.

--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstucklex(at)attglobal(dot)net
==================
  Switch to threaded view of this topic Create a new topic Submit Reply
Previous Topic: Please evaluate my cache-control & pragma etc. code
Next Topic: Re: Sexy CATHERINE ZETA JONES Sex Scandals
Goto Forum:
  

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ]

Current Time: Wed Dec 18 01:40:44 GMT 2024

Total time taken to generate the page: 0.04140 seconds