我有这段代码显示带有firstname
和lastname
等输入的引导程序表单...如果文件中存在check(ajax)
,我想要Subdomain
叫\example\sites
:
$form = array() ;
$form['name'] = "install";
$form['action'] = "?step=2";
$form['method'] = "post";
$form['items'] = array (
array ("type"=>"hidden", "name"=>"action", "value"=>"insert"),
array ("type"=>"textbox", "label"=>"Title of the site", "name"=>"title",
"properties"=>array(
"class"=>"url col-md-6",
"required"=>true ,
)
),
array ("type"=>"textbox", "label"=>"First name", "name"=>"first_name",
"properties"=>array(
"class"=>"url col-md-6",
"required"=>true ,
)
),
array ("type"=>"textbox", "label"=>"Last name", "name"=>"last_name",
"properties"=>array(
"class"=>"url col-md-6",
"required"=>true ,
)
),
array ("type"=>"textbox", "label"=>"Email", "name"=>"email",
"properties"=>array(
"class"=>"url col-md-6",
"required"=>true ,
)
),
array ("type"=>"textbox", "label"=>"Subdoamine", "name"=>"url", //<--- Subdomain
"properties"=>array(
"placeholder" => "",
"class"=>"col-md-6",
"shortdesc"=>"URL complète : http://www.domaine.example.com/",
"required"=>true,
)
),
) ;
form_print($form) ;
有没有人对此有任何解决方案?
由于
答案 0 :(得分:1)
array ("type"=>"textbox", "label"=>"Subdoamine", "name"=>"url", //<--- Subdomain
"properties"=>array(
"placeholder" => "",
"class"=>"col-md-6 jsValidateSubdomain",
"shortdesc"=>"URL complète : http://www.domaine.example.com/",
"required"=>true,
)
),
)
为输入添加类,例如jsValidateSubdomain
。在现场处理所需的事件并验证这一点。
例如:
$(".jsValidateSubdomain").on("change", function() {
// validate
});
或使用jquery.validate
并为子域验证创建规则。
答案 1 :(得分:1)
要求代码的问题通常会非常快速地结束,因为问题应该是重点,描述错误或行为,其中人们可以给出准确的答案。
所以一个非常简单的尝试看起来像这样,搜索文件中的特定字符串,但请注意,这不包括像*.domain.com
这样的通配符配置:
// First validate $subdomain to prevent code injection!
if (stripos(
exec('grep "ServerName ' . $subdomain . '" /etc/httpd/example/sites'),
'ServerName ' . $subdomain) !== false) {
echo "subdomain found";
}
更好的方法可能是到&#34; ping&#34;通过HTTP请求的域到子域本身并检查http标头,或者保留一个在您的系统上配置的域的数据库表并进行简单的SQL查询。
祝你好运