user3703850
user3703850

Reputation: 27

About PHP form , redirection

Suppose my Form codes look like this

URL : localhost/my-url.php

<form action="hello.php">
...bla bla bla
</form>

I will process the data in hello.php and i want to redirect to user to same url after processing (according to above example)

localhost/my-url.php

I know we can use header but i don't know how to get that url from which form was submited :(

Googled but didn't found any use full.

Thanks.

Upvotes: 0

Views: 90

Answers (3)

Umair Hamid
Umair Hamid

Reputation: 3557

You should put a hidden field in your form and set its value to current page url.

Then you submit the form and get the value of hidden field.

Then you can redirect user to hidden field (which is actually a URL of the page where you are submitting form) by using javascript or php.

Upvotes: 3

colburton
colburton

Reputation: 4715

Add a hidden value in your form:

<input type="hidden" name="lastUrl" value="<?php echo $_SERVER['REQUEST_URI'] ?>" />

You now have the URL in $_POST['lastUrl'] data. You need to do it that complicated because $_SERVER["HTTP_REFERER"]; is send by the browser, and not all of them do this reliable.

Upvotes: 4

bear
bear

Reputation: 11605

You can use the

 $_SERVER["HTTP_REFERER"];

to get the original URL where the form was posted from.

Remember to escape it, if you use it however. ]

Alternatively, you can process the form using AJAX, send process things (redirection) client-side.

Note that form data can be changed and intercepted if you wish to send the URL of the page as form data.

Upvotes: 0

Related Questions