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 — Ajoute une règle de réécriture d'URL
Description
Cette fonction ajoute une nouvelle paire nom/valeur au mécanisme de réécriture d'URL. Le nom et la valeur sera ajouté aux URL (en tant que paramètre GET) et aux formulaires (en tant que champs cachés) de la même façon que pour les identifiants de session lorsque la réécriture d'URL est activée avec session.use_trans_sid. Notez que les URL absolues, telles http://example.com/, ne sont pas réécrites.
Ce comportement est contrôlé par l'option url_rewriter.tags du php.ini.
Note: L'appel à cette fonction démarre implicitement la tamporisation de sortie si elle n'est pas déjà activée.
Liste de paramètres
- name
-
Le nom de la variable.
- value
-
La valeur de la variable.
Valeurs de retour
Cette fonction retourne TRUE en cas de succès, FALSE en cas d'échec.
Exemples
Exemple #1 Exemple avec output_add_rewrite_var()
<?php
output_add_rewrite_var('var', 'value');
// Quelques liens
echo '<a href="file.php">link</a>
<a href="http://example.com">link2</a>';
// un formulaire
echo '<form action="script.php" method="post">
<input type="text" name="var2" />
</form>';
print_r(ob_list_handlers());
?>
L'exemple ci-dessus va afficher :
<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 )
output_add_rewrite_var
26-Mar-2008 07:51
24-Feb-2008 10: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 04:54
Just to clarify...
session.use_trans_sid does NOT need to be enabled in order for output_add_rewrite_var() to work.
