我正在阅读一个聪明的项目代码,其中有一个.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']
我是否接受像上写代码这样的动作?
答案 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
}