output_add_rewrite_var

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

output_add_rewrite_varAjoute une règle de réécriture d'URL

Description

output_add_rewrite_var(string $name, string $value): bool

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.

Ce comportement est contrôlé par les options url_rewriter.tags et url_rewriter.hosts du php.ini.

Il est à noter que cette fonction ne peut être appellé avec succès au plus une fois par requête.

Note: L'appel à cette fonction démarre implicitement la temporisation 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 ou false si une erreur survient.

Historique

Version Description
7.1.0 Avant php 7.1.0, la réécriture des variables définis par output_add_rewrite_var() utilisez la même mémoire tampon de sortie du module de session trans sid. Depuis PHP 7.1.0, le tampon de sortie dédié est utilisé, url_rewriter.tags est utilisé uniquement pour les fonctions de sortie, ajout de url_rewriter.hosts.

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
)

Voir aussi

add a note add a note

User Contributed Notes 3 notes

up
1
Anonymous
15 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
1
Niko
16 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>
up
-3
Bruce
16 years ago
Just to clarify...

session.use_trans_sid does NOT need to be enabled in order for output_add_rewrite_var() to work.
To Top