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.
output_add_rewrite_var
(PHP 4 >= 4.3.0, PHP 5)
output_add_rewrite_var — Agregar valores de re-escritura de URL
Descripción
Esta función agrega otra pareja nombre/valor al mecanismo de re-escritura de URLs. El nombre y el valor serán agregados a las URLs (como parámetros GET) y formularios (como campos de entrada escondidos) de la misma forma que los ID de sesión cuando la reescritura de URLs transparente está habilitada con session.use_trans_sid. Por favor note que las URLs absolutas (http://example.com/..) no son re-escritas.
El comportamiento de esta función es controlado por el parámetro php.ini url_rewriter.tags.
Note: Al llamar esta función se iniciará implícitamente el uso de búferes de salida si el mecanismo no está activo aun.
Lista de parámetros
- nombre
-
El nombre de la variable.
- valor
-
El valor de la variable.
Valores retornados
Devuelve TRUE si todo se llevó a cabo correctamente, FALSE en caso de fallo.
Ejemplos
Example #1 Ejemplo de output_add_rewrite_var()
<?php
output_add_rewrite_var('var', 'valor');
// algunos enlaces
echo '<a href="archivo.php">enlace</a>
<a href="http://example.com">enlace2</a>';
// un formulario
echo '<form action="script.php" method="post">
<input type="text" name="var2" />
</form>';
print_r(ob_list_handlers());
?>
El resultado del ejemplo seria:
<a href="archivo.php?var=valor">enlace</a> <a href="http://example.com">enlace2</a> <form action="script.php" method="post"> <input type="hidden" name="var" value="value" /> <input type="text" name="var2" /> </form> Array ( [0] => URL-Rewriter )
output_add_rewrite_var
26-Mar-2008 03:51
24-Feb-2008 06:58
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>
06-Sep-2007 11:54
Just to clarify...
session.use_trans_sid does NOT need to be enabled in order for output_add_rewrite_var() to work.
