XSLT 和 PHP:隐藏字段中的 $_REQUEST

XSLT and PHP: $_REQUEST in hidden field

我将 hidden 字段中的隐藏值发布到另一个表单,如下所示:

<xsl:element name="input">
        <xsl:attribute name="name">
            <xsl:value-of select="'server'"/>
        </xsl:attribute>
        <xsl:attribute name="type">
            <xsl:value-of select="'hidden'"/>
        </xsl:attribute>
        <xsl:attribute name="value">
            <xsl:value-of select="@server"/>
        </xsl:attribute>
</xsl:element>

但这只有在我可以像上面那样输入属性或元素的值时才有效。

如何通过 $_REQUEST['nq'] 等方式传递请求的值?

$_REQUEST['nq'] 来自 PHP 页面,此 XSLT 页面正在设置样式。

我试过这个:

<xsl:element name="input">
        <xsl:attribute name="type">
            <xsl:value-of select="'hidden'"/>
        <xsl:attribute name="name">
            <xsl:value-of select="'value'"/>
        </xsl:attribute>
        <xsl:attribute name="value">
            <xsl:value-of select="$nq"/>
        </xsl:attribute>
</xsl:element>

但是没用!

XSLT 是 运行,将其放在 PHP 页面的末尾:

$xslt = new XSLTProcessor();
$xslDoc = new DOMDocument();
$xslDoc>load('nginxSearchFull.xsl', LIBXML_NOCDATA);
$xslt>importStylesheet($xslDoc);
echo $xslt>transformtoXML($xmlDom1);

在您的 XSLT 代码中定义一个全局 <xsl:param name="nq"/>,然后您可以按照 Michael Kay 的建议使用 <input type="hidden" name="value" value="{$nq}"/>,如果您在 PHP 中设置 $xslt->setParameter('', 'nq', $_REQUEST['nq']);,则之前在 XSLTProcessor 上调用转换方法。