Given this link:
localhost/abc/review?coupon=bskgnlsdgkj
How do I get the coupon value inside view?
I tried $_GET['coupon], but it didn't work.
You can use $this->input->get('coupon'); to get the value of url parameter.
But, I suggest you to get the parameter value with $this->input->get('coupon',TRUE); to applying XSS Security directly.
For information can be found on this link.
Related
I am trying to share the following link:
https://www.facebook.com/sharer/sharer.php?u=http://www.example.com/test.php/?user=abc&serial=43215
The sharing is ok.But when I am opening the link from facebook, It is not showing the correct link.
Showing like the following link:
http://www.example.com/test.php/?user=abc
and removed these part from the shared link : &serial=43215 .
How can I get the original link like http://www.example.com/test.php/?user=abc&serial=43215?
You can use Facebook Debugger to check your URL and be sure of what is wrong. You should ensure you are setting the correct og tags which are included in your page's header tag. Verify these then you'll be good to go.
Since you are putting one URL as a parameter value into another URL, you must of course properly URL-encode that first URL.
The way you are doing it right now, you are passing two parameters to sharer.php – parameter u with value http://www.example.com/test.php/?user=abc and parameter serial with value 43215.
Since your question includes the tag php, you can simply use urlencode for this:
$shareUrl = 'https://www.facebook.com/sharer/sharer.php?u=' .
urlencode('http://www.example.com/test.php/?user=abc&serial=43215');
I have a URL like:
http://www.example.com/page.php#tabname
The hash will automatically open a specific tab on the page.
I need to work with a _GET variable, and the URL is like:
http://www.example.com/page.php#tabname?color=red
Then on the page, I have:
echo $_GET['red'];
...but I am getting an undefined index error. How do I get PHP to recognize the variable?
Anything after the hash is not sent to the server. Regardless, you should probably format your url so you send the GET parameters correctly.
http://www.example.com/page.php#tabname?color=red
should be
http://www.example.com/page.php?color=red#tabname
You need to put the query string before the hash:
http://www.example.com/page.php?color=red#tabname
I am working on admin panel in yii and want to update record so when so i want to send record id on href click so url become
http://localhost/firstapp/backend/vehicle/edit/1
but its not working it gives error as "Unable to resolve the request "backend/vehicle"." I am trying this from long time please help
You can pass variable by get method, like "/site/index?asd=xyz&pqr=qwe" and this can be access by $_GET.
If you want to pass variable in codeigniter style, i.e. by using '/', You can use name parameter in url manager. You can get more info here : http://www.yiiframework.com/doc/guide/1.1/en/topics.url#using-named-parameters
You should provide more information about your question for better help.
However, suppose you have www.example.com/controller/action url. if you want to pass some variable to action, first you need to define a rule in url manager in config/main.php like this:
"controller/action/<variable1>/<variable2>"=>"controller/action"
Now if the url was "controller/action/test1/test2", in your action the value of $_GET['variable1'] will equal to "test1" and $_GET['variable12'] will equal to "test2" .
Note that user-defined url manager rules must be BEFORE the yii default url manager rules.
I have a listing with some filters which are applied on form submit, using GET as form method. So after submit, I get a url that looks like:
/listing?filter_1=a&filter_2=&filter_3=c
Notice that filter_2 is empty. How can I avoid showing it in the URL in this case? I would only need the URL to be like this:
/listing?filter_1=a&filter_3=c
I would not mess with $_GET and I wonder what is the right way to do it with Laravel 4.
Thank you
During making of url, you need to check the value of variables whether it has empty or null or have some value. Then add those varibale into the url, so that your url will be clean.
to achive this you will be required to use Laravel - pretty URls functionality and make some changes in Route::get function to remove empty parameters while construction url.
I am using codeigniter for my project. To get the uri segments I know I can use
$this->uri->segment();
but my case is a bit different
My url looks like
localhost/mediabox/home/box/21
but once I go to this url a popup form apears in which the user provide a key to access this page and I validate the key using ajax method which is inside my home controller validate_key function
when I echo the url it gives me localhost/home/validate_key
while calling valiate_key of the home controller how can I get the 21 from the url wrritten in the url bar?
Any ideas?
Thanks
The problem:
It's not a bug, it's a natural behavior.
Consider the following:
you request the validate_key function from the server by typing the URL in your address bar. current_url() returns localhost/blabla/validate_key. No AJAX involved.
requesting validate_key with AJAX. The same PHP code will be executed.
the current_url() will change to localhost/blabla/validate_key
even though your browser's address bar is showing localhost/blabla/box/21.
So, what does this means? It means the Codeigniter base_url() doesn't care about your address bar, it cares about the function it is in, whether it was called via ajax or normal request.
so as long this function is being executed, the URL is pointing to it.
The solution:
My favorite solution to such a case, is to simply create a hidden input.
Simply, when a user requests the box function. you're showing him a popup form. so add a hidden_input field, give it a name and a value of 21(depends).
For example(you should tailor this to your specific needs):
Add this to your form in the view that get displayed by the box function:
form_hidden("number", $this->uri->segment(3));;
Now these data will be sent to your validate_key function. How do we access it? It's simple!
function validate_key(){
$this->input->post("number");//returns 21 or whatever in the URL.
//OR if the form sends GET request
$this->input->get("number");//return 21 or whatever in the URL.
/*
*Or , you can do the following it's considered much safer when you're ONLY
*expecting numbers, since this function(intval) will get the integer value of
*the uri segment which might be a destructive string, so if it's a string
*this function will simply return 0.
*/
$number = intval($this->input->post("number"));//returns 21 or whatever in the URL.
//Or if it it GET request:
$number = intval($this->input->get("number"));//returns 21 or whatever in the URL.
}
It looks like you've used .htaccess to remove the index.php part of the url. So, when you navigate to localhost/mediabox/home/box/21 you're passing the value 21 to the function named box in the controller named home
If you want to keep that value within the validate_key function, just pass it through when calling it:
function box($param)
{
//$param = 21
$this->validate_key($param);
}
Its better and suggetsed to use hidden field and post the value when it is needed.