downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | conferences | my php.net

search for in the

output_reset_rewrite_vars> <ob_start
[edit] Last updated: Fri, 26 Apr 2013

view this page in

output_add_rewrite_var

(PHP 4 >= 4.3.0, PHP 5)

output_add_rewrite_varAdd URL rewriter values

Description

bool output_add_rewrite_var ( string $name , string $value )

This function adds another name/value pair to the URL rewrite mechanism. The name and value will be added to URLs (as GET parameter) and forms (as hidden input fields) the same way as the session ID when transparent URL rewriting is enabled with session.use_trans_sid. Please note that absolute URLs (http://example.com/..) aren't rewritten.

This function's behavior is controlled by the url_rewriter.tags php.ini parameter.

Note: Calling this function will implicitly start output buffering if it is not active already.

Parameters

name

The variable name.

value

The variable value.

Return Values

Returns TRUE on success or FALSE on failure.

Examples

Example #1 output_add_rewrite_var() example

<?php
output_add_rewrite_var
('var''value');

// some links
echo '<a href="file.php">link</a>
<a href="http://example.com">link2</a>'
;

// a form
echo '<form action="script.php" method="post">
<input type="text" name="var2" />
</form>'
;

print_r(ob_list_handlers());
?>

The above example will output:

<a href="file.php?var=value">link</a>
<a href="http://example.com">link2</a>

<form action="script.php" method="post">
<input type="hidden" name="var" value="value" />
<input type="text" name="var2" />
</form>

Array
(
    [0] => URL-Rewriter
)

See Also



output_reset_rewrite_vars> <ob_start
[edit] Last updated: Fri, 26 Apr 2013
 
add a note add a note User Contributed Notes output_add_rewrite_var - [4 notes]
up
1
Bruce
5 years ago
Just to clarify...

session.use_trans_sid does NOT need to be enabled in order for output_add_rewrite_var() to work.
up
0
Anonymous
4 years ago
For a completely valid XHTML document you have to set the arg_separator, use this before you use output-add-rewrite-var:

<?php
ini_set
('arg_separator.input', '&');
ini_set('arg_separator.output', '&');
?>
up
0
neo at nowhere dot com
5 years ago
As a small side note, when there are values in the output_add_rewrite_var() function, these values are applied to all dynamic addresses (with in the limits posted above), including addresses that already have that variable set.

Example:

<?
output_add_rewrite_var("page", "admin");
echo '<a href="?a=signup&page=home">Signup</a>';
?>

The above will output the following:

<a href="?a=signup&page=home&page=admin">Signup</a>

However, this is easy to get around, using output buffering inside of output buffering. Because in my case, I couldn't remove the rewrite variable, as I have no idea if the next address would need it or not.
up
0
Niko
5 years ago
This function also adds a parameter to <input type="image"> fields!

Example:
This code:

<?
output_add_rewrite_var ('var','value');
echo '<form action="" method="post">
        <input type="image" src="image.jpg" alt="go">
        </form>';
?>

will output something like this:

<form action="" method="post">
        <input type="hidden" name="var" value="value">
        <input type="image" src="image.jpg?var=value" alt="go">
        </form>

 
show source | credits | stats | sitemap | contact | advertising | mirror sites