Php 用codeigniter重述一遍,我可以把它放在视图中。。但是可以';我无法验证它
我正在尝试使用代码点火器的recaptcha。我按照一些在线说明进行操作,最后只完成了一个步骤,就是将recaptcha传递给视图,但我无法验证用户输入 这是我的控制器:Php 用codeigniter重述一遍,我可以把它放在视图中。。但是可以';我无法验证它,php,codeigniter,recaptcha,Php,Codeigniter,Recaptcha,我正在尝试使用代码点火器的recaptcha。我按照一些在线说明进行操作,最后只完成了一个步骤,就是将recaptcha传递给视图,但我无法验证用户输入 这是我的控制器: function download_application() { //load the libraries $this->load->library('form_validation'); $this->load->library('recaptcha'); $this
function download_application()
{
//load the libraries
$this->load->library('form_validation');
$this->load->library('recaptcha');
$this->lang->load('recaptcha');
//common data
$data['title'] = $_POST['application_name'];
$data['header'] = $_POST['application_name'];
$data['sub_header'] = 'تحميل استمارة قبول المشروع';
$data['title'] = $_POST['application_name'];
$data['recaptcha'] = $this->recaptcha->get_html();
//form validation
$this->form_validation->set_error_delimiters('<span class="notification">', '</span>');
$this->form_validation->set_message('required', 'هذا الحقل مطلوب ولا يمكن تجاهله');
$this->form_validation->set_rules('name', 'لابد من ادخال اسمك بالكامل', 'required');
$this->form_validation->set_rules('email', 'لابد من ادخال بريدك الالكترونى', 'required|email');
$this->form_validation->set_rules('country', 'لابد من ادخال بلدك', 'required');
$this->form_validation->set_rules('phone', 'لابد من ادخال رقم تليفونك', 'required');
//form submitted
if($this->input->post('recaptchasubmit')){
if($this->form_validation->run() == FALSE)
{
$this->load->view('header', $data);
$this->load->view('download', $data);
$this->load->view('footer', $data);
}
else
{
$this->load->view('header', $data);
$this->load->view('download', $data);
$this->load->view('footer', $data);
}
}
else{
$this->load->view('header', $data);
$this->load->view('download', $data);
$this->load->view('footer', $data);
}
}
函数下载\u应用程序()
{
//加载库
$this->load->library('form_validation');
$this->load->library('recaptcha');
$this->lang->load('recaptcha');
//公共数据
$data['title']=$\u POST['application\u name'];
$data['header']=$\u POST['application\u name'];
$data['sub_header']=';
$data['title']=$\u POST['application\u name'];
$data['recaptcha']=$this->recaptcha->get_html();
//表单验证
$this->form_validation->set_error_分隔符(“”,);
$this->formu validation->setu message('必需','需要','需要','需要','需要');
$this->formu validation->setu rules(‘名称’、‘需要’);
$this->formu validation->setu rules(‘电子邮件’、‘电子邮件’、‘必要电子邮件’);
$this->formu validation->setu rules(‘国家’、‘需要’);
$this->formu validation->setu rules(‘电话’、‘电话’、‘必需’);
//提交的表格
如果($this->input->post('recaptchasubit')){
如果($this->form\u validation->run()==FALSE)
{
$this->load->view('header',$data);
$this->load->view('download',$data);
$this->load->view('footer',$data);
}
其他的
{
$this->load->view('header',$data);
$this->load->view('download',$data);
$this->load->view('footer',$data);
}
}
否则{
$this->load->view('header',$data);
$this->load->view('download',$data);
$this->load->view('footer',$data);
}
}
这是我的观点
<?php
$form_attributes = array(
'class' => 'form'
);
$btn_download = array(
'type' => 'image',
'src' => base_url().'images/download.gif',
'name' => 'recaptchasubmit',
'width' => '103',
'height' => '33',
'value' => 'تحميل'
);
$name = array(
'type' => 'text',
'name' => 'name',
'id' => 'name',
'value' => set_value('title')
);
$email = array(
'type' => 'text',
'name' => 'email',
'id' => 'email',
'value' => set_value('email')
);
$country = array(
'type' => 'text',
'name' => 'country',
'id' => 'country',
'value' => set_value('country')
);
$phone = array(
'type' => 'text',
'name' => 'phone',
'id' => 'phone',
'value' => set_value('phone')
);
?>
<?php echo form_open($base_url . 'arabia/download_application', $form_attributes); ?>
<fieldset>
<div class="input_container">
<label class="required">الاسم بالكامل</label>
<div class="input"><?php echo form_input($name); ?></div>
<?php echo form_error('name'); ?>
</div>
<div class="input_container">
<label class="required">البريد الالكترونى</label>
<div class="input"><?php echo form_input($email); ?></div>
<?php echo form_error('email'); ?>
</div>
<div class="input_container">
<label class="required">البلد</label>
<div class="input"><?php echo form_input($country); ?></div>
<?php echo form_error('country'); ?>
</div>
<div class="input_container">
<label class="required">التليفون</label>
<div class="input"><?php echo form_input($phone); ?></div>
<?php echo form_error('phone'); ?>
</div>
<?php echo $recaptcha; ?>
<?php echo form_error('recaptcha_response_field'); ?>
<?php echo form_hidden('application_name', $title); ?>
<?php echo form_hidden('generated_id', $title); ?>
</fieldset>
<span class="download"><?php echo form_submit($btn_download);?></span>
<?php echo form_close();?>
الاسم بالكامل
البريد الالكترونى
البلد
التليفون
无法验证用户输入是什么意思?提交表单时发生了什么?你在哪里重定向?你看到了什么
到目前为止,我从你的问题中唯一能看到的是你正在通过
$data['recaptcha'] = $this->recaptcha->get_html();
无论验证是否通过,您都会看到recaptcha字母/数字框。如果验证传递到以下内容,则需要覆盖该内容:
$data['recaptcha'] = "validation passed";
旁注:如果您使用的是公共视图和公共数据,为什么要在每个条件中重复它们?只要把它们放在外面,代码就会变得更可读。还有,为什么要混合使用$u POST和$this->input->POST()?你是对的,这是因为我只是在这里写了一段代码。。。当我处理这张表格时,我现在把它修好了