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', '&');
?>
(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)
output_add_rewrite_var — Setzt URL-Rewrite-Variablen
$name
, string $value
): boolDiese Funktion fügt ein Name/Wert-Paar zum URL Rewrite Mechanismus hinzu. Name und Wert werden in der gleichen Art wie die Session-ID als GET-Parameter zu URLs und als versteckte Felder zu Formularen hinzugefügt wenn das transparente URL-Rewriting mit session.use_trans_sid aktiviert ist.
Diese Funktion wird auch über die php.ini Parameter url_rewriter.tags und url_rewriter.hosts gesteuert.
Es ist zu beachten, dass diese Funktion höchstens einmal pro Request erfolgreich aufgerufen werden kann.
Hinweis: Ein Aufruf dieser Funktion aktiviert automatisch die Ausgabepufferung, falls sie nicht schon aktiv ist.
name
Der Variablenname.
value
Der Variablenwert.
Gibt bei Erfolg true
zurück. Bei einem Fehler wird false
zurückgegeben.
Version | Beschreibung |
---|---|
7.1.0 | Vor PHP 7.1.0 verwendeten Rewrite-Variablen, die durch output_add_rewrite_var() gesetzt wurden, den trans sid Ausgabepuffer des Session-Moduls. Seit PHP 7.1.0 wird ein eigener Ausgabepuffer verwendet; url_rewriter.tags wird nur noch für die Ausgabefunktionen berücksichtigt. url_rewriter.hosts wurde hinzugefügt. |
Beispiel #1 output_add_rewrite_var() Beispiel
<?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());
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
<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 )
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', '&');
?>
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>