2015-05-22 3 views
1

Привет, у меня есть проблема с проверкой формы на этой функции, она запускает false в PAGELOAD, что я сделал неправильно?Проверка подлинности в Codeigniter Запуск при загрузке страницы

  • я использую шаблон STENCIL
  • установить codeiginiter в подпапке после того, как WordPress сайта

    public function create()  { 
    
    $this->stencil->title('Tour'); 
    $this->stencil->layout('booktour_layout'); 
    $this->stencil->css('font-awesome'); 
    $this->stencil->paint('booktour_create'); 
    $this->load->helper('form'); 
    $this->load->library('form_validation'); 
    
    
    if($this->form_validation->run() === FALSE) 
    { 
    
        echo "<script>alert('error');</script>";  
    
    } 
    else 
    { 
    
        echo "<script>alert('success');</script>"; 
    
    }  
    } 
    

Когда я загрузить страницу этого эха скрипта на PageLoad не подавать форму

Любое хоть? Спасибо

ответ

0

введите ваш код в функцию isset, что означает, что он не будет работать без формы отправки. измените индекс с любым из нашего ввода имени

if(isset($_POST['index'])) { 

if($this->form_validation->run() === FALSE) 
{ 

    echo "<script>alert('error');</script>";  

} 
else 
{ 

    echo "<script>alert('success');</script>"; 

} 

} 
+0

Спасибо, что он работает! – Wolfcain

0

Сначала проверьте, является ли POST запрошенный с помощью if(isset($_POST)){<Your Validation Code;>} ИЛИ if(!empty($this->input->post())){<Your Validation Code;>}

Надежда это поможет вам в решении вашей проблемы

+0

Спасибо, действительно, работаю – Wolfcain

+0

м. Рад помочь вам в решении проблемы. Если вам нравится, то плз проголосовать за мой ответ. Спасибо –

0

Как я помню , результат по умолчанию для проверки равен false. И только когда значения проходят через правила, он устанавливает значение true. Поэтому, пока нет правил, вы получите ложь.

Позвольте мне объяснить подробнее. Напишите контроллер:

$this->load->library('form_validation'); 
if($this->form_validation->run() === FALSE) { echo "<script>alert('error');</script>"; } 
else { echo "<script>alert('success');</script>"; } 

и назовите его без запроса. Вы получите сообщение об ошибке. Это означает, что вы проверяете этот запрос и добавляете по крайней мере одно правило, прежде чем вызывать подтверждение.

+0

Да, но это должно быть эхо-ложь после нажатия отправить право? но он эхо на pageload, думаю, что это еще один контроллер, который работает с одним и тем же кодом. -0- – Wolfcain

+0

@ Wolfcain я расширил свой ответ – splash58

+0

поблагодарить человека, я попробую это – Wolfcain

Смежные вопросы