{{smarty.server.PHP_SELF}?action = bulkdomain`在smarty模板中是什么意思?

时间:2018-07-20 03:18:09

标签: php smarty

我正在阅读一个聪明的项目代码,其中有一个.tpl文件,并且其中有一个表单,其动作为{$smarty.server.PHP_SELF}?action=bulkdomain

<form method="post" action="{$smarty.server.PHP_SELF}?action=bulkdomain">
...

这是什么意思?

这是否意味着将此请求提交到.tpl的相应.php文件中? 但是.php文件的功能怎么样?因为php代码是封闭源代码,所以我无法获取它。


EDIT-01

我的意思是,在模板中,使用action="{$smarty.server.PHP_SELF}?action=bulkdomain"分配请求方法。

请求方法应该在模板对应的php文件中如何?

应该这样吗?

<?php

function bulkdomain($params)
{
    ...
}

EDIT-02

在当前运行的php文件中:

<?php

require($_SERVER['DOCUMENT_ROOT'] . '/smartyHeader.php');
$smarty->registerPlugin('block' ,'hsp', 'test1');

$smarty->assign('foo', 'Foo');

$smarty->display('php/test.tpl');

如果提交数据,我是否会像这样在php文件中编写代码?

<?php

require($_SERVER['DOCUMENT_ROOT'] . '/smartyHeader.php');
$smarty->registerPlugin('block' ,'hsp', 'test1');

$smarty->assign('foo', 'Foo');

$smarty->display('php/test.tpl');

// accept the code
$action =$_GET['action']

我是否接受像上写代码这样的动作?

1 个答案:

答案 0 :(得分:0)

$smarty.server.PHP_SELF$_SERVER['PHP_SELF']变量相同-表示当前正在运行的PHP文件的名称。

如果要处理具有action="{$smarty.server.PHP_SELF}?action=bulkdomain"的表单,则只需检查是否存在具有键“ action”和值“ bulkdomain”的全局$_GET变量,例如:

if(isset($_GET['action']) && $_GET['action']=='bulkdomain') {
    // do smt
}